Open Theremin and Zynthian

Thanks @MrDham!

I will test it ASAP :wink:

Regards,

Ahhh nice! Just created my HIDuino-based OpenTheremin and hopefully can test this soon! Just flashing the new software.

Thx && regards, Holger

Hello,

I corrected two not so nice bugs in the branch ā€œV2-Projectā€

Corrected bugs :
Default startup settings eclipsed by pot position.
Stuck notes when changing channel.

Maybe it worth re-downloading the files if you use ā€œV2-Projectā€ branch.

1 Like

Hello,

I implemented the last idea I had in my to do list into the branch ā€œV2-Projectā€: Velocity Sensivity.

Volume Antenna Loop generates selected midi continuous controler change, starting NOTEON and ending NOTE OFF (when playing staccato).

The volume trigger can be configured so as we have some volume at note attack on percussive sounds. The volume trigger setting is also used to set sensitivity for velocity (how fast volume loop hand is moving when note is triggered). Matter of fact, the higher is this setting, less margin we have for volume variation. It is compensated by increase of velocity sensitivity.

2 Likes

Hi Vincent @MrDham,

I tried the last days with Open Theremin V3 and MIDI. The standard firmware works, but I has some problems with HIDuino on my Uno: seems that I have a problem with clones of the Uno. I set the baudrate to 31250 in application.cpp. But also test programs donā€™t work. Will buy a non-clone Uno and try again.

I also tried a Leonardo. But the Open Theremin code wonā€™t work with the Leo - so the MIDIUSB library can also not be used :thinking:

Do you have tried HIDuino on a UNO-SMD?

Regards, Holger

Hello Holger @C0d3man,

I have just one Arduino Uno V3 with the ā€œdual in lineā€ ATmega328P and an Atmel 16U2 USB controler.
I tried Hiduino using Atmelā€™s FLIP software without any problem.
(BTW, my personnal goal is to use open theremin v3 like a standard usb midi controler)

By ā€œtest softwareā€ do you mean the midi tutorial that is in Arduinoā€™s IDE example library ?
I tend to think that if this test software donā€™t work, it means that problem is rather in the USB controler.
Do you know which one is it ?
Did you use Flip or an ISP ?

Thatā€™s also my favorite. I tried to flash the HIDuino software with dfu-programmer - but it seems not fully to work.

I used the standard MIDI libraray, as mentioned in the installation scripts from HIDuino. When I use a simple NoteOn-delay-Noteoff-delay I get nothing shown in MIDIOX or jack_dump_midi. Also the Theremin shows no output. If I use the MIDIUSB-library with a Leonardo I get events - but the OpenTheremin software ist not compatible with a Leonardo.

So I think also I have a HIDuino-flash-problem. Currently I am working only with dfu-programmer and ā€œArduino as ISPā€. I have ordered a Tiny-USB-AVR-programmer and will try again. I hope I can get it running until Dec, 2./3. 2017: Mini-Maker-Faire @ Conrad Drone Champions League (Station Berlin) - #7 by C0d3man

Just to be sure: Sending MIDI events is only done by Serial.print(), right? So I can add a simple MIDI-OUT circuit to the serial pin for having a MIDI-OUT?

Regards, Holger

Hello,

I use ā€œSerial.writeā€ (to send bytes) rather than ā€œSerial.printā€ (to send characters representing the digits of a number): https://www.arduino.cc/en/Serial/Write.

But yes, the principle is there, you can add a physical MIDI-OUT like this : https://www.arduino.cc/en/Tutorial/Midi.

Regards

Ok. I will try with some simpler tests. Perhaps my new ISP will help.

Ok - thatā€™s my fallback for MakerFaire :slight_smile:

Thanks, Holger

1 Like

OK, Keep me updated, I am curious of knowing the result of your investigations and Iā€™ll try to help you if I can :slight_smile:

1 Like

Hi Vincent,

I got it working :smile:: I used a Tiny-USB-Flasher and avrdude and now I got HIDuino flashed onto the Uno.

I havnā€™t had much time (next week is MakerFaire and I am building a Zynthian 2, also setting up the PA hardware etcā€¦), so I have only tested, if I get MIDI data out of the Theremin and sound out of the Zynthian.

If I use your Open-Theremin-MIDI sketch, does the ā€œnormalā€ audio generation of the Theremin work? Can I play MIDI-trigered sound side by side with Theremin sounds?

Regards, Holger

Hello Holger,

Nice to hear that your Hiduino works.

Yes, I kept the audio unchanged in my two open theremin sketches (ā€œmasterā€ and ā€œV2-Projectā€).

You can play audio and MIDI side by side. Provided that Zynthian and Theremin are set with the same pitch bend range, you should hear the same note on the audio and on the Zynthian if your hand is static.

When your hand is moving, you may notice some chorus effect on note transition and on vibrato because of inevitable slight delays between the audio and the MIDI/Synth processing. This chorus is rather nice and can be controlled by moving the pitch hand. Players could take advantage of it.

1 Like

Ok, thanks! I will try this the next days.

Regards, Holger

1 Like

Hi Vincent and all

Finally found some time to update the OpenTheremin website for the new version 2 of the MIDI software (was about time) and test it out.

The new MIDI implementation allows for a lot of settings - itā€™s great, check it out. (The two pot interface is a bit tricky though).

I got best results by setting a high pitch bend range on the Theremin and same on the ZynAddSubFX (using the X-window GUI as described by @jofemodo ). NOW how can I make this setting permanent or change it without a computer? Anyone has an idea?

Will be presenting the OpenTheremin together with the Zynthian at the N/O/D/E Festival this weekend.
http://www.node-rdv.ch/

Best,
Urs

3 Likes

Hi @gaudi!

Good news! I will try the new version ASAP ā€¦

Regarding your question:

I think the best way is to save a ZynAddSubFX XMZ file (parameters file) in this folder:

/zynthian/zynthian-my-data/presets/zynaddsubfx/XMZ

You can do it from the native ZASFX GUI. This kind of file will save/restore the ZASFX global parameteres, including the pitchbend range.
After that, you can load this XMZ file from the Zynthian UI. You will see there is a ā€œXMZ bankā€.

Once loaded the ZASFX global parameters, you can change the bank/intruments from the Zynthian UI normally and the global parameters should remain as loaded. Instrument files (xiz) doesnā€™t modify these parameters.

Best Regards!

This is really great! :clap::clap::clap:
Please, send some photo or video!!

Regards!

Thank you for this hint. Was looking for a way to save the settings permanently but did not know where. Will try this.

What I did and what works is I added the following line to the zynthian_engine_zynaddsubfx.py in the set_preset

	liblo.send(self.osc_target, "/part%d/ctl/pitchwheel.bendrange" % layer.part_i, 5000)

This way I can define the pitchwheel bend range and it is automatically set for every new layer. Would be best to make this an adjustable parameter maybe.

Best,
Urs

Hi,

I wish I could be thereā€¦ But it is not possible for me at this time, unfortunately.

Maybe, I could make it more user friendly by adding a small 2*16 character LCD showing selected parameter and value. It should be optionnal in order to keep compatibility with the original Open Theremin V3 shield.
A longer term development anywayā€¦

OK! I will do, but iā€™ve to modify some code for for allowing this parameter to be modified. Also, it will break the ā€œfine-tuneā€ feature, that is based in a ā€œstandardā€ 200 cents pitchbend range.

Regards,

There is also an OSC command to read out the bend-range. Maybe you can adapt the fin-tuning to the range that is set on the corresponding synt 8-).
Urs