Page 2 of 40

Re: Been having a lot of fun with this lately....

Posted: Mon Jan 14, 2013 7:09 pm
by aziltz
Ryan wrote:You have to do left and right separately but it's easy, you just read from the left and right ADCs, do the code for each side, then write to the left and right DACs.


cool. I guess if you wanted to, you could use the two channels for different mono effects

Re: Been having a lot of fun with this lately....

Posted: Fri Jan 18, 2013 5:30 pm
by Ryan
You definitely could... you should check out the Spin site and forum, I think you'd find them quite illuminating, there's a real wealth of info and it's a really neat product.

Re: Been having a lot of fun with this lately....

Posted: Sun Mar 24, 2013 6:55 pm
by aziltz
just got my Dev board set up and running with a few programs I mangled from the website. This is a lot of fun!

Re: Been having a lot of fun with this lately....

Posted: Sat Mar 30, 2013 7:55 pm
by Ryan
Right on, Austin! So with your dev board, did you add a buffer circuit into it? And did you modify it's input or output at all? I removed some components... left the input filtering, killed the input caps as I had my own with my buffer, and killed the 10k resistors to ground.

I saw your stereo trem on the forum, that's awesome! I've been doing a lot of experimenting too, hacking up other programs and trying to learn...I feel like I make progress every time I spend a few hours with it but there's still just tons and tons that I don't know. Like how to put limits above ground for the pots, like for gain, I hate when it goes to 0 as that's dead air. Or how to AND off bits for variable bit depth on my bitcrusher, or how to do a peaking eq control... the list goes on.

I've made some progress with my digital distortion plan though.. still don't have a name but here's how the pedal is going to work:

This is early days and anything and everything could change but I'm thinking it'll have 7 knobs and be in the Elements size box: Mix (analog), Volume (analog), Treble (analog), Gain (digital), CTRL1 (digital, will be mids for most patches), CTRL 2 (digital, will be a gate threshold for most patches), Patch Selector (digital, rotary switch)

The FV-1 can store 8 programs and here's my plan so far... 4.5 of these are almost ready too!

Patch 1 - Low gain warm grit
Patch 2 - Medium gain rock'n'roll
Patch 3 - High gain with gate
Patch 4 - Bitcrusher
Patch 5 - Lead gain with delay
Patch 6 - High gain with pitch shift one octave up/down
Patch 7 - Gain with sustain
Patch 8 - Not sure yet

Here's a cool sounding low gain grit with two lines of code, just jacking up the input and output signals:

Code: Select all

rdax dacl, 1.99
wrax dacl, 1.0


From there you can add sof statements to jack up the gain, then a low pass filter to kill some highs, like this one, also 2 lines:

Code: Select all

rdax   lpfilter,0.75
wrax   lpfilter,1


Totally cool way to design guitar pedals, I really get a kick out of it.. and I'm pretty blown away with how high gain you get while still keeping it dead silent with a fairly unobtrusive gate.. friggin cool as flip.

Re: Been having a lot of fun with this lately....

Posted: Sun Mar 31, 2013 3:43 am
by goroth
Patch 8: sample rate reduction!

Re: Been having a lot of fun with this lately....

Posted: Tue Apr 02, 2013 8:41 pm
by Ryan
Nice one, Greigy! So uhh.. how do you do that?

I spent Saturday and Sunday night working on code... got the box layout sorted out too. The cool thing about this build is I can work on the pcb layout, even order the enclosures, before i've got the code perfected, because I just pop in a little memory chip that holds the programs.. gonna be a much different prototyping experience than the Cosmi v3.

Re: Been having a lot of fun with this lately....

Posted: Tue Apr 02, 2013 11:13 pm
by Scruffie
Those modes sound super awesome, you should make 8 Dist + Chorus or Flanger unless when you say pitch shift you mean pitch modulation.

Re: Been having a lot of fun with this lately....

Posted: Wed Apr 03, 2013 1:21 pm
by aziltz
Ryan wrote:Right on, Austin! So with your dev board, did you add a buffer circuit into it? And did you modify it's input or output at all? I removed some components... left the input filtering, killed the input caps as I had my own with my buffer, and killed the 10k resistors to ground.

I saw your stereo trem on the forum, that's awesome! I've been doing a lot of experimenting too, hacking up other programs and trying to learn...I feel like I make progress every time I spend a few hours with it but there's still just tons and tons that I don't know. Like how to put limits above ground for the pots, like for gain, I hate when it goes to 0 as that's dead air. Or how to AND off bits for variable bit depth on my bitcrusher, or how to do a peaking eq control... the list goes on.

