以编程方式操作多轨ogg文件

时间:2009-05-14 19:21:55

标签: language-agnostic audio ogg

我打算创建一个用于操作多轨OGG文件的程序,但我对相关库没有任何经验,所以我正在寻找关于使用哪种语言/库的建议。我对这种语言没有任何偏好,我很乐意用C,C#,Python编写代码,无论什么使事情变得最简单(甚至可能)。也许甚至有可能以某种方式自动化Audacity?

就要求而言,我并不是在寻找特别花哨的东西。它可能是一个命令行程序,我不需要能够播放音频,绘制波形的图像表示等。该程序基本上将用作转换器,但我需要先做一些处理输出。也就是说,我需要能够以编程方式删除某些曲目,设置每曲目平移,更改曲目音量等。没有什么太复杂,只是一些基本处理,然后输出结果为MP3或格式很容易转换为MP3,比如WAV。

任何建议或一般信息都将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:3)

SoX可以使用命令行脚本完成很多这样的工作。

我使用Python + Audiolab来做更复杂的音频处理工作:

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)

答案 1 :(得分:0)

尝试BASS库。它位于http://www.un4seen.com/bass.html,它确实播放ogg / wav / mp3以及其他一系列格式。您可以转换/加入然后执行DSP,如Compressor / EQ /等。