Embedded systems for musical instruments

Status
Not open for further replies.

soledad

Newbie level 3
Joined
Nov 8, 2015
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
86
Hi,
I want to learn about embedded systems and operating systems especially for musical instruments like synthesizers, keyboards, samplers … etc. But I can’t find a good starting point.

I want to learn about systems that will be implemented as the main controller/touchscreen GUI (I’m not focusing on DSP and sound generation for the moment). But systems that deal with the graphical touch interface, midi events, input controls, serial communication (SPI), etc .. And are built with stable timing and low latency in mind (note and control events)

I have been doing a lot of searching myself, trying to find how it’s done in other products. But it seems there’s not a lot of this – often proprietary - information available. The only general info I found was they all use an RTOS or some form of embedded Linux. But this alone doesn’t really help me to learn more about the specifics for music gear.

Can anyone with some expertise in this field help on my way please? Where can I learn more about this?

Eventually I want to get myself a suitable development board and start prototyping.
Any advice on a suitable board would also be welcome.

Thanks
 

I've done a lot of work in this field and we didn't use an RTOS or embedded LINUX. We developed systems using PIC microcontrollers and C, for example. You're not concerned with synths, so basically everything else falls into more general circuitry. LOTS of devices use GUIs and input controls, not just musical instruments, so you need to educate yourself about those particular subsystems; there's nothing specific to musical instruments with regards to that stuff. You could wade through the MIDI spec (get lots of coffee), but I assume you know something about that already. MIDI is, unfortunately, pretty slow, but there are some faster versions (MIDI over USB, for example).

I think you need to break down exactly what you want to learn about. You could also do a simple Internet search for MIDI instrument circuits, or such.
 

Hi,
I'm working on a synthesizer from about 5 years. That is a very large project that involves many arguments like OS, HW, SW, analog and digital boards, mechanics and so on...
However, some professionals like Yamaha, uses montavista linux (RT), others like Lionstrak uses Studio 64, adebian derivative.
For many musical applications thers no need of a real RT OS, it seems be sufficient a low latency one.
Please read about Jack audio connection kit for further informations.
 

Yes, I’ve already build a synth based on an Atmel AVR chip. So I already know a lot of those sub systems and midi implementation. I have experience with hard/software, digital logic, basic analog circuitry and programming (since that’s my day job)

But now I want to use that experience and build my own. But I want to base it on the ARM architecture. One of the reasons is that I want to use a touch screen as part of the interface and use a graphics framework to design the GUI. I was thinking of using Qt for the project actually. But other/better suggestions are welcome of course!

So I’m getting into RTOS/embedded Linux territory, and that is new for me.

I know for instance that the Hartmann Neuron uses Gento Linux, Yamaha uses MonteVista (as lollobrigido also pointed out), Korg Oasys used the Linux kernel with real-time extensions and some others use µITRON RTOS.

So I want to find a solution that lends itself to this kind of project and which is strong in the graphical design department (graph library/framework/GUI design package). Has a license that gives me as much freedom as possible and allows me to turn it into a commercial product if I choose to do that in the future, of if I ever get there

But for now I just want to learn more about anything that can help me with my project. I just find it hard to find the right information. A similar well documented project would be fantastic of course but, I haven’t found one yet.

Sounds like an interesting project lollobrigido, do you have a website about it? I'll deff check some of those operating systems.
 

Yes I'm working on the web site.
However remember that what you want to do, is a very, very difficult matter
My advice is to work before with a linux native pc, i. e. fedora with low latency kernel (see ccrma) and then try to produce music whith free software like linuxsampler to take the right experience in that field whit all the available tools and support, the try to migrate on the embedded. This can give you a little measure of the MIPS you need.

The keybed you use is an usb one or do you want build one yourself (i.e. Fatar + scan electronics)?

However, embedded board must be a very powerfull one to handle graphics and sound because sound processing is a very resource consuming task.
A my friend attempts to make a complex guitar multieffect with odroid but without so good results.
 

Yes I'm working on the web site.
However remember that what you want to do, is a very, very difficult matter
Nice, I’d love to see what you are doing. And yes, it’s going to be a huge and long project But that’s fine. I have been thinking about doing this for ages, have some great ideas and I love to get started and learn new things along the way.

The keybed you use is an usb one or do you want build one yourself (i.e. Fatar + scan electronics)?
I’m going to use a Fatar keybed yes, I have a small two octave laying around here that’s a bit beaten up, perfect for testing.

However, embedded board must be a very powerfull one to handle graphics and sound because sound processing is a very resource consuming task.
Yeah, the thing is. I will be using the main board for the GUI and as the main control unit; loading patches, knobs and buttons IO, etc .. not for synthesis or DSP/effects or anything. The actual voices (VCF, DAC, VCA, etc) will be on a separate board that just needs to communicate with the main board.

I looked at dedicated ‘intelligent’ display solutions first. Because some of those are basically a screen with a SoC in it, and often some pretty decent graphical design software. But mostly proprietary. And a bit limited IO wise. So I realized a SBC with GPU and separate touchscreen is the way to go.

I just have to find one that fits all my requirements, and supports something like an RTOS or low latency embedded Linux and a good set of development tools and support community. I’m looking into Yocto Project and QT, … amongst things.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…