Pages: [1]   Go Down
Author Topic: Musik mit Lautsprecher über SD  (Read 807 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 5
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,
ich wollte fragen wie ich eine *.mp3-Datei über einen Lautsprecher ausgeben kann.
Ich habe ein Ethernet-Shield für die Micro-SD-Karte und einen simplen Lautsprecher,
über den ich Töne mit der tone() Funktion ausgeben kann. Wie müsste der Code aussehen damit ich
eine mp3-Datei abspielen kann?

Addi
Logged

  / \    _|  _| o
 /--\ (_| (_| |

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21271
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Hallo,
ich wollte fragen wie ich eine *.mp3-Datei über einen Lautsprecher ausgeben kann.
Mit einem IC das MP3 decodiert.
Grüße Uwe
Logged

Offline Offline
Full Member
***
Karma: 5
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gibt es dazu im Internet ein Tutorial? Würde es mit einer andern
Datei-Art einfacher gehen?

Addi
Logged

  / \    _|  _| o
 /--\ (_| (_| |

Germany S-H
Offline Offline
Faraday Member
**
Karma: 139
Posts: 2895
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gibt es dazu im Internet ein Tutorial? Würde es mit einer andern
Datei-Art einfacher gehen?

Mit WAV-Dateien geht es komplett ohne spezielle Audio-Zusatzhardware, nur SD-Kartenhardware ist für den Arduino erforderlich.

Dazu hatten wir auch letztens einen Thread hier:
http://arduino.cc/forum/index.php/topic,134796.0.html

Vielleicht zum Start von dem Projekt hier ausgehen:
http://hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio

Zum Projekt gehört eine stark abgespeckte SD-Library, die sehr wenig Speicher belegt, und ein unter Windows lauffähiges Kommandozeilen-Konvertierungstool (aber auch für Linux verfügbar), um mit irgendwelcher Software von CD gerippte WAV-Dateien oder von MP3 nach WAV konvertierte Dateien in das spezielle WAV-Format mit ganz bestimmter Datenrate und 8-bit Format zu konvertieren, das die Library abspielen kann.

Besonders auf dem Arduino Uno mit nur 2 KB RAM-Speicher ist ja schon mit zwei Flash-Speicherblöcken a 512 Bytes die Hälfte des RAM weg, die abwechselnd zum Abspielen der Musikdaten genutzt werden, während die nächsten Musikdaten in den anderen Speicherblock vorgeladen werden, also Vorsicht wenn Du auf einem UNO lieber eine Full-Featured-SD-Library verwenden möchtest, das könnte vom RAM her extrem knapp werden oder gar mißlingen. Aber mit der zum Projekt gehörenden SD-Library kein Problem.

« Last Edit: February 07, 2013, 03:29:01 pm by jurs » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21271
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

MP3: zB:
http://www.watterott.com/de/Music-Instrument-Shield?xadc03=a95f770dbb092bc51a083dec81af548c

http://www.watterott.com/de/Breakout-Board-for-VS1033-MP3?xadc03=a95f770dbb092bc51a083dec81af548c
Grüße Uwe
Logged

Offline Offline
Full Member
***
Karma: 5
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Vielleicht zum Start von dem Projekt hier ausgehen:
http://hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio
Die Libarie funktioniert gut. Nur kann man die Tonhöhe auch verändern?
Ich habe eine Testdatei mit meiner Stimme angespielt, nur klingt sie auf dem
Lautspreche so hoch, das man denken kann es ist irgendeine Figur aus dem Fernsehen.

Addi
Logged

  / \    _|  _| o
 /--\ (_| (_| |

Germany S-H
Offline Offline
Faraday Member
**
Karma: 139
Posts: 2895
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die Libarie funktioniert gut. Nur kann man die Tonhöhe auch verändern?
Ich habe eine Testdatei mit meiner Stimme angespielt, nur klingt sie auf dem
Lautspreche so hoch, das man denken kann es ist irgendeine Figur aus dem Fernsehen.

Deine WAV-Datei hat offensichtlich die falsche Datenrate.
Konvertiere sie mit den enthaltenen Kommandozeilentool "sox" in eine WAV-Datei passender Datenrate!

Mit einem Lautsprecher über Einfachverdrahtung und für die bessere Tonqualität wirst Du Deine WAV in "8-Bit, Fullrate, Mono" haben wollen, damit sie unverzerrt wiedergegeben wird.

Hier ist die Kommandozeile/Batch-Zeile, um eine Datei mit falscher Datenrate "myfile.wav" in eine Datei passender Datenrate "myfile.asf" für die Wiedergabe in "8-Bit, Fullrate, Mono" zu konvertieren:
Code:
sox myfile.wav --norm=-1 -e unsigned-integer -b 8 -r 62500 -c 1 -t raw myfile.asf
« Last Edit: February 07, 2013, 04:02:53 pm by jurs » Logged

Offline Offline
Full Member
***
Karma: 5
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Funktioniert jetzt mehr oder weniger. Weil es gerade vom Kontext passt:
Wie schwer ist es einen Ton über ein Mikrofon auszulesen?

Addi
Logged

  / \    _|  _| o
 /--\ (_| (_| |

Pages: [1]   Go Up
Jump to: