Morpheo = RPi + Goom synth + Axoloti


#1


To not to dilute the thread about the cases for Axoloti, I'm opening this topic to answer some questions about Morpheo project.
More info can be found in the MIDIBox forum thread.

Sorry for replying so late.
STM32F4 runs ported Goom synth. 16 note polyphonic, 16 voice multi-timbral synth, open source. Benefit of using STM32F4 is that it has all the hardware needed on board (DAC, USB, ...) so just flashing the firmware and routing MIDI over USB to it makes it immediately functional synth. But it needs a control surface to set at least basic parameters to hear any sound. At default all params are at zero after boot. So I created a Pure Data control surface which is specifically optimized for original Raspberry Pi 800x480 touch screen display to be run in fullscreen. This PD patch can store a library of sounds (16 banks by 16 sounds, comes with 64 sounds), it allows you to edit individual MIDI channel sounds and has a morphing feature controlled by ModWheel (only in currently edited channel). Cool for sound design process. See the documentation of Morpheo for full feature list.
In the latest version (not released yet) I've added basic sound loading for MPE - definable channel span can load the same sound accross several MIDI channels so you can play in Channel Per Note fashion. Still a bit buggy but it brings joy with Linnstrument already.

STM32F4 stereo output is the red circle on the front plate and if there is no jack connected to it, it is normaled to Axoloti's stereo input. With hard panned sounds on Goom I can get two mono inputs into Axo and process them separately.

I didn't manage to run the Axoloti Patcher on RPi. It would be cool to control it from there so if anyone finds how to do that (ported Patcher for ARM), please, share it. TBH I didn't spent much time trying it and I just edit it from a laptop.

Next step will be to design some easy, yet flexible two channels FX patches in Axo and make appropriate PD control surface for them as well. As of now I'm running just a reverb patch to add some ambience to Goom sounds.

As of now, I'm not running Axo Patcher on RPi (see above), only PD remote control and even that is far from being finished.

For the software audio I've put PiDAC+ inside Morpheo (audio female jacks on the left side of Morpheo) which comes with pre-optimized Raspbian - RT kernel, JACK, qJackCtl is all there. Then I just installed additional software from repos.
RPi is booting into OS so I can choose what to do each time. Like a normal computer. I start SunVox into normal windowed mode but switch to fullscreen with Alt+F11 as with nearly all other apps. That way I can Alt+Tab into other running apps. Actually SunVox is one of the best apps to run even on low-res screens thanks to it's DPI and sizing settings. No multi-touch though (only Android and iOS AFAIK).

Edit: Added Morpheo file.
IMPORTANT: Rename it to Morpheo.zip after download, it's not an axo file. It's renamed so it can be uploaded here!!!
Morpheo.axo (109.9 KB)


Anyone planning to make and sell an enclosure?
#2

Hmmm, I've just ordered the HifiBerry DAC+. It does have it's own image builder, not sure if it works like PiDAC+ with the preconfig RT kernel and audio infra.

I just found this Zynthian project, and was looking into how they built their platform. It's all open source, but it looks like they are working towards developing a commercial product. Seems somewhat similar, but a bit more consumer friendly than your Morpeho.

What version of a Raspi do you use? I've tried using Sunvox somewhat on a Rpi 2 B+, and for some patches and demo songs, it really starts clipping out and slowing down. Do you have any playback limitations in your experience? Will the DAC improve this?

I have an STM32F4, I'll have to try and install the Goom synth and see how it sounds. Are you flashing from a Windows machine or Linux/Mac?

I also wondered why you didn't include a control surface. Is that because you are using outboard controllers? And you use pd to do all your midi routing and control translation? What about OSC?


#3

I use RPi 2 B+. Yes, it's not beefy enough to run more advanced demo tracks in SunVox but it's got plenty of power to run relatively elaborate synth patches and compositions if you keep the module amount reasonable.

Most of my own patches can be played with 6ms latency with no x-runs. Dedicated DAC offloads the CPU. And in my experience the RPi onboard audio is really noisy. That's solved with proper DAC too.

I just added the Morpheo file with documentation to the first post so you don't have to register at MIDIBox. The Goom installation is described within that documentation. I flashed the MIOS32 first from from Windows as the STM32F4 manufacturer's bootloader flashing tool is available for Windows. The Goom app can be then installed from Mac/Win/Linux version of MIOS32 Studio.

No physical control surface for Morpheo. It was intended from the beginning as a touch screen workstation. I've added some MIDI controls to my previous project, MoonBox, which is fully dedicated to SunVox and boots into it directly. With Morpheo I wanted to have a multi-tool. So the controllers can be added via USB. There's also additional USB MIDI interface so it can serve as a USB<>MIDI router too.

OSC can be implemented easily with PD. In the past I've made a RS7000 OSC control surface with TouchOSC on Android and translated the OSC to MIDI in PD that ran on the first RPi with USB MIDI cable.


#4

I doubt the axoloti patcher will be useable on the PI anytime soon.

As detailed in this thread , I did port it across , and whilst it worked - it was no where near useable... as in orders of magnitude out.
But of course never say never.

so I'm going to take a different approach for PI+axoloti.


#5

Hey there,

Finally got a Windows VM up so I could flash the MIOS Bootloader onto my STM32F407G. I then flashed the hex file of the ported Goom synth, and MIOS Studio says it loaded successfully. But when it starts back up, and I use MIOS Studio to send midi, I get no sound out of the audio out as well. I see in the threads that you have had similar problems as well. It resolved for you, but did you ever figure out what it was? I've rechecked the midi connections, audio connections, but still no sound.

EDIT:

Nevermind. I had to download the Ctrlr editor and tweak all the settings. Then I finally heard some sound from the Goom.


#6

^ Exactly, you need to pull up some parameters (open the envelopes and filter). For me the Ctrlr panel didn't work fully, I couldn't store any patches with it. That's why I made that PD control surface.