2011-01-03 12 views
1

Ich möchte eine Reihe von verschiedenen Audiodateien (mp3) in Python kombinieren. Eine der Voraussetzungen ist, dass ich am Ende jeder Datei eine Verzögerung angeben kann. Zur Veranschaulichung etwas wie:Kombinieren mehrerer Audiodateien in Python (mit Verzögerung)

[file1.mp3 -------- 3 Sekunden ----------] [Verzögerung --------- 2 Sekunden-- ------] [file2.mp3] ------------- 4 Sekunden] [Verzögerung --------- 2 Sekunden] [file3.mp3 ---- ------ 3 Sekunden ---------]

Kennt jemand hier irgendwelche MP3-Bibliotheken, die dies erreichen können? Python ist hier nicht wirklich notwendig. Wenn es in einer anderen Sprache leichter geht, ist das in Ordnung.

Antwort

2

Ich denke, FFmpeg kann dies tun, angesichts der richtigen Argumente. Keine wirkliche Notwendigkeit, eine Bibliothek zu verwenden.

+0

Es gibt noch andere Dinge, die ich tun müsste (wie Parsing, Umbenennen von Dateien, dynamische Änderung der Verzögerung basierend auf der Länge der Audiodatei usw.). – NRaf

+0

eyeD3 scheint zum Analysieren von ID3-Tags gut zu sein. http://eyed3.nicfit.net/ –

0

Um WAV- oder AIFF-Dateien zu kombinieren, können Sie etwas tun können: (inspiriert von here)

import aifc 

def concatenate(*items): 
    data = [] 

    for item in items: 
     f = aifc.open(item, 'rb') 
     data.append([f.getparams(), f.readframes(f.getnframes())]) 
     f.close() 

    output = aifc.open('output.aif', 'wb') 
    output.setparams(data[0][0]) 

    for item in data: 
     output.writeframes(item[1]) 

    output.close() 

den Link für das WAV-Format anzeigen (es so ziemlich das gleiche ist, aber mit der Welle Bibliothek)

Um Stille hinzuzufügen, würde ich einfach eine ruhige Datei mit Ihrem bevorzugten Audioeditor erstellen und dann in der richtigen Menge an Stille verketten.

Verwandte Themen