Pure Data

@shensley Hi! this is really interesting! is there midi implementation with pd or it will be available? I think daisy could be the brain of my audio/midi project!

@sugeszi there currently isn’t any MIDI support for Pure Data on the Daisy, but it is planned. I should have a timeline on when some of these features are likely to be added very soon.

1 Like

@shensley I tried to run my patch but the following error comes up:

c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/…/lib/gcc/arm-none-eabi/9.3.1/…/…/…/…/arm-none-eabi/bin/ld.exe: build/_main_scenes2.elf section .text' will not fit in region FLASH’
c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/…/lib/gcc/arm-none-eabi/9.3.1/…/…/…/…/arm-none-eabi/bin/ld.exe: region `FLASH’ overflowed by 57740 bytes
collect2.exe: error: ld returned 1 exit status
make: *** [build/_main_scenes2.elf] Error 1

It should be a patch size problem. Do you think you can solve this problem soon? Because in this way only very small patches can be used.

I would be surprised if loading patches from QSPI would be usable until some time next year. That said, there is a way to run patches up to 512kb in size in case if you happen to own Daisy Patch.

@antisvin what is the way to run patches up to 512kb?

This can run PD patches compiled with Heavy. I don’t use PD much, but it seems to work there as good as with Daisy. I would expect MIDI to be usable too, but haven’t tested that yet.

@shensley when do you think it will be possible to use patches larger than 128kB? what kind of change is planned? Is the 128k limit for flash memory a limit that exists only when used with pd2dsy or is it a limit for any Program you want to load?

Re: earlier talk about not being able to use knobs purely with Seed, the Petal mappings work for at least POT1 on the PedalPCB Terrarium. This is expected, just a confirmation.

1 Like

The 128kB limit is for all programs at this time. The change is slotted for around the new year, and will allow pd2dsy as well as all other integrations to use the 8MB external flash memory for additional program space.

1 Like

User friendly pd2dsy in the next future? That would be awesome

3 Likes

Hello,
I just start using my seed, and things look very promising!
I made a shield with 2 switchs, 2 knobs and one audio out jack, just like the pod, so I can make tests.
I’ve got lot’s of remarks:

  • can you please add the pd patch that are used to generate the example in the git?
  • in the “readme”, the Installation/Setup part is missing the compilation of libdaisy
  • The parameters order of the knob look wrong, since “r Knob1 @hv_param .5 0 1” gives an error
  • In addition to the one describe there (https://community.rebeltech.org/t/pure-data-list-of-supported-objects/1289/5), there are lot’s of other pd objects that are nor recognize by the heavy compiler
    I noticed :
    –switch~ is missing (useful for optimization)
    –a message with 2 dollar arg did not work,
    –soundfiller can not be used,
    –threshold~ is missing
    –outlet~ did not accept float value.

I also have few questions:
-How can we set the sampling rate of the audio processing?
-what is the pd version that heavy emulate (new pd version add lot’s of objects)
-How can we defined a custom board?
-I was not able to receive information from the switch, I’ve got a [r Boutton1 @hv_param] in my patch, but it did not receive anything. any idea what I made wrong?

I was able to make a band limited saw oscillator and a good resonant filter to work on my setup, but as soon as I put both on the same time, I’ve got weird result.
see : http://nozoid.com/data/test_saw_filter.wav for the result (The knob where connected to the oscillator frequency and the filter cutoff)
I’ve got 2 more complex oscillator and this filter + lot’s more thing running on a 80Mhz cortex M3 for my synth, so having processing limitation would be surprising since the seed is lot’s faster.
Thanks for all the work done!
(edited since this message was send to early)

1 Like

forget to say that I tested the switch with other exemple, so the hardware is working; It’s only with my pd patch that the switch did not work.

Hi @chnry !

Thanks for all the feedback.

I have edited the readme to contain instructions for building the library along with links to the primary wiki for toolchain installation.

The pd files for the examples are located in examples/PdFiles.

I’ll have to take a look at the default/min/max setting stuff because I haven’t looked at it in a while. Worth mentioning, though, that the knob/ctrl params are normalized to a 0-1 range already, and are continuous, so the default would be immediately overwritten by the real knob position.

The objects you mention in your bullet list are not listed in the supported objects? Am I missing something, or are you just requesting that these additional objects be added to the heavy compiler? (Also, I’ll have to look at the 2 $ arg issue, but akaik [outlet~] would only take a signal not a float).

As for configurable sample rate and custom boards, both of these will be coming in an update sometime around the new year along with a pretty huge overhaul to the existing feature set to make patches more consistent across platforms, etc.

Right now switches are handled as bangs. In retrospect I think it makes more sense to have them be 0-1 like the knobs. So that could be the issue you’re seeing if you’re trying to use it like a toggle.


The audio you uploaded sounds almost like you’re multiplying the signals together (or perhaps they’re going to [dac~] separately without a [+~] object. Hard to know for sure what the issue is without seeing the patch, but I don’t think you should be hitting a performance ceiling with one voice.

Hope that helps annswer your questions, and thanks again for all the feedback!

1 Like

Hello @shensley,
Thanks for the answer and the update of the readme
I’m sorry I miss the pd files, it help a lot.

  • in pd file, for receiving a knob value, arguments are : r Knob1 @hv_param 0 1 0.5, but in the documentation it’s : r Knob1 @hv_param .5 0 1 (and it give an error, so I guess the readme is wrong)
  • I made a mistake and spell [r Boutton1 @hv_param] as in french, but it is : [r Button1 @hv_param], so I guess it will work.

I listed the objects that was not working in my patch, It was not a feature request. sorry for the noise.

To answer my other own question, from this forum I learned that currently only 48KHz sampling rate is available.

Here is the patch : http://nozoid.com/data/synth.pd it’s a bit messy since it a small part of a huge patch I wanted to port to daisy. Both band limited oscillator and filter have been test with daisy and are working independently. (the filter need a block~ 1 1 1 object when used from a computer)
(BL oscillator and filter come from the nusmuk-audio pd lib that I made)

thanks!

When will we have PD2Daisy setup for the Daisy Field?
PD would definitely be a fantastic way to program that platform.
Step sequencer things!
Also, YES, the switches need to be on/off not Bang.

I think it is mentioned somewhere in this thread that there should be some update for the PD2Daisy script around the beginning of the new year.

I am also waiting eagerly for this to work for my Daisy Seeds :slight_smile:

FWIW, the Max ~gen to daisy is really kicking ass.
BUT
I do wish it was more in line with P2D because ~gen is limited in ways that PD will not be

1 Like

My planned update will try to conform with a lot of the awesome stuff that oopsy (the gen~ intergration) provides, in addition to custom board support (including Daisy Field), and fixes/updates for requested changes.

I may add a simple TkInter GUI or something similar for dropping in the PD file/selecting the platform, etc.

The experience will definitely be better, but will still be restricted by what is currently possible with HVCC until I look back into possible alternatives for that.

I’ll be jumping into this mid-January or so. :smile:

2 Likes

It may be possible to avoid that ugly UI toolkit by using purr data instead. I’m not sure if it’s 100% compatible with HVCC - don’t really use PD myself.

1 Like

Oh that’s very interesting, I hadn’t seen that before. I’ll definitely look into it.

I’ll be looking at other simple GUI things, too. But for the time-being I figure a non-cli option would be nice for people who aren’t comfortable with terminals.

1 Like