Charbot wrote:

i might be sick, but Im thinking of building a full  knob-per-function hardware controller for this thing.    Oled display to show the Algorithm...   maybe patch memory.    Anyone interested?

I like your thinking smile
Yogi

66

(14 replies, posted in Commodore Computers)

OH so nice
Yogi

garvalf wrote:

You're welcome.
Kudo for the easier compilation of the editor. I've submitted a pull request for the documentation on github.

Well, if it hadn't been for the discussions here I wouldn't have dug deeper smile I feel a little like a sorcerer's apprentice with Linux, Find the right 'spell', type it in and Poof, Magic big_smile 

I understand some people wanted to have some kind of GM for FM as well, because GM is a kind of standardisation and not so badly done as it as a wide range of instruments. Probably it was also easier to let PC user which had some GM cards (with some samples support) be able to benefit of the music too. But you're right, it's a pity, music wise.

Yea, for PC game devs, they had to support two audio systems, Roland MTs and Adlibs, with one sound track. And MT32s were the priority. Later on the Sega MD you see some really innovative FM sound design, like in Sub-Terrania and X-Men Clone Wars VGMs. 

I guess you like this music (Dune for PC): https://www.youtube.com/watch?v=gUfGyfbzl9k

YES, one of my favs (on many levels, love the game series. Many hours playing Dune 2000 head to head over our network with my kids. Long before WoW).

So, I'll be posting my notes on getting the OPA running on the RPi's GPIO UART; I think I've got  it worked out but need to test today.
Yogi

garvalf wrote:

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 smile
Thanks again,
Yogi
EDIT: Thanks for the tips, got the vertMidi starting at boot by add to the /etc/modules file yahoo \o/!

We Ninja-ed big_smile

garvalf wrote:

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...)

Yogi
EDIT even the same How-to I found big_smile

@ 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 smile

› aconnect -l

Now just have figure out how to set this in the boot config
Yogi

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 smile

  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 smile
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 big_smile
Yogi
EDIT: built on a RPi2 B running latest Raspbian Jessie

Oh sure, will run it again tonight. Fingers Crossed
Yogi

garvalf wrote:

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 smile
Yogi

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

l I haven't done this mod BUT...
Here is another site that overcomes the PPU problems somewhat
https://nobitleftbehind.wordpress.com/2 … k-the-nes/
It uses a fixed freq osc but the basic principal  (run the PPU on the stock clock and run the CPU on the alt freq) could be applied to the LTC1799 for on the fly freq shift.
  For the most part, people overclocking want to overcome slowdown in games due to CPU load.
http://forums.nesdev.com/viewtopic.php?t=3047
https://www.youtube.com/watch?v=fgkKftUQy-8
The biggest 'downside' is pitch shifts to the audio, so could consider that a 'feature' for chiptune use. Maybe add an LFO or pedal controlling the LTC for live effects?
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 smile 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

Oh that is great smile Very nice blend of hard digital and the warmth of 'analog'. Don't know if I would call it 'Berlin School' but just delicious.
Yogi

There was another thread here related, but way buried by now. At any rate, here is a site that covers it well-
http://furrtek.free.fr/?a=nesclock
The biggest issue is the PPU, it will lose sync when you change the clock too much (seems like a narrow window). But if you aren't using  video, just sound, the CPU should be fine for quite a range.
Yogi

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