[PD] LibPd on microcontroller

cyrille henry ch at chnry.net
Sat May 14 12:25:35 CEST 2016


that's just a question of experience, and hardware.

running a micro-processor (like in the raspberry pi) without OS is not simple (look at "bare metal raspberry-pi").

but using a micro-controller, things are lot's easier.

an arduino hardware by example is "just" a micro-controller, a power supply, a usb plug, and a clock source.
but you can program them using a serial connection, and the clock source can be internal to the µP, so you can reduce this hardware to only the µController.

on the software side, the arduino environment is "just" a GUI Around a text editor + GCC compiler + a collection of function that make life easier for beginner.

so, the "hello world" of running a code without OS is "only" :
GCC -> serial connecting -> µC
add a 3.3 or 5V, and voila!

For example : this run simple C code :
http://www.rcch.free.fr/IMG/jpg/p1000031.jpg

the "hello world" of running an audio code without OS is a bit more complex since you have to add an audio codec (the 3$ chip that act like a soundcard), and make it communicate with the µC. but since there is a standard communication protocol (I2S), it's just a matter of configuration on the µC side.
(and of course, use a very powerful µC)

regarding running (compiled) pd patch without OS, the owl guitar pedal look nice:
https://hoxtonowl.com/

and the hardware is "simple" :
http://www.rebeltech.org/wp-content/uploads/2015/08/OWLDigitalBoard-e1440697389358-1024x989.jpg

a big µC (top left), a memory (for sound samples storage : top right)), the audio codec (bottom right), 2 quartz (for the µC and audio codec clock source), a power supply (bottom left), and a usb plug that goes directly to the µC.

anyhow, it did not use libpd.

The only hardware i'm aware that run pd patch (without prior compilation) is the 15 year old gluiph by sukandar kartadinata.
it was long before libpd, and use a huge FPGA.

cheers
C


Le 14/05/2016 01:03, Chuckk Hubbard a écrit :
> Thanks. Still, I have the feeling it will not be so simple without an OS. Anyone tried it?
> -Chuckk
>
> On Sat, May 14, 2016 at 1:34 AM, cyrille henry <ch at chnry.net <mailto:ch at chnry.net>> wrote:
>
>     heavy compile pd patch in C code.
>     you can then compile this C code to whatever architecture/platform you wish.
>
>     cheers
>     c
>
>
>     Le 14/05/2016 00:22, Chuckk Hubbard a écrit :
>
>         Apropos of the heavy compiler, I was reading up on it and simply moved on because of what seems to me a lack of information. There was an allusion to it working for a wide variety of platforms and so on, but no actual lists of this supposedly wide variety.
>         Does someone have an idea if it could compile Pd patches to work without an OS for some architecture? Otherwise, why would you bother with it? (that's not a rhetorical question)
>         Thanks.
>         -Chuckk
>
>
>         On Mon, May 9, 2016 at 6:39 PM, cyrille henry <ch at chnry.net <mailto:ch at chnry.net> <mailto:ch at chnry.net <mailto:ch at chnry.net>>> wrote:
>
>              hello,
>
>              I recently send a mail in this list describing my experience of audio synthesis on microcontroler, but i did not use libpd.
>
>              i did not recommend libpd for microcontrolers.
>
>              in fact, I did not recommend audio processing on hardware that did not have support for float arithmetic.
>              (only me or crazy nerd do that).
>
>              a micro controller to use is for example the cortex M4. You  can find them on the teensy hardware.
>              teensy also provide a audio synthesis library, and is supported by arduino IDE.
>
>              You can also have a look at the heavy compiler if you want to embedded a pd patch.
>
>              Cyrille
>
>
>
>
>
>              Le 09/05/2016 17:01, Christof Ressi a écrit :
>
>                  Hi,
>
>                  has anyone experience in using LibPd on a microcontroller?
>                  I wanna try to run some rather basic DSP code on this guy here:
>         https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware
>                  There are some existing Arduino/C++ frameworks and I thought I could either write my own small DSP library in C++ or use LibPd.
>
>                  I understood that LibPd is completely independed of audio drivers and external libraries and since it's plain C code it should work on everything that can run code. However, I have only encountered LibPd in the context of other applications (processing, openFrameworks) and mobile devices so far. Do you think it could work on an ESP8266? I'm also a bit concerned about efficiency, as computation power is rather limited:
>
>                  "ESP8266EX is embedded with Tensilica L106 32-bit micro controller (MCU), which features extra low
>                  power  consumption  and  16-bit  RSIC. The  CPU  clock  speed  is  80MHz.  It  can  also  reach  a  maximum
>                  value  of  160MHz.  Real  Time  Operation  System  (RTOS)  is  enabled.  Currently,  only  20%  of  MIPS  has
>                  been  occupied  by  the  WiFi  stack,  the  rest  can  all  be  used  for  user  application  programming  and
>                  development."
>
>                  Christof
>
>                  _______________________________________________
>         Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at> <mailto:Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at>> mailing list
>                  UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>
>
>              _______________________________________________
>         Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at> <mailto:Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at>> mailing list
>              UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>
>
>
>
>         --
>         http://www.badmuthahubbard.com
>
>
>         _______________________________________________
>         Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at> mailing list
>         UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>
>
>     _______________________________________________
>     Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at> mailing list
>     UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>
>
>
>
> --
> http://www.badmuthahubbard.com
>
>
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>



More information about the Pd-list mailing list