Neural Guitar Pedal – Optimizing NAM for Daisy Seed Arm Cortex-M7
https://www.tone3000.com/blog/running-nam-on-embedded-hardware
#HackerNews #NeuralGuitarPedal #NAM #Optimization #DaisySeed #CortexM7 #EmbeddedHardware
Neural Guitar Pedal – Optimizing NAM for Daisy Seed Arm Cortex-M7
https://www.tone3000.com/blog/running-nam-on-embedded-hardware
#HackerNews #NeuralGuitarPedal #NAM #Optimization #DaisySeed #CortexM7 #EmbeddedHardware
Follow-up: schematics, PCB and source code for the #Bazoche effect pedal platform released on this page:
https://ldesoras.fr/elec/bazoche/bazoche-eng.html
#audio #electronics #GuitarEffects #stompbox #dsp #delay #distortion #DaisySeed
Another #GuitarPedal completed.
A few years ago I designed a pedal with a complex effect (but just a single knob and an expression pedal as controls) for a guy but in the end that wasn’t what he was looking for and he didn’t pick it up. So I had this pedal stuck with me. 😑
Recently a friend asked me for a long delay effect with a 15 second memory and the footswitch only muting the delay input (FX always on duty). It was an opportunity to #recycle the old pedal, based on a #DaisySeed board. So I drilled new holes in the enclosure to host 3 knobs.
But wait, there’s more. ➡️
Descubrí un patch caótico con una porción de El nido de la perra (así bauticé a mi sistema heterogéneo de síntesis). Es capaz de hacer cosas muy pequeñas y muy agudas.
Disfrútenlo y si quieren denle like y sub. :-)
#modularsynth #synthjam #daisyseed #abacus #asmr
Las cosas muy pequeñas
https://www.youtube.com/watch?v=OdDkbk7GL20
Tonight’s project: Soldered and put together a Daisy Seed based chip guitar pedal. Already got it flashed with examples from https://github.com/bkshepherd/DaisySeedProjects/blob/main/Software/GuitarPedal/README.md
Getting ideas about what I want to try to modify or cobble together. This patch (shown as “Cloud Seed” on the display) is a nice shimmer reverb, and there’s also chorus, tremolo, delay, a looper, a metronome, and more in the examples.
I’m not a C++ programmer but I’ve done enough Arduino programming and professional Rust programming that I can figure this out. The DSP stuff will be what I have to learn.
My little daisyseed synth project is currently stalling on the whole "C++ is just the WORST language" problem.
There's a class in the DaisySP library which is *almost* what I want. So I should be able to just subclass it and work from there, right?
Well, no, because none of the functions that I want to override are declared "virtual", so I'd have to edit and re-build the library.
I'm sure this is all in the service of runtime efficiency, at some level. But, you know - it's a 480MHz ARM processor. I think a little indirection wouldn't be a huge deal.
I will just write the whole thing from scratch, all 100 lines or so of it. But it's *IRRITATING*, you know?
Finally gotten around to having a look at my Daisy Seed.
My "notes to self" to get to a musical "hello world" are now up here: https://diyelectromusic.com/2024/12/18/getting-started-with-daisy-seed/
Getting Started with Daisy Seed
I’ve finally managed to get myself a Daisy Seed from Electro-Smith, so as is becoming usual, this is my “getting started” notes-to-self post.
Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!
If you are new to microcontrollers, see the Getting Started pages.
What is Daisy Seed?
From the Daisy Seed product page on the Electrosmith website:
“Daisy is an embedded platform for music. It features everything you need for creating high fidelity audio hardware devices.”
The key specifications are as follows:
I’ve also picked up a “pod” which is a breakout board that includes the following:
There are a number of DIY experimenter style products that use the Daisy Seed. Here are a couple that might be worth a look (I’ve not used any of them):
Just doing an image search for Daisy Seed synth and quite a few come up!
Getting Started
There are several ways to start programming the Daisy Seed, one of which is using an online, web-based programing environment. I’ve stayed with familiar territory and installed support into the Arduino IDE.
This requires the following steps as described in the Arduino version of the Getting Started Guide:
Unfortunately one thing that wasn’t particularly clear as part of any of the above is that the STM32 core no longer supports the V1 strand of the Arduino IDE. I spent quite a chunk of the afternoon trying to work out why the build tools didn’t seem to be able to find all the things they needed. Eventually I stumbled across some replies in the STM32 core forums to some problems that stated that V1 was no longer supported.
For my initial experiments, I rolled back the version of the Arduino STM32 Core to version 2.7.1, which was the last release that supported V1.
At this point I was finally able to use the Arduino IDE to download the blink example using the configuration as per the getting started guide, but summarised as:
To upload requires a RESET on the board with the BOOT button pressed.
Eventually I just updated my Arduino environment to V2 for other reasons 🙂
DaisyDuino Examples
There are a number of example scripts as part of the DaisyDuino library, and a number of them are provided that support the Daisy Seed Pod.
The Pod provides buttons, LEDs, pots, an encoder and MIDI and audio circuitry and there is a full suite of examples here, available under Examples -> DaisyDuino -> Pod.
The non-pod related Daisy Seed examples are listed here and can be found under Examples -> DaisyDuino -> Seed.
I downloaded the pod/SimpleOscillator example which does the following:
Full details can be found here: https://github.com/electro-smith/DaisyExamples/tree/master/pod/SimpleOscillator
Other examples for the Pod include:
Example Hardware Connections
The datasheet contains a number of connection diagrams showing how potentiometers, buttons, LEDs, and audio jacks can be connected to the Daisy Seed.
Audio input and output for example are as follows:
This is essentially what the Daisy Pod provides – basic IO and connections following these patterns, along with a headphone amplifier and MIDI.
I might have missed it, but looking at the Pod schematic and the board itself, I believe there is an option to switch from MIDI TRS “A” to MIDI TRS “B” by swapping some 0R resistors on the rear of the Pod.
Key Hardware Parameters and Features
Here is a list of various odds and ends that are tucked away in the datasheets or wiki that I might want to note:
According to the datasheet it is ok to power the Daisy Seed from VIN and USB at the same time.
Audio in and out was originally provided by an AK4556 (the last revision for which there is a full schematic published), then a WM8731 with the latest version using a PCM3060. This is connected to the STM32H7’s SAI1 peripheral.
Closing Thoughts
Whilst this has a whole range of IO and synth type examples, what I’m really interested in is the potential for processing audio via the audio input, so that is probably what I’ll be looking at the most.
For such a (relatively) cheap device, this certainly has a huge set of examples and applications. I can see why so many people have started building these into other products.
I can already imagine producing a Daisy Seed version of some of my own PCBs for example…
I should probably take a proper look at the non-Arduino environments too – I’ve been meaning to have a look at Pure Data for a while, so maybe this could be an excuse for that.
Kevin
Well, my #daisyseed pod is ordered, so I guess I'm officially committed to getting that stupid retro-synth idea out of my head and onto a circuit board, now :-)
I figured this was the lowest-friction way to get something working, without spending a bunch of time soldering or fighting breadboard intermittent signal issues (because I HAVE BEEN down that road before).
#synthdiy #synth