I've made some progress with my digital distortion plan though.. still don't have a name but here's how the pedal is going to work:

This is early days and anything and everything could change but I'm thinking it'll have 7 knobs and be in the Elements size box: Mix (analog), Volume (analog), Treble (analog), Gain (digital), CTRL1 (digital, will be mids for most patches), CTRL 2 (digital, will be a gate threshold for most patches), Patch Selector (digital, rotary switch)

Totally cool way to design guitar pedals, I really get a kick out of it.. and I'm pretty blown away with how high gain you get while still keeping it dead silent with a fairly unobtrusive gate.. friggin cool as flip.



I left the Dev board as is and mounted it to a beavis-type board. There is a box with stomp switch, power and I/O jacks. The switch connects to a terminal block which lets me wire to a breadboard, and eventually to and from the Dev board.

First thing I did was breadboard a buffer and crossover to drive the FV-1, and then a mixer to add the L/R outputs and dry signal. With my Stereo Trem/Panner Code it makes a Harmonic trem where the treble and bass are modulated by out-of-phase LFOs. Where the crossovers overlap in frequency, there is some phasing. Very cool sound. I intend to do a similar thing with Vibrato, Chorus & Flanger. I haven't even touched distortion yet. I think I've figured out a way to make a LFO waveshape control and pan from Sine to Triangle to Square, but I haven't implemented it yet.

I think you can put a non-zero lower limit to a pot value by scaling the range less than 1, and then adding the minimum offset to it. For example a POT normally goes 0 to 1. Multiply its value by .8 and it goes 0 to .8. Then add .2 to it and then it runs from .2 to 1 (*I Think).


I have some boards on the way to me that are set up do mono modulation (3 FV-1 Controls, Dip switch for program selection and analog Mix and Volume Boost). I'd be happy to send one to you if you want to check it out. This board has the crossover I mentioned on the input to the FV-1, but you can just not populate that if you don-t want it.


Do you write your own uC code for the relay driver in your pedals? If so, you might be able to also use it to do program selection using a regular analog pot. I know others have done this and shared their code for PICs. You can also use this to get more than 8 programs with multiple EEPROMs and some thing to switch between them.

Re: Been having a lot of fun with this lately....

Posted: Fri Apr 05, 2013 3:23 pm
by goroth
Maybe a white noise generator patch?

Re: Been having a lot of fun with this lately....

Posted: Sat Apr 06, 2013 7:26 pm
by Ryan
Scruffie wrote:Those modes sound super awesome, you should make 8 Dist + Chorus or Flanger unless when you say pitch shift you mean pitch modulation.


Distorted pitch modulation.. I like that idea! My pitch patch is a shifter, goes from octave up to one octave down. It's beyond my skill level at the moment to really understand it but I learn well from hacking. Pitch modulation is way beyond my skill level at the moment but I"ll be hacking into that, very cool idea.

aziltz wrote:I left the Dev board as is and mounted it to a beavis-type board. There is a box with stomp switch, power and I/O jacks. The switch connects to a terminal block which lets me wire to a breadboard, and eventually to and from the Dev board.

First thing I did was breadboard a buffer and crossover to drive the FV-1, and then a mixer to add the L/R outputs and dry signal. With my Stereo Trem/Panner Code it makes a Harmonic trem where the treble and bass are modulated by out-of-phase LFOs. Where the crossovers overlap in frequency, there is some phasing. Very cool sound. I intend to do a similar thing with Vibrato, Chorus & Flanger. I haven't even touched distortion yet. I think I've figured out a way to make a LFO waveshape control and pan from Sine to Triangle to Square, but I haven't implemented it yet.

I think you can put a non-zero lower limit to a pot value by scaling the range less than 1, and then adding the minimum offset to it. For example a POT normally goes 0 to 1. Multiply its value by .8 and it goes 0 to .8. Then add .2 to it and then it runs from .2 to 1 (*I Think).


I have some boards on the way to me that are set up do mono modulation (3 FV-1 Controls, Dip switch for program selection and analog Mix and Volume Boost). I'd be happy to send one to you if you want to check it out. This board has the crossover I mentioned on the input to the FV-1, but you can just not populate that if you don-t want it.


Do you write your own uC code for the relay driver in your pedals? If so, you might be able to also use it to do program selection using a regular analog pot. I know others have done this and shared their code for PICs. You can also use this to get more than 8 programs with multiple EEPROMs and some thing to switch between them.


