i’ve been thinking about why teletype scenes are not more widely shared / re-used. we even have a code exchange repository but it’s not very active. part of the problem is documentation, but another part is that sometimes a scene is written for something like just friends, so it needs to be edited to be used with, say, a telex instead. such change can be less than straight forward due to the differences in how different modules operate (where one modules requires one op to play a note another will require 2 or more). and you will likely need to modify the init script (for TXo you’ll need to do at least
TR.ENV.ACT) which can be difficult if it’s already full.
as a solution for the above i’d like to propose a device agnostic note op:
NOTE index pitch volume duration
by default this op will output a note using TT CV/trigger outputs. but you could also map it to various other devices:
NOTE.TT index start count
map to teletype CV/TR, same as
NOTE.AN index start count
map to ansible, same as
NOTE.JF index start count
map to just friends, same as
NOTE.TO index start count
map to txo, same as
NOTE.SC index start count
map to er-301, same as
NOTE.UN index start count
map to universal ops
index is the starting voice index for
start is the first index on mapped device
count is how many voices you are mapping
NOTE.TO 1 1 4 will map 4 voices to a TXo, for instance.
the above mapping ops will also take care of setting things up for you (so, it’ll execute
JF.MODE 1 if you map just friends etc etc).
with this model you can easily change a scene for a different device with just one line of script. alternatively, you could use it to map a multi voice system that would use several devices, so you could have a 10 voice system where 4 voices are output on teletype, and 6 are played on just friends. such mapping will also allow you to switch different sound sources without having to repatch cables. you could also overlap mappings, to create layered voices.
not all devices will support all note properties (say, if you use teletype it will only output pitch and gate, but not volume).
another useful op would be
NOTE.MUTE so you could also control which voices are active at any given point without changing anything in the scene itself.
something similar could also be created for