hundredrabbits / Orca

Esoteric Programming Language
https://100r.co/site/orca.html
MIT License
4.56k stars 229 forks source link

Question : can we change instrument in helm with sending a change control message #148

Closed nlebellier closed 5 years ago

nlebellier commented 5 years ago

Hi,

i try to select an instrument in Helm (synthetizer) with Orca. Is it right to say if i send a change control with the value of zero, i can select a bank ?

Not very au point with midi but i found this doc in french https://www.emc.fr/upload/resource/pdf/30.pdf

Thanks

neauoire commented 5 years ago

the midiCC operator in orca is !, so you'd need to use that, do you know the id of the control change to swap instrument in helm?

echophon commented 5 years ago

I can't find reference to Program Change support in the Helm manual https://tytel.org/static/docs/helm_manual.pdf I don't think that many software synths support this message. I am trying to switch sounds on hardware that supports Program Change but have been unsuccessful. I think Program Change is actually a different type of message from CC in that two bytes are sent in the same msg - one for the bank & one for the patch.

If you are using a DAW, you might be able to create multiple Helm tracks and mute / unmute the track with midiCC.

nlebellier commented 5 years ago

thanks for your answers !

Well i don't know the knob id used in Helm but i manage to change instrument in helm with a tinykey25 midi controller using the molette so maybe it's possible.

In general, is there a id knob convention ?

With Orca and helm, the way to use the cc operator is to send changing values and left button and learn assignment into helm. It works. then the link is made between Orca and Helm on the knob. Then the knob id is set.

Really want to record some videos but Orca doesn't appear into OBS. Black screen... The issue seems to be due to electron (https://github.com/electron/electron/issues/16955) under windows 10. Which software do you use to screenrecord Orca ?

neauoire commented 5 years ago

i manage to change instrument in helm with a tinykey25 midi controller using the molette so maybe it's possible.

If you can find which values are sent, use the ! controller. The convention for midiCC are written in the link here.

Which software do you use to screenrecord Orca ?

I use Quicktime with loopMidi on OSX, and ffmepg on Linux. I don't have access to a Windows machine.

nlebellier commented 5 years ago

It sends a value between 0-127, where the value is calculated as a ratio of 36, over a maximum of 127. For example, !008, is sending 28, or (8/36)*127 through the first channel, to the control mapped with id0. You can press enter, with the ! operator selected, to assign it to a controller.

By default, the operator sends to CC64 and up, the offset can be changed with the command cc:0, to set the offset to 0.

sorry to be dumb but i don't understand this sentence. "sends to CC64"...

neauoire commented 5 years ago

there's 128 addresses in OSC, maybe 255, I forget. But there's only 36 values in orca, so it sends from 64 to 164.

nlebellier commented 5 years ago

ffmepg on Linux maybe i can get your linux command to try myself ?

neauoire commented 5 years ago

https://trac.ffmpeg.org/wiki/Capture/Desktop

okyeron commented 5 years ago

FWIW I will have a PR for midi program change coming shortly.

153

nlebellier commented 5 years ago

ok cool ! Could you give some examples of daw or others software supporting this kind of message ?

okyeron commented 5 years ago

Program Change is an old school but pretty typical thing for hardware synths.

Apparently Ableton does not support incoming program change messages, but here's an Ableton Help Article about sending program change messages. And another with Logic

Read more about all these messages on the MIDI website.