Thanks Austin! Geez you're good at this stuff fast! That harmonic tremolo sounds like a really cool patch, can't wait to hear it.

You're totally right about the sof command for changing pot limits but I had to get a tip from Frank to get past my limiting problem... the issue is I was doing my code in a dumb way, doing everything straight through as though I was working on an analog signal. Frank showed me how to save my gained and ungained samples in registers then refer back to the register with my pot rather than use the pot directly on the value. That's the problem I have with code, the way you have to think about how you're going to add/subtract/multiply/divide other values or samples to accomplish the goals, I feel like it's a different thought process for me.

I'd love one of your pcbs, thanks!

That's really cool how people are using micros to expand the FV-1, frig code guys are smart! I sort of did my own relay programming.. I really wanted to get into it badly, convinced my pal Austin Lightfoot to show me the gear and software required and then walk me through the logic and commands... he totally held my hand through it and it's the culmination of my micro programming smarts.

Speaking of micro programming smarts, I recently read that VFE has a trick where they use the momentary switch as a momentary hold and enter that mode by holding it down for a few seconds.. that's slick.

goroth wrote:Maybe a white noise generator patch?


Cool idea too! I"m definitely good at making lots of background noise with the Spin chip.... *ha*

I made some good progress this week with just ironing out some details with my patches this week, figured out how to not go silent at minimum gain or maximum gate settings, I don't like when knobs go to dead air. Next thing I'm trying to figure out is how to use a pot to skip through different bit depths. Started the pcb layout too.

Re: Been having a lot of fun with this lately....

Posted: Mon Apr 08, 2013 10:05 am
by aziltz
ah yes, registers. that's a big part of the learning curve. I have experience in coding from my day job, but I am in now way fluent in any one language, so I always find myself relearning in order to do a particular task.

VFE has some great ideas going for them. I actual use their micro-controller, so my next batch of pedals will have the same momentary option. I'll send you a PCB when they come in.

Re: Been having a lot of fun with this lately....

Posted: Sat Apr 13, 2013 12:48 am
by Forrrest
VERY COOL! considering how awesome the Elements is, i'm certain if you offered a 2nd dirt pedal it would be as glorious!
Do iit!

Re: Been having a lot of fun with this lately....

Posted: Sat Apr 13, 2013 9:07 pm
by Ryan
Yeah friggin registers! I'm still hung up on how you use them to affect the signal you want to but not stuff you don't want to.. I can't figure out how to make Frank's simple bitcrusher program work with a pot to select variable bit depth. I've spent 4 nights on it and am close but I'm at a point where I just don't get why it almost works.

One thing that's tough about working with code is how you can assemble your code without any errors but it won't do what you want. Like it's grammatically correct but not actually working or doing what you planned...it's hard to trouble-shoot through that when you don't have a solid understanding of what's going on in the first place. I learn something new every night I spend with it though and it's a lot of fun, so I'm not complaining!

Thanks Kev! I'm going for it! Love that new avatar pic, what's that from?

Re: Been having a lot of fun with this lately....

Posted: Sat Apr 13, 2013 9:25 pm
by Ryan
I'm just gonna spitball a bit here as I find if I say my problems out loud it helps me think about them... and Tanya's tired of hearing about accumulators and registers and skp routines so you guys are up!

With code that processes an audio signal my confusion is how you keep the POTs from affecting the signal while manipulating it.. that's gotta be what's happening with the bitcrusher code, that my POT routine is affecting the signal rather than just skipping to different sections. I can use clr and assemble it, it seems like it's working through the 4 masks I've set, but then if I change one of the bit masks to see if it's working, it doesn't change the one I changed. Not until I mess around with clr instructions in my pot skip routine. It makes it so I can't tell if the skip routine is working or if it's just that the pot is going through the masks directly, cause that's what it seems like. And if I use a clr command at the start of each of my sub-routines for bit depth then I get no routine skipping at all which doesn't make sense to me since they're supposed to be different and unrelated sections. And to confuse me even more, I think I'm writing the crushed signal to a register and then reading it at the end, but when I don't do that it doesn't make any difference.

Ok phew, that's better, had to vent all that confusion!

Re: Been having a lot of fun with this lately....

Posted: Sat Apr 13, 2013 9:53 pm
by aziltz
I wish I could help, but I don't yet understand the skip or mask syntax yet.