i30-Keyboard

We’ve heard a few times that there’s some trouble getting the keyboard to play different notes and that it will play the same note, regardless of which key is pressed. Here’s a bit more information about this Synth Kit favorite that might help to clear things up.

The keyboard can be a bit tricky, as it is a controller (see pg. 9 in your Synth Kit booklet for more info) and the oscillator is a signal generator (pg. 8). The keyboard doesn’t generate it’s own signal that you can adjust and hear on the speaker on its own, but instead puts out a steady voltage that affects the pitch of the sound wave generated by the oscillator.

Because it is a controller, the keyboard has to come before the oscillator in the circuit in order to work properly. Depending on your setup, the root of your trouble might be that the keyboard is placed after the oscillator or that the that the circuit is missing a signal generator (oscillator or random).

What tips do you have for getting the most out of your keyboard?

So, can I get different value numbers from each key if I plug the keyboard output to a led number module? (I’m trying to pass different numbers to a cloud module to trigger different actions with each key press)

Hi arreter,

Yes, you can get different number values when you connect the number module to the keyboard. Not all values will be available, but you can get more by changing the octave using the octave potentiometer on the keyboard.

Unfortunately, the cloudBit is only able to distinguish if it is receiving a signal or not, and cannot trigger multiple actions from different key presses as you intend to do. An arduino may be the way to go.

–Matt

Hi, @Allison_littleBits ! I am trying to create an array of numbers to output the 49 notes on the keyboard. I started by writing down all the numbers that correspond to notes when I use this circuit: usb power + keyboard + number. Then I cross referenced those number values with the existing number module lookup table, resulting in this array:

int Notes[] = {6, 8, 10,11,13,15,16,18,20,21,23,25,
27,28,30,31,33,35,37,38,40,41,43,45,
47,48,50,51,53,56,57,58,60,62,63,65,
67,69,70,72,74,75,77,79,80,82,84,84,87};

However, when I play this array, I can hear some duplicate notes (I’ve already eliminated the high C from one octave and the low C on the next octave). Please, can you tell me if there is a lookup table for these notes? It will help me plan for another module I am designing now. :smile:

Hey @JackANDJude!

I think getting a response might be a little slow over the holiday break, but I’ll pass this along and see if we can’t get an answer.

Hope you have a great Holiday!

Thanks.

In the meantime, I am getting better results with an improved array. The above array was the numbers that correspond to notes in usb + keyboard + number. I typed in the wrong array - oops! Here’s the corrected array that would still benefit from corroboration when folks have time.
int Notes[] = {15,19,25,28,32,38,39,44,51,53,59,62,
69,70,75,78,84,87,93,96,101,103,109,112,
117,121,126,128,134,137,143,145,150,156,158,163,
169,173,176,181,186,188,193,199,202,208,212,214,
218};

I’ve put the keyboard before the oscillator and after the oscillator, and the keyboard still plays only one note-(a different kind of sound depending on placement in the line up of bits but always the same note). It USED to play different notes when we got it for Christmas, but no longer. HELP! Can you please tell us why?

It’s supposed to be used before the oscillator. Do you have any additional modules (e.g. Number, Bar Graph, Arduino, …) that you can use to check the i30’s output?

ooooohhhhh turns out the pitch was turned all the way down on the oscillator. I guess the notes can’t be differentiated when gets that low. doh! don’t we feel silly. Thanks for responding tho, goncalofsilva!