[PD] LibPd on microcontroller

Lumis Xulepth lumis at xulepth.fr
Tue May 17 17:25:20 CEST 2016


Hello,
Joe White <white.joe4 at gmail.com> wrote:
> Hi Lumis,
> 
> Thanks for the feedback! We're actually looking at using an
> alternative documentation system which should hopefully make it
> a lot easier to find the info you need. Totally agree the
> burger menu can be a bit non-intuitive, writing web sites ain't
> as fun as DSP :(
Dead simple idea: a button group on top of the page in place of
the burger might be a good start... Just a quick idea :) I
understand the frustration!

> 
> I don't personally have any experience with MIPS platforms, do
> you have a board you try it out on? Can support as much as
> possible.
Again I haven't tested much yet. I can name a few:
- RT5350F-Olinuxino by Olimex (https://www.olimex.com/Products/OLinuXino/RT5350F/RT5350F-OLinuXino/), I own one, but audio output without USB is not easy at all.
- LinkIt Smart 7688 + Breakout by MediaTek&Seeed (http://www.seeedstudio.com/depot/Breakout-for-LinkIt-Smart-7688-v20-p-2641.html) Much better candidate as it has integrated audio on the breakout. Purchasing one as soon as it's available! Also more powerful than RT5350F.

The first thing I should do is to try to compile a simple patch
on this platform. Speaking about test patches, what would you
suggest as a heavy-load stress test patch for a platform?
Something that one could tune to see how far the DSP processing
power of the CPU can be pushed.

Some background info: the reason I'm interested in these boards
is that a lot exist in the price range of a good arduino board
($10-30), provide a minimal linux, a very active community
through OpenWRT, advanced networking (usually have wifi,
sometimes 2 wifi, often ethernet, sometimes several ethernet
ports!) that might help a lot in the case of networked
audio/performance/installations. It is not in any case a
replacement for either an Arduino or a full computer running
"standard" Debian/Ubuntu linux, it sits at the median point
between a bare metal C-programmed microcontroller and a
systemd-controlled freshly released Ubuntu version.

> 
> Thanks,
> Joe
> 
> On 15 May 2016 at 15:48, Lumis Xulepth <lumis at xulepth.fr>
> wrote:
> 
> > Hi Joe, hi list
> >
> > On 2016-05-15 15:06, Joe White wrote:
> >
> >> Hi Chuckk,
> >>
> >> I'm one of the developers of heavy. Apologies that you felt some
> >> information was lacking, would be very interested in hearing more
> >> about your experience and what wasn't answered.
> >>
> >
> > I don't know what Chuckk's comments precisely are, I just found myself
> > several times looking for the documentation. Maybe the hamburger on the top
> > right isn't obvious for everyone?
> > Again, I still haven't used it on a specific platform but I think that
> > once logged in and having compiled a few patches, navigation is easier. I
> > like to be able to switch implementations (C/Unity/Vst etc...)
> > documentation easily! :)
> >
> >
> >> The code that heavy generates should compile on any platform that has
> >> a C99 compiler, and if it didn't we'd be very interested in looking
> >> into why. There are no OS specific dependencies and you can even swap
> >> out your own malloc, math, etc.. implementations.
> >>
> >
> > To your knowledge, has there been usecases or tests of Heavy on MIPS
> > platform? Recently I've been thinking about using OpenWRT boards (most are
> > MIPS32), generally CPU is 300-600MHz with minimal linux running on it for
> > realtime audio.
> >
> > Thanks for your answers.
> >
> > Lumis/Fergus
> >
> >
> >> The code is optimised for SSE, AVX and NEON instruction sets and we
> >> also provide a single sample option for platforms where they are not
> >> available (i.e. javascript)
> >>
> >> Here's an example of integration with portaudio
> >> https://github.com/enzienaudio/examples/tree/master/portaudio [3]
> >>
> >>
> >> Thanks,
> >> Joe
> >>
> >> On 13 May 2016 at 23:22, Chuckk Hubbard <badmuthahubbard at gmail.com>
> >> wrote:
> >>
> >> 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> 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
> >>
> >>> [1]
> >>> 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 mailing list
> >>> UNSUBSCRIBE and account-management ->
> >>> https://lists.puredata.info/listinfo/pd-list [2]
> >>>
> >>> _______________________________________________
> >>> Pd-list at lists.iem.at mailing list
> >>> UNSUBSCRIBE and account-management ->
> >>> https://lists.puredata.info/listinfo/pd-list [2]
> >>>
> >>
> >> --
> >>
> >> http://www.badmuthahubbard.com [4]
> >> _______________________________________________
> >> Pd-list at lists.iem.at mailing list
> >> UNSUBSCRIBE and account-management ->
> >> https://lists.puredata.info/listinfo/pd-list [2]
> >>
> >>
> >>
> >> Links:
> >> ------
> >> [1]
> >>
> >> https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware
> >> [2] https://lists.puredata.info/listinfo/pd-list
> >> [3] https://github.com/enzienaudio/examples/tree/master/portaudio
> >> [4] http://www.badmuthahubbard.com
> >>
> >> _______________________________________________
> >> Pd-list at lists.iem.at mailing list
> >> UNSUBSCRIBE and account-management ->
> >> https://lists.puredata.info/listinfo/pd-list
> >>
> >
> >
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Encryption key for Lumis Xulepth.asc
Type: application/pgp-keys
Size: 1702 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160517/7eb16b95/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP Digital Signature
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160517/7eb16b95/attachment-0001.sig>


More information about the Pd-list mailing list