These scripts are used to start from the Factory Blank setup and create a setup with MIDI output as described in Pico MIDI
The scripts are attached as a zip archive with two text files that need to be moved to your 'Scripts' directory. For more information on using Belcanto Scripts in the Factory Setups please see Belcanto Scripts. It also contains the file 'Pico MIDI.els' which can be imported into Stage to create the tab with the controls.
To be able to run these scripts you need to first load the Blank Factory setup. Afterwards open both the EigenBrowser and EigenCommander and type the following in the command line of the commander: eigenbrowser , interpreter hey script browse
The EigenBrowser will now allow you to browse to the user scripts and execute them. It's very important to first execute 'Pico MIDI - part1', after which the Pico instrument will be automatically detected by EigenD. When that is done, the system will be ready to run 'Pico MIDI - part2'.
Download the archive with the files here: link:Pico MIDI From Scratch.zip
Below is the contents of both scripts:
description
Creates an Pico setup with one playing keygroup that just sends out MIDI
Run this script first and afterwards run the second part from the
other script.
script
empty join
# create the Pico manager that will detect the instrument
# give it enough time to detect the Pico before running the second
# part of the script
pico manager create
description
Creates an Pico setup with one playing keygroup that just sends out MIDI.
This script should be ran after the first part is finished.
script
empty join
# create the required agents
kgroup create
kgroup create
scaler create
scale manager create
midi converter create
midi output create
# now that the Pico keyboard should be detected in the meantime
# connect it up to the kgroup
pico keyboard 1 to kgroup 1 connect
# set up the playing keygroup
kgroup 1 listen
output 1 create
output 1 choose
# playing keys
k 1 add
k 2 add
k 3 add
k 4 add
k 10 add
k 11 add
k 12 add
k 13 add
k 5 add
k 6 add
k 7 add
k 8 add
k 14 add
k 15 add
k 16 add
k 17 add
# switches
k 19 add
k 20 add
k 21 add
k 22 add
empty join
# configure the scaler to play chromatic and
# set the pitch bend range two semitones
scaler 1 hey scale to chromatic set
scaler 1 hey k bend range to 2 set
# connect the agents together
kgroup 1 output 1 to scaler 1 connect
scaler 1 to midi converter 1 connect
midi converter 1 to midi output 1 connect
kgroup 1 output 1 roll output to scaler 1 k pitch bend input connect
# connect other data streams to parameters for expression
scaler 1 pressure output to midi converter 1 parameter 1 connect
scaler 1 roll output to midi converter 1 parameter 2 connect
scaler 1 yaw output to midi converter 1 parameter 3 connect
kgroup 1 output 1 breath output to midi converter 1 parameter 4 connect
kgroup 1 output 1 strip position output 1 to midi converter 1 parameter 5 connect
kgroup 1 output 1 absolute strip output 1 to midi converter 1 parameter 6 connect
scaler 1 pressure output to midi converter 1 parameter 16 connect
midi converter 1 parameter 1 to pressure name ify
midi converter 1 parameter 2 to roll name ify
midi converter 1 parameter 3 to yaw name ify
midi converter 1 parameter 4 to breath name ify
midi converter 1 parameter 5 to strip position 1 name ify
midi converter 1 parameter 6 to absolute strip 1 name ify
midi converter 1 parameter 16 to key position name ify
# connect the bottom two keys controls directly to midi converter parameters
pico keyboard 1 k 9 pressure output to midi converter 1 parameter 7 connect
pico keyboard 1 k 9 roll output to midi converter 1 parameter 8 connect
pico keyboard 1 k 9 yaw output to midi converter 1 parameter 9 connect
pico keyboard 1 k 18 pressure output to midi converter 1 parameter 10 connect
pico keyboard 1 k 18 roll output to midi converter 1 parameter 11 connect
pico keyboard 1 k 18 yaw output to midi converter 1 parameter 12 connect
midi converter 1 parameter 7 to controller pressure 1 name ify
midi converter 1 parameter 8 to controller roll 1 name ify
midi converter 1 parameter 9 to controller yaw 1 name ify
midi converter 1 parameter 10 to controller pressure 2 name ify
midi converter 1 parameter 11 to controller roll 2 name ify
midi converter 1 parameter 12 to controller yaw 2 name ify
midi converter 1 listen
# reduce the MIDI data bandwidth to prevent external hosts to be overwhelmed
minimum decimation to 10 set
# set up some mappings in the routing matrix
parameter 1 for polyphonic aftertouch map
parameter 3 for midi 1 map
parameter 4 for midi 2 map
parameter 5 for midi 16 map
parameter 7 for midi 17 map
parameter 8 for midi 18 map
parameter 9 for midi 19 map
parameter 10 for midi 80 map
parameter 11 for midi 81 map
parameter 12 for midi 82 map
# set the MIDI channel to 1
midi channel to 1 set
empty join
# create a talker to change tonics
talker create
it to tonic talker 1 name ify
kgroup 1 output 1 to tonic talker 1 connect
scaler 1 listen
kgroup 1 listen
tonic talker 1 listen
scaler 1 tonic when 17 down
scaler 1 tonic when 18 up
17 to 3 colour ify
18 to 3 colour ify
empty join
# create a talker to change octaves
talker create
it to octave talker 1 name ify
kgroup 1 output 1 to octave talker 1 connect
scaler 1 listen
kgroup 1 listen
octave talker 1 listen
scaler 1 octave when 19 down
scaler 1 octave when 20 up
19 to 3 colour ify
20 to 3 colour ify
empty join
# create a talker to change the scales
# it can then be connected up to widgets in Stage
talker create
it to scale talker 1 name ify
scaler 1 listen
scale talker 1 listen
interpreter listen
" scale talker 1 hey 1 to 1 from 2 colour ify " when 1 do
" scale talker 1 hey 2 to 1 from 2 colour ify " when 2 do
" scale talker 1 hey 3 to 1 from 2 colour ify " when 3 do
" scale talker 1 hey 4 to 1 from 2 colour ify " when 4 do
" scale talker 1 hey 5 to 1 from 2 colour ify " when 5 do
" scale talker 1 hey 6 to 1 from 2 colour ify " when 6 do
" scale talker 1 hey 7 to 1 from 2 colour ify " when 7 do
" scale talker 1 hey 8 to 1 from 2 colour ify " when 8 do
scaler 1 scale to major when 1 set
scaler 1 scale to harmonic minor when 2 set
scaler 1 scale to melodic minor when 3 set
scaler 1 scale to chromatic when 4 set
scaler 1 scale to blues when 5 set
scaler 1 scale to pentatonic major when 6 set
scaler 1 scale to diminished when 7 set
scaler 1 scale to whole tone when 8 set
1 to 2 colour ify
2 to 2 colour ify
3 to 2 colour ify
4 to 1 colour ify
5 to 2 colour ify
6 to 2 colour ify
7 to 2 colour ify
8 to 2 colour ify
empty join
# setup a keygroup to colour the MIDI controller keys
pico keyboard 1 to kgroup 2 connect
# set up the controller keygroup
kgroup 2 listen
output 1 create
output 1 choose
k 9 add
k 18 add
empty join
# create a talker to color the controller keys
talker create
it to controller talker 1 name ify
kgroup 2 output 1 to controller talker 1 connect
kgroup 2 listen
controller talker 1 listen
interpreter listen
" " when 1 silent do
" " when 2 silent do
1 to 1 colour ify
2 to 1 colour ify
empty join
# create talker to browse MIDI output port
talker create
it to midi talker 1 name ify
midi talker 1 listen
interpreter listen
" eigenbrowser , midi output 1 hey midi port browse " when 1 do
empty join