Oh very good! Thanks, very nice song, shows off the FM very well.
I'll have to play with the editor, not sure if there is midi CC control input to the prams.Looking forward to shield.
Yogi
So, received my KS reward and very pleased. This is a very nice synth! Lacking an Arduino, just had some ProMicros and Teensy; wired up a Sparkfun FTDI Basic breakout board on a perfboard with Arduino sockets. Instant USB FM synth Will be working on a Teensy 3.2 midi synth, but for 'instant gratification' this setup is working great.
Had a little trouble with the Editor on this old XP box but after the latest release (backward compatible build for XP sp3) it's humming along. Would like to build the QT source for Raspberry Pi but haven't figured that out yet.
Yogi
Cool.
You can find a quick how to there:
https://github.com/Marzac/OPA-Editor
but hmm, I see now there is no Qt installer for raspberry pi / arm. It might be quite complicated... unless you figure out how to use the qt5 version packaged in the rpi distribution...
Being a real noob with the Pi and especially QT, I've been poking around and thought I had found the recipe with this-
sudo apt-get install build-essential git qt5-default qtbase5-dev
git clone https://github.com/jzatarski/RespeQt.git
cd RespeQt
qmake
make -j 4
./RespeQt
and replaced the github address with the OP-A source, but it failed in the first step of the build. So it looks like I need to setup a cross compile tool chain.
Yogi
Hmm, well done. I've probably missed some package during my first try, it's the reason why I've downloaded the whole Qt. But now I've used your recipe on an other linux computer (x86_64), and I managed to build the OPAEditor binary without problem. The failure is maybe an incompatibility with the raspberry ARM processor. I'll try to have a look (even though I'm far from being an expert)
sudo apt-get install build-essential git qt5-default qtbase5-dev
git clone https://github.com/Marzac/OPA-Editor.git
cd OPA-Editor
qmake .
make -j 4
./OPAEditor
Last edited by garvalf (Aug 26, 2016 2:10 pm)
Hmm, well done. I've probably missed some package during my first try, it's the reason why I've downloaded the whole Qt. But now I've used your recipe on an other linux computer (x86_64), and I managed to build the OPAEditor binary without problem. The failure is maybe an incompatibility with the raspberry ARM processor. I'll try to have a look (even though I'm far from being an expert)
sudo apt-get install build-essential git qt5-default qtbase5-dev git clone https://github.com/Marzac/OPA-Editor.git cd OPA-Editor qmake . make -j 4 ./OPAEditor
Wow, thanks for taking a look into this. Full disclosure: when I tried this, it was with the older sources, about a month ago. In the meantime, Frederic has compiled with QT5.4 (instead of 5.7) for Win XP compatibility; so I don't know if there were changes to the Make file that would improve things for RPi Jessie (?) But I think you are right with the support for ARMHF (but I really don't know squat about QT or Linux; till about a month ago didn't know what 'sudo' was).
The Editor is a nice front end for the synth shield and very usable as it is. But it does lack support for CC and PC control (but these features may show up in a later version as there are already buttons in the Menu for them), so I kind of settled on the strategy of a Midi to OP-A controller to implement better handling. Choose the Teensy 3.2 for better performance and because porting the OP-A Arduino Lib would be straightforward. It would be pretty cool to have a compact RPi FM synth, but being able to automate the prams would really be helpful. So for a native RPi synth engine, it kind of boils down to either adding features to the QT Editor or re-writing an editor in PD or Python with WiringPi. Both of those options are pushing my own limits alot ; and to tell the truth, I'm a sucker for knobs and buttons
Yogi
It's cool you've get used so fast to the Linux system.
I've tried to get the software on one of my Raspberries pi, but unfortunately, both systems I'm using are not upgraded yet to Jessy, they are still with the older "Wheezy".
If you try again and it fails, could you post the errors? Meanwhile I might backup and upgrade my main system.
Oh sure, will run it again tonight. Fingers Crossed
Yogi
So I ran the recipe
› QT fail
and it terminiated with
"midi/midiin-linux.cpp:38:28: fatal error: alsa/asoundlib.h: No such file or directory"
So I did a google and found a Deb package for the asound.h then did
"sudo apt-get install libasound2-dev" (Mind you, remembered the apt-get off the top of my head)
and re-ran the make -j 4
› 2nd run
And to my surprize completed in about 5 mins with no errors (a few warnings, so...). And the GUI opens! Not sure it's working 100% as the 'Connection' tab only has 'Refresh' as an option, but I don't have a USBserial or USBmidi interface hooked up ATM so that may account for that.
Will have to poke around a little more BUT encouraged with this step forward
Yogi
EDIT: built on a RPi2 B running latest Raspbian Jessie
Last edited by yogi (Aug 26, 2016 8:50 pm)
OK, moving along. The OP-A Editor works great with the FTDI carrier and external USB midi interface! The Editor's only fault so far is a minor issue with the 'Program Save', The Save window does not amend .xml to a new file name. Works fine if you write out the whole name, "MyNewPatch.xml". Don't know if this a general Linux thing or a minor bug as the Win Editor's 'Save' does add the file extension.
Another issue I have, but I don't think it's an Editor bug, is I don't know how to route virt Midi like I can with MidiOx. On my PC I have Midi Yoke and Ox to tie Seq24, din KB and the OP-A all together; works great. Been playing with Qjackctl but can't see any Jack or ASLA entries from the Editor or the Editor's 'midi in' within Qjackctl's Connect tab. Seems like I'm missing the 'Midi Yoke' cable part. Tried messing with the Midi Through Port-0 that shows up in Connect/ASLA tab but again this doesn't appear in the Editor's connections. What's kind of throwing me is this Jack setup works with Amsynth. I'm sure I'm missing something simple
So for a quick and dirty workaround I can connect the PC and RPi with din Midi cables and do routing and sequencing on the PC, using the RPi as a FM synth host. Not too bad but would like to use the RPi to it's fullest and ditch the PC in this case.
The search goes on
Yogi
@yogi:
You should be able to route midi ports from command line/terminal using the alsa aconnect tool.
aconnect -l (this lists available midi ports)
aconnect 11:0 24:0 (this connects port 0 on device id 11 to port 0 on device id 24)
aconnect -x (this removes all connections youve made)
You could for instance set Midi Through as input port in the editor and then route your desired keyboard/input device to Midi Through using aconnect.
Hope this helps! I've messed a bit with aconnect so let me know if you run Into any problems.
Congrat Yogi for having make it compile and work!
You can make a virtual port like that, see this other thread for another cool FM shield for Arduino:
http://chipmusic.org/forums/post/247041/#p247041
Basically, I've just typed "sudo modprobe snd-virmidi" to get my virtual ports for the other shield. (For the OP-A I just connect the DIN 5 midi out to the midi in on my soundcard but it's a bit dirty, I'd better make a virtual port know I think of it...)
@ Iedfyr Thanks alot! But the Editor doesn't see the ALSA Midi Through at all with what I've tried so far. I'm thinking the Editor's midi handling is not compliant with ALSA or Jack (?).
I kind of stumbled on a solution here-
http://tldp.org/HOWTO/MIDI-HOWTO-10.html
When I ran
sudo modprobe snd-virmidi snd_index=1
4 Virtual Raw Midi ports show up in Qjackctl and (weird part) 25 or 30 "midi on: " entries show up in the Editor's Connection tab, in addition to the 5 USB midi interfaces. I selected the first Virtual and in Qjackctl connected the Output Port for one of my USBmidi ports, with the KB, to the first Virt Raw Midi Input Port. AND it works
› aconnect -l
Now just have figure out how to set this in the boot config
Yogi
We Ninja-ed
Congrat Yogi for having make it compile and work!
You can make a virtual port like that, see this other thread for another cool FM shield for Arduino:
http://chipmusic.org/forums/post/247041/#p247041Basically, I've just typed "sudo modprobe snd-virmidi" to get my virtual ports for the other shield. (For the OP-A I just connect the DIN 5 midi out to the midi in on my soundcard but it's a bit dirty, I'd better make a virtual port know I think of it...)
Yogi
EDIT even the same How-to I found
Last edited by yogi (Aug 27, 2016 9:29 pm)
you should be able to load a command at startup in the /etc/rc.local but maybe it was disabled in Jessy.
Anyway, for a module, you should use /etc/modules (just add it), and maybe run update-modules after that (https://wiki.debian.org/Modules)
you should be able to load a command at startup in the /etc/rc.local but maybe it was disabled in Jessy.
Anyway, for a module, you should use /etc/modules (just add it), and maybe run update-modules after that (https://wiki.debian.org/Modules)
OK, thanks. Will have a go with that.
OT, see you have the YM2151 shield. Very cool. I really dig FM and it's a shame 'back in the day' people tried so hard to make them GM when the FM chips are capable of so much more. Some of the Sega MD soundtracks really pushed the YM but Too many of the PC games only used the GM sound set with the OPL3. What a shame
Thanks again,
Yogi
EDIT: Thanks for the tips, got the vertMidi starting at boot by add to the /etc/modules file yahoo \o/!
Last edited by yogi (Aug 28, 2016 4:16 am)