Thanks for the thread! We would like to communicate that first of all, you're not crazy. Sometimes there may be some noise created when using the USB I/O module. However, this can be minimized.
There are a few ways to replicate the noise you are seeing or hearing with the USB I/O module. Here are two cases:
Audio from your computer -> USB cable -> USB I/O bit -> synth speaker bit
It is normal for there to be noise at the output of the USB IO bit, but this noise is very small.
However, the amplitude of the noise is always constant. You cannot "turn down the volume" on this.
The best way to minimize the noise component is to ensure that the volume levels in the computer are high.
For example, on my PC, using a software sythesizer, I have three places I can adjust the volume:
- In my software synth
- In the sound settings of my computer (the soundcard driver)
- The volume knob on the synth speaker bit.
For this setup, I turn the volume as high as I can without clipping for #1 (the software synth),
then do the same for #2. After that, I usually don't have to turn up the volume too high on the synth speaker.
This should minimize noise when injecting audio into the littleBits system.
Audio from littleBits -> USBIO bit -> USB cable -> computer software application
The first thing to note of importance here is that the USB IO module communicates BOTH DC and AC information..
Remembering that the littleBits system voltage ranges from 0 to 5 volts, this means that with this setup:
power bit -> USBIO bit -> computer
your computer is receiving FULL SCALE DC values.
Depending on the software you are using, this could pin the meters even though there is very little audio coming through. And again, depending on your software, an "audio level algorithm" could get confused by this, and possible turn up the gain so that you hear noise.
Instead, use this setup to test:
power bit -> oscillator -> USB I/O module -> computer
This should send a full scale square or sawtooth wave to your software to test.
I tested case 2 on my system as follows:
power bit -> oscillator -> USB I/O module -> Audacity on my PC.
This gives me a full scale square wave into Audacity
power bit -> dimmer (or you can use mix too) -> USB I/O module -> Audacity on my PC.
This is me sending DC levels to Audacity. Audacity will record these, but its meters get confused: they range from 50% to 100%, with the minimum when I have 2.5 volts set at the input to the USB I/O module. This is because Audacity is not expecting DC values, so it computes the display improperly. But it still records it correctly.
There is a good reason why we send both DC and AC values through the USB I/O. With "regular" audio inputs, anything below 20Hz is removed, but control voltages, and modulation waveforms are very often lower than 20Hz. So this way, you can use the USB I/O module for both audio and control purposes.