Управление многодорожечными OGG-файлами программно
Я планирую создать программу для работы с многодорожечными файлами OGG, но у меня нет опыта работы с соответствующими библиотеками, поэтому я ищу рекомендации о том, какой язык / библиотеку использовать для этого. У меня нет особого предпочтения языку, я с радостью запишу его на C, C#, Python, что бы ни делало вещи проще (или даже возможно). Возможно, это даже возможность как-то автоматизировать Audacity?
С точки зрения требований, я не ищу ничего особенного. Вероятно, это будет программа командной строки, мне не нужно будет воспроизводить аудио, рисовать представления изображений для осциллограмм и т. Д. Программа в основном будет использоваться в качестве конвертера, но мне нужно выполнить некоторую обработку перед тем, как Выведение. То есть мне нужна возможность программно удалять некоторые треки, устанавливать панорамирование для каждого трека, изменять громкость треков и т. Д. Ничего слишком сложного, только некоторая базовая обработка, а затем выводить результат либо в MP3, либо в формате, легко конвертируемом в MP3, такие как WAV.
Будем благодарны за любые предложения или общую информацию, спасибо.
2 ответа
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)
Попробуйте библиотеку BASS. он находится по адресу http://www.un4seen.com/bass.html и воспроизводит ogg/wav/mp3 и целый ряд других форматов. Вы можете конвертировать / присоединяться и делать DSP как Compressor/EQ/etc.