← Revision 5 as of 2012-03-09 00:49:01
Size: 1271
Comment:
|
← Revision 6 as of 2012-03-09 01:13:27 →
Size: 4135
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
==== Limitations of the design ==== The mixtape concept relies upon low-cost, low-power electronics. It was essential to the design that it could run off a coin cell battery. To this end, a number of tradeoffs were made, some of which led to reduced performance. Some of these can be undone by the determined hacker. * Headphone Output - The headphone output puts the left and right speakers in series, which produces a louder sound at a greatly reduced power consumption. The effect, though, is to make the left and right channels inverted from one another. So, if you plug your Mixtape Alpha into a mono system, you won't hear any sound. Also, this means the ground ring of the 1/8" jack is not actually circuit ground. To avoid any problems with this, use an 1/8" mono plug when possible. * Pattern Storage - Writing to internal FLASH or EEPROM consumes 4mA and takes forever, whereas writing to internal SRAM consumes no extra power and is very fast. Unfortunately, this means that there is much less pattern storage space. As it is currently implented, 64 step patterns can be recorded. Longer patterns can be recorded, but these will become corrupt if the "Echo" function is enabled, as the pattern memory shares the same space as the echo memory. We highly reccomend writing patterns longer than 64 steps and turning on "Echo", it makes some crazy sounds. * Wavetable Length - The longer a wavetable, the more precise of a tone a fixed integer step size can give. But, this also reduces the total number of wavetables that can be stored, and the highest frequency possible. We used 2048 sample wavetables, as there is plenty of storage space, and not enough processing time for interpolation. * Processor Speed - Perhaps the biggest limitation of them all. We decided to use the internal 8MHz processor because it was cheaper than adding a crystal, and it consumed a lot less power. But, this limits the total processing time between samples, and forced a number of other decisions, like the next one on the list. * Assembly Code - Sorry about this one, but it had to be done. At 8MHz, there just isn't time to mess around with C. The code is well commented, and a lot of the interesting variables are easy to change, and clustered together (e.g. attack, decay, note tables, wave tables, effects). * Resistive Sensing - We're still up in the air on this one. The resistive sensing works very well when the device is connected to headphones. But, if it gets connected to earth ground in any way, mains hum makes the touch pads flakey. At 60Hz there is about a 1s beat frequency that can be interesting, but is mostly annoying. We are looking into capacitive sensing instead, but it requires more processing time, which we don't really have. |
|
Line 11: | Line 27: |
Files: Version 0.0 * [[mixtape.pd|Pure Data wavetable creator]] |
note: files will be uploaded as they are finalized. Files: Version 1.0 * [[attachment:mixtape.pd|Pure Data wavetable creator]] |
Mixtape Alpha
About Mixtape Alpha
Mixtape Alpha is the first in a series of super-scaled-down synthesizers and sound generators. We started with a raw chunk of electronics, and removed anything that wasn't a synth. What we were left with was a microcontroller, battery, and some LEDs.
Mixtape Alpha is an attempt to break down the barriers between people and electronics: To get them comfortable touching PCBs, and change expectations about how electronics should look. To this end, there are resistive touch pads, and all the trace routing took aesthetics into consideration as well. This concept was the brainchild of Jie Qi from the Hi-Low Tech group at the MIT Media Lab.
Limitations of the design
The mixtape concept relies upon low-cost, low-power electronics. It was essential to the design that it could run off a coin cell battery. To this end, a number of tradeoffs were made, some of which led to reduced performance. Some of these can be undone by the determined hacker.
- Headphone Output - The headphone output puts the left and right speakers in series, which produces a louder sound at a greatly reduced power consumption. The effect, though, is to make the left and right channels inverted from one another. So, if you plug your Mixtape Alpha into a mono system, you won't hear any sound. Also, this means the ground ring of the 1/8" jack is not actually circuit ground. To avoid any problems with this, use an 1/8" mono plug when possible.
- Pattern Storage - Writing to internal FLASH or EEPROM consumes 4mA and takes forever, whereas writing to internal SRAM consumes no extra power and is very fast. Unfortunately, this means that there is much less pattern storage space. As it is currently implented, 64 step patterns can be recorded. Longer patterns can be recorded, but these will become corrupt if the "Echo" function is enabled, as the pattern memory shares the same space as the echo memory. We highly reccomend writing patterns longer than 64 steps and turning on "Echo", it makes some crazy sounds.
- Wavetable Length - The longer a wavetable, the more precise of a tone a fixed integer step size can give. But, this also reduces the total number of wavetables that can be stored, and the highest frequency possible. We used 2048 sample wavetables, as there is plenty of storage space, and not enough processing time for interpolation.
- Processor Speed - Perhaps the biggest limitation of them all. We decided to use the internal 8MHz processor because it was cheaper than adding a crystal, and it consumed a lot less power. But, this limits the total processing time between samples, and forced a number of other decisions, like the next one on the list.
- Assembly Code - Sorry about this one, but it had to be done. At 8MHz, there just isn't time to mess around with C. The code is well commented, and a lot of the interesting variables are easy to change, and clustered together (e.g. attack, decay, note tables, wave tables, effects).
- Resistive Sensing - We're still up in the air on this one. The resistive sensing works very well when the device is connected to headphones. But, if it gets connected to earth ground in any way, mains hum makes the touch pads flakey. At 60Hz there is about a 1s beat frequency that can be interesting, but is mostly annoying. We are looking into capacitive sensing instead, but it requires more processing time, which we don't really have.
Documentation
note: files will be uploaded as they are finalized.
Files: Version 1.0