Tentativa de criar uma loop machine utilizando arduino e um DAC baseado em escada de resistores (thanks eti).
O VoiceShield usa o ISD4003, conhecido como voice chip capaz de gravar até 4 minutos de áudio.
http://github.com/glerm/rascunhos_arduino/blob/master/ISD4003/ISD4003.pde
uma idéia é usar um gravador de fitinha, com o arduino como controlador...
aqui foi usado um gravador digital baratinho e o arduino no controle... http://www.bonf.net/2008/03/23/diy-cheap-o-looper-effect/
ou ainda usar um cartão sd como memória...
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1206874649/8
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1229533687
http://tinkerish.com/blog/?p=13
- http://www.uchobby.com/index.php/2008/01/08/arduino-audio-dac-options/
- http://blog.makezine.com/archive/2008/05/makeit_protodac_shield_fo.html
- http://en.wikipedia.org/wiki/Resistor_Ladder
- http://www.adafruit.com/blog/2009/07/07/waverp-an-arduino-library-for-recording-and-playing-wave-files-on-the-adafruit-wave-shield/
- http://interface.khm.de/index.php/lab/experiments/arduino-realtime-audio-processing/
Ler/Gravar Áudio
conecte um canal de áudio em uma entrada analógica (neste caso, 1).
conecte um canal de áudio na saída digital pwm (neste caso, 11).
int sample[512];
void setup(){
}
void loop(){
for (int i = 0;i<512;i++){
sample[i] = analogRead(1);
delayMicroseconds(125);
// poderia ler a entrada aqui e gravar direto em um cartão sd
}
delay(1000);
for (int i=0; i<512; i++) {
analogWrite(11, map(sample[i],0,1023,0,255));
delayMicroseconds(125);
// depois poderia ler e mandar para a saída pwm...
}
}