|
Post by duddex on Jun 11, 2023 16:11:18 GMT
There was a discussion on Discord (see here) if GRAINS can be used as a sequencer. First I thought this is not possible because the analog output of the Arduino Nano is not "real" analog but digital with pulsewidth modulation (PWM). But namke pointed out that the output can be smoothed out using a RC filter. I tried to build a filter using a resistor and a capacitor. DISCLAIMER: I have no idea what I was doing. It would be great if you have comments on how to do this the right way Anyway - I had fun figuring out if/how this could work Here is a video that shows how to use the sequencer and my attempt creating a RC filter with BRAEDBOARD And here is the source code: github.com/duddex/GRAINS-5StepSeq
|
|
|
Post by duddex on Jun 11, 2023 16:24:22 GMT
Here a more detailed picture of my "RC filter" The values for the capacitor and resistor were chosen "randomly" (try&error). I used what was available to me from. I would like to learn how this would be done correctly. For example, how to calculate the correct values. If you have a link to a tutorial or something like this, please let me know
|
|
|
Post by pt3r on Jun 11, 2023 17:04:37 GMT
I thought I once saw an RC calculator online that helped you to calculate the correct values.
Edit:
|
|
|
Post by keurslagerkurt on Jun 13, 2023 8:41:06 GMT
Nice!!!
(and damn that TBD03 sounds gooooood...)
|
|
|
Post by feijai on Sept 27, 2023 19:49:30 GMT
There was a discussion on Discord (see here) if GRAINS can be used as a sequencer. First I thought this is not possible because the analog output of the Arduino Nano is not "real" analog but digital with pulsewidth modulation (PWM). But namke pointed out that the output can be smoothed out using a RC filter. I tried to build a filter using a resistor and a capacitor. This is pretty confusing: GRAINS already has a built-in filter to eliminate the PWM and retain its DC offset, thus creating a "real" analog signal. Why would you need to add an additional filter? Is it because the original filter isn't good enough in some way? Could you elaborate?
I am the author of Gizmo, so I'm pretty familiar with arduino-based sequencers. It gets me thinking that I might try my hand at a big sequencer of some sort.
What I'd like to know is why more digital outs on GRAINS weren't exposed. That was misfortunate! It'd have been nice to have 5 more digital outs rather than the multi on the unit. And there's space for another analog in! Does anyone know how hard it'd be to green-wire-solution connections from the nano straight to the sockets?
|
|
|
Post by admin on Sept 27, 2023 20:01:57 GMT
GRAINS is a clone of an existing Eurorack module which was developed by Ginko Synthese. The only modification that was made was the introduction of the "Mozzi" switch to make it possible to develop firmware based on the Mozzi audio library. More info can be found on the wiki page: wiki.aemodular.com/pmwiki.php/AeManual/GRAINS
|
|
|
Post by admin on Sept 27, 2023 20:07:28 GMT
I am the author of Gizmo, so I'm pretty familiar with arduino-based sequencers. It gets me thinking that I might try my hand at a big sequencer of some sort. Gizmo looks pretty awesome btw!
|
|
|
Post by feijai on Sept 28, 2023 0:32:29 GMT
GRAINS is a clone of an existing Eurorack module which was developed by Ginko Synthese. The only modification that was made was the introduction of the "Mozzi" switch to make it possible to develop firmware based on the Mozzi audio library. Well, the Grains module already includes a digital out that wasn't on the original. So the genie's already out of the box there. Anyway, a Nano is a Nano -- it's got 8 analog inputs and 22 digital input/outputs. At present we have two I/Os consumed for the USB UARTs, and one exposed as the "D" output, and one exposed as the PWM signal for the audio out. Plus we have, I think, 5 analog ins used for the pots and incoming CV. So we still have 3 analog ins and *18* I/Os unused that we could have done stuff with. That's a LOT of wasted pins! Here's some ideas for a Version 2: - An additional filtered audio out? That'd be just one I/O.
- An additional knob, using an analog input.
- An additional incoming CV, call it "4", using an analog input. There's space for one on the left socket row.
- Three push buttons would have helped greatly (Gizmo uses 3 push buttons to great effect for its applications).
- Some more digital outs and maybe a digital in or two? -- I'd replace the mult with them
- For me as a developer, the biggest issue is lack of feedback. Just a few individual LEDs would have allowed coders to indicate state. This would have been huge. Or just a vertically mounted 10 segment LED bar display to provide 10 state bits. Ooh, or a 12 segment red/green/yellow LED bar display. Or a 2-character alphanumeric display. Heck, an 0.8" 8x8 LED matrix would have been fun (or a vertically mounted 16x8). That'd have exposed just two more I/Os if you did it via I2C.
|
|
|
Post by admin on Sept 28, 2023 6:08:41 GMT
These are all great ideas and I'd love to see a module like this in the future! If you are adventurous enough to design a "SuperGrains" module you could join the growing group of 3rd party manufacturers for AE Modular
|
|
|
Post by feijai on Sept 28, 2023 7:25:14 GMT
Yeah, I'm just a professor on sabbatical. A software guy, not a hardware guy.
|
|
|
Post by pt3r on Sept 28, 2023 13:08:19 GMT
Yeah, I'm just a professor on sabbatical. A software guy, not a hardware guy. The diy module of tangible waves is an ideal platform if you want to build a prototype of this supergrains, it's what I used to build my AEclidian module. Works a charm.
|
|
|
Post by duddex on Sept 28, 2023 17:32:54 GMT
This is pretty confusing: GRAINS already has a built-in filter to eliminate the PWM and retain its DC offset, thus creating a "real" analog signal. Why would you need to add an additional filter? Is it because the original filter isn't good enough in some way? Could you elaborate? [...] I have to admit that I am not a hardware guy and this was more try&error than knowing what I was doing. In my video at about 0:50 I remove the capacitor and the sound becomes jittery. So if there is already a filter, it seems that it is not good enough. I totally agree that it would be great to have more in- and output PINs on the GRAINs. There is a Japanese DYI guy Hagiwo who builds Eurorack modules ( note.com/solder_state/n/n54e016f19c94) A lot of these modules use Arduino Nano code. But often Hagiwo uses more input PINs than are available on GRAINS But as mentioned above, we can also use the BRAEDBOARD to create a Super-GRAINs
|
|
|
Post by feijai on Sept 28, 2023 19:07:33 GMT
Can anyone cast some light onto this? Is the filter in the AE grains module different in some way from that in the Eurorack version?
|
|
|
Post by feijai on Oct 1, 2023 0:09:11 GMT
I have seen somewhere online where there is discussion of adding a small RC filter to grains to eliminate ringing for slow-moving output signals such as CV (as opposed to audio) on the grains (or perhaps other mozzi devices?). I suspect this is what you're seeing. But I can't seem to find it any more. Anyone have any idea where it might be?
|
|
|
Post by admin on Oct 1, 2023 0:58:11 GMT
I have seen somewhere online where there is discussion of adding a small RC filter to grains to eliminate ringing for slow-moving output signals such as CV (as opposed to audio) on the grains (or perhaps other mozzi devices?). I suspect this is what you're seeing. But I can't seem to find it any more. Anyone have any idea where it might be? I'm a bit confused about this question. Isn't the article you ask for exactly the first post in this thread?
|
|
|
Post by feijai on Oct 1, 2023 6:51:57 GMT
I have seen somewhere online where there is discussion of adding a small RC filter to grains to eliminate ringing for slow-moving output signals such as CV (as opposed to audio) on the grains (or perhaps other mozzi devices?). I suspect this is what you're seeing. But I can't seem to find it any more. Anyone have any idea where it might be? I'm a bit confused about this question. Isn't the article you ask for exactly the first post in this thread? Nope. The first post was what got me searching in the first place a while back. The poster was (I think) mistaken that the effect he was hearing was due to PWM, when it is in fact due to the ripple of the filter tuned for audio rather than for CV. There is an explicit discussion about ripple / ringing in CV output from grains. I was searching to see if a step sequencer was worth pursuing. Aha, I found it, it's right in this forum.
|
|
|
Post by duddex on Oct 1, 2023 8:53:49 GMT
Nice! I totally missed this post. This answers some of the questions I had. And for some reason I never noticed that there is a Grains-EnvelopeFollower module in the AE Modular Github repository. I will try this out some time soon
|
|
|
Post by feijai on Oct 1, 2023 10:38:06 GMT
Nice! I totally missed this post. This answers some of the questions I had. And for some reason I never noticed that there is a Grains-EnvelopeFollower module in the AE Modular Github repository. I will try this out some time soon What size resistor and capacitor did you wind up using?
|
|
|
Post by admin on Oct 1, 2023 21:18:06 GMT
Nope. The first post was what got me searching in the first place a while back. The poster was (I think) mistaken that the effect he was hearing was due to PWM, when it is in fact due to the ripple of the filter tuned for audio rather than for CV. There is an explicit discussion about ripple / ringing in CV output from grains. I was searching to see if a step sequencer was worth pursuing. Aha, I found it, it's right in this forum. Thanks for clarifying and good job for finding it!
|
|
|
Post by duddex on Oct 2, 2023 6:33:32 GMT
I used a 1k Ohm resistor and a 10µF capacitor. But I didn't know what I was doing. I just had these parts laying around on my desk. It somehow worked OK for me.
The other forum post suggests 4.7k / 1.0 uF. I will try this next when I will take a look at the Envelope Follower module
|
|
|
Post by keurslagerkurt on Oct 2, 2023 13:41:40 GMT
I used a 1k Ohm resistor and a 10µF capacitor. But I didn't know what I was doing. I just had these parts laying around on my desk. It somehow worked OK for me. The other forum post suggests 4.7k / 1.0 uF. I will try this next when I will take a look at the Envelope Follower module Different combinations of R and C values can basically give the exact same result, your 1kOhm and 10µF would basically be the same filter as a 10kOhm and 1µF. So the suggested values and your values are roughly in the same ballpark. AFAIK you will get a second-order filter, which has a steeper 'roll-of' and slightly altered corner frequency. Or in other words, you move the cut-off of the filter and also make it 'sharper'. Which is basically what you want for generally 'slow' CV as compared to 'fast' audio signals.
|
|