Forum

Einloggen | Registrieren | RSS  

ohrenhofer

E-Mail

02.11.2015,
15:38
 

Musiktempoänderung (Elektronik)

Hallo,

Ein Lied (wav-Datei, nicht gesampelt) ist auf einer SD-Karte gespeichert und mit dem ATmega2560 verbunden.
Wie kann ich diese Datei mit C auslesen und bearbeiten? Die Geschwindigkeit der Musik soll um 10% verschnellert bzw. verlangsamt werden ohne dabei die tonhöhe zu ändern! Gibts dazu einen speziellen Algorithmus???

Wär cool wenn ihr mir helfen könntet...bin am verzweifeln
Lg Matthias

xy(R)

E-Mail

02.11.2015,
19:05

@ ohrenhofer

Musiktempoänderung

» Die Geschwindigkeit
» der Musik soll um 10% verschnellert bzw. verlangsamt werden ohne dabei die
» tonhöhe zu ändern! Gibts dazu einen speziellen Algorithmus???

Wie der Algorithmus heißt weiß ich nicht, aber du suchst wohl Timestretch-Software.

bastelix(R)

02.11.2015,
22:16

@ ohrenhofer

Musiktempoänderung

Servus Matthias,

Audio-Verarbeitung ist alles andere als mein Spezialgebiet, aber ich hab mal kurz das Stichwort von xy genommen und zusammen mit ein paar anderen Stichwörtern google gefüttert. Was ich auf die schnelle gefunden habe ist die SoundTouch-Lib: http://www.surina.net/soundtouch/sourcecode.html

Von der Doku her könnte da etwas für dich dabei sein. Allerdings sehe ich ein bis zwei Einschränkungen:

1. Der Code steht unter der LGPL - da du für den ATMega nur ein binary erzeugst und das dann auch den Code der Lib enthält musst du deinen Code auch unter die LGPL stellen und dich auch an die ganzen Anforderungen der Lizenz halten. Ist das für dein Projekt nicht möglich ist die Lib für dich nutzlos.

2. Der Code muss erst auf den ATMega portiert werden. Nach einem kurzen Blick auf den Code halte ich das das für machbar, allerdings müsste man sich das genauer anschauen um den Aufwand abschätzen zu können.