br>Excellent stuff. I built one in an evening last month and I'm amazed how versatile it is when you start muting the Latin voices.
I fancy building a second with a 16 step sequencer to trigger drums on my modular.
Would it be possible to replace the existing mini pops samples with different samples? Any idea how to go about getting drum samples into the correct format to cut and paste into Jans code? br> br>

br>NANO-Jorge

br>Yes, it is possible to replace the minipops samples with another pack. As you can see in the image, the drum sounds are large PCM tables.

Convert samples to PCM is easy with Audacity, then you have to adjust its thresholds to fit in the Arduino PWM levels. After that, you have to add the table into the code and change the variables corresponding to the sample table and its length.

ejr27233 wrote:

Excellent stuff. I built one in an evening last month and I'm amazed how versatile it is when you start muting the Latin voices.
I fancy building a second with a 16 step sequencer to trigger drums on my modular.
Would it be possible to replace the existing mini pops samples with different samples? Any idea how to go about getting drum samples into the correct format to cut and paste into Jans code?

br> br>

br>ejr27233

br>I'm afraid thats a bit beyond my abilities in the world of Arduino but I'll have a better look at the sketch when I build the sequencer . br> br>

br>NANO-Jorge

br>Contact me when you build the sequencer, I want to take a look

ejr27233 wrote:

I'm afraid thats a bit beyond my abilities in the world of Arduino but I'll have a better look at the sketch when I build the sequencer .

br> br>

br>NANO-Jorge

br>New Minipops are here! This one and 22 others will be mounted in a workshop at Universitat Politècnica de València UPV. They look very nice!

Also they can synchronize a modular synth with the clock out! br> br>

br>fitzgreyve

br>for anyone that's interested, attached is a version of the sketch with a working external clock input (pin 2).

attachInterrupt(digitalPinToInterrupt(2), ClockISR, RISING); is used to define an interrupt routine that just sets a flag.

the rhythm seqeuncer part of the code now runs in response to the flag (i.e. the external clock).

(this was the easiest way I could see to do it without a total rewrite)

The internal clock still always outputs on pin 13, so can be routed to pin 2 via the switch contact on a "clock input" jack socket.

You lose the mute function (cymbal?) that was previously on pin 2.

Ideally you need to buffer any external input to pin 2!

If this is an inverting buffer the above code needs to change to :
attachInterrupt(digitalPinToInterrupt(2), ClockISR, FALLING);

I've also amended the sketch so that the rhythm pattern only changes at the start of a new bar.

other thoughts:
- (not in this version) - I've already managed split the instrument outputs onto two separate PWM outputs (pins 11 and 3), so they can be mixed externally.
-add an "accent control" output ?
- Jan's original samples are in essence only 6 bit - I assume to avoid overloads when he sums (generally up to 4) instantaneous instrument samples ready for (8 bit) PWM output. It is easy to change the sketch to use "standard" 8 bit samples (you just divide by 4 between summing and output), but that would need a new set of "8 bit" samples creating (8-bit, mono, unsigned, 20kHz sample rate - not 40kHz as stated in the comment in the sketch) br> br>

br>kaputtpanzer

br>wow, that is a nice little machine. Thanks for sharing! br> br>

br>Houtson

br>

fitzgreyve wrote:

for anyone that's interested, ......
- Jan's original samples are in essence only 6 bit - I assume to avoid overloads when he sums (generally up to 4) instantaneous instrument samples ready for (8 bit) PWM output. It is easy to change the sketch to use "standard" 8 bit samples (you just divide by 4 between summing and output), but that would need a new set of "8 bit" samples creating (8-bit, mono, unsigned, 20kHz sample rate - not 40kHz as stated in the comment in the sketch)

fitzgreyve, thanks for sharing, I love the mini pop and I've a plan to build something but I'd like it sync'd so this is really interesting - I've got a set of higher res minipop samples that I could downsample in audacity - let me know if the would help br> br>

br>fitzgreyve

br>

Houtson wrote:

fitzgreyve wrote:

for anyone that's interested, ......
- Jan's original samples are in essence only 6 bit - I assume to avoid overloads when he sums (generally up to 4) instantaneous instrument samples ready for (8 bit) PWM output. It is easy to change the sketch to use "standard" 8 bit samples (you just divide by 4 between summing and output), but that would need a new set of "8 bit" samples creating (8-bit, mono, unsigned, 20kHz sample rate - not 40kHz as stated in the comment in the sketch)

fitzgreyve, thanks for sharing, I love the mini pop and I've a plan to build something but I'd like it sync'd so this is really interesting - I've got a set of higher res minipop samples that I could downsample in audacity - let me know if the would help

THanks, I now have a set that are downsampled and installed. I also have a basic set of CR-68/78 samples working, but need to add in the rhythms plus some additional controls. br> br>

br>djthopa

br>enhorabuena por el diseño br> br>

br>yoho

br>

fitzgreyve wrote:

THanks, I now have a set that are downsampled and installed. I also have a basic set of CR-68/78 samples working, but need to add in the rhythms plus some additional controls.

I certainly am interested in having a CR78 variant. Do you have beta code we can see?

And perhaps look into Mozzi for a better quality sound in Hifi mode? br> br>

Thank you very much the credit! It looks interesting, keep us updated br> br>

br>NANO-Jorge

br>

fitzgreyve wrote:

for anyone that's interested, attached is a version of the sketch with a working external clock input (pin 2).

attachInterrupt(digitalPinToInterrupt(2), ClockISR, RISING); is used to define an interrupt routine that just sets a flag.

the rhythm seqeuncer part of the code now runs in response to the flag (i.e. the external clock).

(this was the easiest way I could see to do it without a total rewrite)

The internal clock still always outputs on pin 13, so can be routed to pin 2 via the switch contact on a "clock input" jack socket.

You lose the mute function (cymbal?) that was previously on pin 2.

Ideally you need to buffer any external input to pin 2!

If this is an inverting buffer the above code needs to change to :
attachInterrupt(digitalPinToInterrupt(2), ClockISR, FALLING);

I've also amended the sketch so that the rhythm pattern only changes at the start of a new bar.

other thoughts:
- (not in this version) - I've already managed split the instrument outputs onto two separate PWM outputs (pins 11 and 3), so they can be mixed externally.
-add an "accent control" output ?
- Jan's original samples are in essence only 6 bit - I assume to avoid overloads when he sums (generally up to 4) instantaneous instrument samples ready for (8 bit) PWM output. It is easy to change the sketch to use "standard" 8 bit samples (you just divide by 4 between summing and output), but that would need a new set of "8 bit" samples creating (8-bit, mono, unsigned, 20kHz sample rate - not 40kHz as stated in the comment in the sketch)