Abspielen von Audiodateien mit Sinus von Arduino

7

Als ich nach einer Möglichkeit suchte, Audiodateien über das Arduino abzuspielen, stieß ich auf diese Website: So spielen Sie WAV-Audiodateien mit Arduino Uno und MicroSD-Karte ab

Dies scheint eine wirklich gute Bibliothek zu sein (obwohl ich noch nicht die Zeit hatte, wirklich damit herumzuspielen). Hat jemand dies schon einmal benutzt, und wenn ja, ist es eine gute Bibliothek, oder kennen Sie bessere, die Sie empfehlen würden?

jaredad7
quelle
Die Bibliothek funktioniert einwandfrei. Details zum Entwickler der PCM-Audiobibliothek finden Sie hier .
Anindo Ghosh
playground.arduino.cc/Code/PCMAudio
Ignacio Vazquez-Abrams

Antworten:

1

Ich habe vor einiger Zeit die TMRPCM-Bibliothek verwendet, die das von Ihnen verlinkte Tutorial verwendet hat, und war sehr zufrieden.

Es nimmt nicht zu viel Platz ein und verfügt über einige wirklich einzigartige und nette Funktionen wie die Möglichkeit, zwei Lautsprecher anstelle von einem für die Wiedergabe von Stereo-Audio zu verwenden (Leider benötigen Sie einen leistungsstärkeren AVR-IC, sicherlich keinen UNO-Board / 328-IC für diese Funktion, wenn Sie nicht bei schlechter Wiedergabe auftreten möchten)

Aus GitHubs Wiki :

Alle 328-basierten Boards: Arduino Uno, Nano, Duemilanove usw.

Megatypen: 1280, 2560 usw.

Derzeit keine fällige Unterstützung.

Sie können nur WAV-Dateien auf der SD haben, diese können jedoch sehr groß sein (andere Bibliotheken beschränken Sie auf eine bestimmte maximale Größe / Dauer), und Sie müssen die SD über SPI mit dem Arduino verbinden (soweit ich weiß, ist dies die einzige Möglichkeit zur direkten Kommunikation mit einer SD-Karte).

Außerdem müssen Sie die Dateien in 8-Bit-WAV (damit der Arduino den Sound schneller und einfacher wiedergeben kann) mit einer Abtastrate von 8 bis 32 kHz (Mono-Audio) konvertieren.

Seien Sie vorsichtig, nur weil Sie die SD mit 3,3 Volt versorgen müssen, sonst braten Sie die gesamte Karte.

Die meisten zusätzlichen Funktionen erfordern mehr Speicher, mehr Programmspeicher und in einigen Fällen mehr Rechenleistung für die Wiedergabe. Einige von ihnen werden noch optimiert. Bitte beachten Sie dies, wenn Sie diese Funktionen aktivieren.

Wenn Sie einen Blick darauf werfen möchten, finden Sie auf dieser Seite weitere Informationen zu den erweiterten Funktionen

Eine letzte Sache, die ich sagen muss, ist, dass die Funktionen wirklich einfach sind:

TMRpcm audio;
audio.play("filename");    plays a file
audio.play("filename",30); plays a file starting at 30 seconds into the track
audio.speakerPin = 11;     set to 5,6,11 or 46 for Mega, 9 for Uno, Nano, etc.
audio.disable();           disables the timer on output pin and stops the music
audio.stopPlayback();      stops the music, but leaves the timer running
audio.isPlaying();         returns 1 if music playing, 0 if not
audio.pause();             pauses/unpauses playback
audio.quality(1);          Set 1 for 2x oversampling
audio.volume(0);           1(up) or 0(down) to control volume
audio.setVolume(0);        0 to 7. Set volume level
audio.loop(1);             0 or 1. Can be changed during playback for full control of looping. 
Stefa168
quelle