2009-05-14 8 views
2

Ich plane, ein Programm für die Manipulation von mehrspurigen OGG-Dateien zu erstellen, aber ich habe keine Erfahrung mit den relevanten Bibliotheken, also bin ich auf der Suche nach Empfehlungen, welche Sprache/Bibliothek dafür zu verwenden. Ich habe keine Vorliebe für die Sprache, ich werde es gerne in C, C#, Python programmieren, was auch immer die Dinge am einfachsten (oder sogar möglich) macht. Vielleicht ist es sogar eine Möglichkeit, Audacity irgendwie zu automatisieren?Ogg-Dateien mehrspurig manipulieren

In Bezug auf die Anforderungen, ich bin nicht auf der Suche nach etwas besonders ausgefallen. Es wird wahrscheinlich ein Befehlszeilenprogramm sein, ich muss nicht in der Lage sein, das Audio abzuspielen, Bilddarstellungen der Wellenformen usw. zu zeichnen. Das Programm wird im Grunde als ein Konverter verwendet werden, aber ich muss etwas vorher bearbeiten Ausgabe. Das heißt, ich brauche die Fähigkeit, einige Tracks programmatisch zu entfernen, das Panning pro Track einzustellen, Trackvolumina zu ändern, etc. Nichts zu komplex, nur ein paar grundlegende Verarbeitungen, und dann das Ergebnis entweder in MP3 oder einem Format ausgeben, das leicht in MP3 konvertiert werden kann. wie WAV.

Irgendwelche Vorschläge oder allgemeine Informationen würden geschätzt, danke.

Antwort

3

SoX kann eine Menge von diesem Zeug, nur mithilfe von Befehlszeilenskripten.

Ich habe verwendet Python + Audiolab komplexere Audioverarbeitung Sachen zu tun:

from audiolab import oggread, wavwrite 

# Read in a file 
data, fs, enc = oggread('test.ogg') 

# Keep just the first two channels 
newdata = data[:,0:2] 

# Reduce by -6 dB 
newdata *= 0.5 

# Write to a new file 
wavwrite(data, 'filename.wav', fs, enc) 
0

Probieren Sie die BASS-Bibliothek aus. Es befindet sich unter http://www.un4seen.com/bass.html und es spielt OGG/WAV/MP3 und eine ganze Reihe anderer Formate. Sie können dann konvertieren/verbinden und DSP wie Compressor/EQ/etc.