Pd2dsy - Unknown Daisy board "seed"

I’m just getting started with a Daisy Seed board. I usually work with Pure Data so I wanted to try that first - I think I set up everything correctly with the Daisy ecosystem and pd2dsy, but when I try to load a simple patch onto the board using this code:

python pd2dsy.py -b seed test.pd   

I get the error:

1) Error c2daisy: Unknown Daisy board "seed"

On the wiki page for pd2dsy it says “ should be replaced with the board you’re using (pod, patch, patch_init, field, petal).” I notice that “seed” is not listed there, though I have found other posts on the forum that imply people did use this same command. I’m not sure where I’m going wrong, any tips would be great!

oh and I’m not sure if there’s any difference, but I’ve also tried using the “–board seed” flag instead, with the same result.

For this version of pd2dsy, we didn’t add a built-in seed board because it didn’t seem all that useful. Since the seed doesn’t have a fixed interface, the only thing a -b seed option would allow is pure audio processing (although I can definitely see how it’s useful for just trying things out).

It’s pretty easy to define your own setup with JSON, though! For a minimal blink example, you can use this setup:

  • blink.json:
{
  "name": "blink",
  "som": "seed",
  "components": {
    "led": {
      "component": "UserLed"
    }
  }
}
  • blink.pd:
    blink_example

Then, depending on where your pd2dsy is located, you can run:

python3 pd2dsy.py -c blink.json blink.pd

The -c option (or --custom-json) allows you to specify your own board configuration. All the Daisy boards are described this way, and you can find them here if you’d like examples. You may need to use the --libdaisy-depth option if you get an error like:

Makefile:22: .path/to/libdaisy/core/Makefile: No such file or directory

With that said, let me know if you think adding a vanilla seed board would be helpful!

Hello! I just got the Daisy and my only other experience with programming has been using Arduino products. I was looking to have something to build Pure Data instruments with, so I got the Daisy Seed. It looks like the only tool to interface Pure Data and the Daisy doesn’t have the “seed” board however. Is this an option you could add in the future? For now, how can I learn how to make a JSON that would take into account, say a potentiometer connected to the Daisy Seed?

1 Like

I think adding a vanilla seed board would be helpful, to remove this ‘hurdle’ from the first time user’s path. You could even extend this idea and include other ‘flavors’ of seed, like SeedWithPot and indicate in the comments or doc what the schematic is for that definition. It would make a kind of built in tutorial. Thanks for the great work on pd2dsy!

1 Like

a vanilla seed board option would be great. I am a synthesist/artists with some programming experience but i have no idea what a json is. In general, it has been quite difficult to get daisy to do anything other than blink or respond to a button so far.
I think I’ve figured out most of it… mostly by dogged determination and experimentation (I also lied to the pd2dsy script and told it my seed was a pod… hopefully that doesnt cause any problems) but now I’m not even sure where I should plug in an audio jack for my super basic phasor~ 440 → dac~ pd patch.

You can connect some jacks directly to it - like described in this paper;

or copy some of the basic amplifier circuitry from the Electrosmith designs the Seed plugs in to.

The electrosmith schematics are hosted here:

Thank you!

Using this schematic and the documentation regarding pd2dsy I’ve gotten an extremely simple phaser~ 440 → dac~ patch to make sound.

But of course I would like to interact with this phasor.

Do you know how I could set up my max patch such that a potentiometer between 3V and pin D15 could control some parameter.

That’s currently my sticking point.

Thank you!

[deleted … irrelevant oopsy information]

hardware hookup example here:

Mr. Nielsen,
You’re the best, thank you for helping me so much.

After I create a custom target (JSON) where should I put it?
I assume after it is in the right folder I can simply give the command

python pd2dsy.py --board TARGETNAME phasor440test.pd

[deleted … irrelevant oopsy information]

1 Like

hmm… Maybe you won’t be able to help me anymore then.

I am using pd2dsy not oopsy. I assumme you are linking oopsy-related material because there is enough overlap that what your saying still applies, but to be honest I am probably not knowledgeable enough to tell. I will look at this more closely though.

I think “using the browse button” is probably not a relevant suggestion to the pd2dsy workflow and I am not sure what sending the target message is…though perhaps inserting it in the code like this will work

python pd2dsy.py --board BOARDNAME --target JSONNAME phasor440test.pd

I’ll have to experiment with it.

No - I didn’t catch that - I thought you were using oopsy, sorry, my mistake.

This video show how pd is used on the daisy

Some tips on the pd2dsy json file for a custom seed configuration:

(link to example json configuration files at the bottom of the page)

Hi, i would also really appreciate a seed option for board. I’ve tried making a .json file and followed your instructions earlier:

I get an error saying
“ModuleNotFoundError: No module named ‘hvcc’”

and to be clear - i am doing the pd_env/Scripts/activate step

@robbielongcat This actually isn’t an issue with the target. hvcc is critical for the pd to C++ translation, and is a part of the install process. It’s a python package, and should have been installed when you ran the install.sh script. With your venv activated, try running python3 -m pip install -r requirements.txt yourself and then rerun the command that failed.

thanks, i’ll give that a go

thanks again @Corvus_Prudens - that got me past my hvcc woes, i’m currently getting these errors:

__cos~f requires perf information.
__sqrt~f requires perf information.

  1. Error c2daisy: list indices must be integers or slices, not str
    (pd_env)

can anyone shed some light on this?