Управление многодорожечными 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.

Другие вопросы по тегам