These scripts are used to start from an existing Eigenharp Alpha or Tau 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 Additive.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 Alpha or Tau setup to which you want to add support for Pico MIDI.
Afterwards open both the EigenBrowser and EigenCommander and type the following in the command line of the commander: eigenbrowser , interpreter hey script browse
Alternatively you can use the script browse key on the Alpha and Tau, as indicated in the quick reference guide.
The EigenBrowser will now allow you to browse to the user scripts and execute them. It's very important to first execute 'Pico MIDI Additive - 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 Additive - part2'.
Download the archive with the files here: link:Pico MIDI Additive.zip
Below is the contents of both scripts:
description
Adds Pico support with one playing keygroup that just sends out MIDI
to an existing Eigenharp Alpha or Tau setup. This should be ran after
the setup that needs to be modified has finished loading.
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
Adds Pico support with one playing keygroup that just sends out MIDI
to an existing Eigenharp Alpha or Tau setup. This should be ran after
the setup that needs to be modified has finished loading.
This script should be ran after the first part is finished.
script
empty join
# create the required agents
kgroup create
it to pico kgroup 1 name ify
kgroup create
it to pico kgroup 2 name ify
scaler create
it to pico scaler 1 name ify
midi converter create
it to pico midi converter 1 name ify
midi output create
it to pico midi output 1 name ify
# we're not create a scale manager since an existing setup should already have it
# now that the Pico keyboard should be detected in the meantime
# connect it up to the kgroup
pico keyboard 1 to pico kgroup 1 connect
# set up the playing keygroup
pico 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
pico scaler 1 hey scale to major set
pico scaler 1 hey k bend range to 2 set
# connect the agents together
pico kgroup 1 output 1 to pico scaler 1 connect
pico scaler 1 to pico midi converter 1 connect
pico midi converter 1 to pico midi output 1 connect
pico kgroup 1 output 1 roll output to pico scaler 1 k pitch bend input connect
# connect other data streams to parameters for expression
pico scaler 1 pressure output to pico midi converter 1 parameter 1 connect
pico scaler 1 roll output to pico midi converter 1 parameter 2 connect
pico scaler 1 yaw output to pico midi converter 1 parameter 3 connect
pico kgroup 1 output 1 breath output to pico midi converter 1 parameter 4 connect
pico kgroup 1 output 1 strip position output 1 to pico midi converter 1 parameter 5 connect
pico kgroup 1 output 1 absolute strip output 1 to pico midi converter 1 parameter 6 connect
pico scaler 1 pressure output to pico midi converter 1 parameter 16 connect
pico midi converter 1 parameter 1 to pressure name ify
pico midi converter 1 parameter 2 to roll name ify
pico midi converter 1 parameter 3 to yaw name ify
pico midi converter 1 parameter 4 to breath name ify
pico midi converter 1 parameter 5 to strip position 1 name ify
pico midi converter 1 parameter 6 to absolute strip 1 name ify
pico 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 pico midi converter 1 parameter 7 connect
pico keyboard 1 k 9 roll output to pico midi converter 1 parameter 8 connect
pico keyboard 1 k 9 yaw output to pico midi converter 1 parameter 9 connect
pico keyboard 1 k 18 pressure output to pico midi converter 1 parameter 10 connect
pico keyboard 1 k 18 roll output to pico midi converter 1 parameter 11 connect
pico keyboard 1 k 18 yaw output to pico midi converter 1 parameter 12 connect
pico midi converter 1 parameter 7 to controller pressure 1 name ify
pico midi converter 1 parameter 8 to controller roll 1 name ify
pico midi converter 1 parameter 9 to controller yaw 1 name ify
pico midi converter 1 parameter 10 to controller pressure 2 name ify
pico midi converter 1 parameter 11 to controller roll 2 name ify
pico midi converter 1 parameter 12 to controller yaw 2 name ify
pico 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 pico tonic talker 1 name ify
pico kgroup 1 output 1 to pico tonic talker 1 connect
pico scaler 1 listen
pico kgroup 1 listen
pico tonic talker 1 listen
pico scaler 1 tonic when 17 down
pico 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 pico octave talker 1 name ify
pico kgroup 1 output 1 to pico octave talker 1 connect
pico scaler 1 listen
pico kgroup 1 listen
pico octave talker 1 listen
pico scaler 1 octave when 19 down
pico 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 pico scale talker 1 name ify
pico scaler 1 listen
pico scale talker 1 listen
interpreter listen
" pico scale talker 1 hey 1 to 1 from 2 colour ify " when 1 do
" pico scale talker 1 hey 2 to 1 from 2 colour ify " when 2 do
" pico scale talker 1 hey 3 to 1 from 2 colour ify " when 3 do
" pico scale talker 1 hey 4 to 1 from 2 colour ify " when 4 do
" pico scale talker 1 hey 5 to 1 from 2 colour ify " when 5 do
" pico scale talker 1 hey 6 to 1 from 2 colour ify " when 6 do
" pico scale talker 1 hey 7 to 1 from 2 colour ify " when 7 do
" pico scale talker 1 hey 8 to 1 from 2 colour ify " when 8 do
pico scaler 1 scale to major when 1 set
pico scaler 1 scale to harmonic minor when 2 set
pico scaler 1 scale to melodic minor when 3 set
pico scaler 1 scale to chromatic when 4 set
pico scaler 1 scale to blues when 5 set
pico scaler 1 scale to pentatonic major when 6 set
pico scaler 1 scale to diminished when 7 set
pico 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 pico kgroup 2 connect
# set up the controller keygroup
pico 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 pico controller talker 1 name ify
pico kgroup 2 output 1 to pico controller talker 1 connect
pico kgroup 2 listen
pico 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 pico midi talker 1 name ify
pico midi talker 1 listen
interpreter listen
" eigenbrowser , pico midi output 1 hey midi port browse " when 1 do
empty join