С помощью простого инструмента, который я разработал на C#, я извлек все wav-треки, содержащиеся в видеофайлах BIK игры, с помощью инструмента командной строки binkconv.exe из RAD Video Tools .
Всего я извлек 500 видео, тогда у меня есть 500 каталогов, каждый каталог содержит 4 дорожки с этим добавочным именем файла:
Теперь я застрял в этой процедуре, потому что мне нужно объединить / смешать четыре файла wav в новый уникальный файл wav.
Я мог бы сделать это вручную с такими приложениями, как Audacity , но мы говорим о папках +500, в каждой из которых содержится 4 файла wav, это безумная ручная работа, тогда мне нужно найти способ ее автоматизировать.
Мне нужно сделать это через приложение командной строки. или с аудиобиблиотекой .Net, которая может объединять аудиофайлы Wave.
Какое бесплатное программное обеспечение для редактирования аудио из командной строки может объединять звуковые файлы в новый?
Это список программного обеспечения, которое я установил:
Обратите внимание, что я только указываю, что я установил эти приложения, но я не уверен, что одно из упомянутых приложений может выполнить эту задачу через командную строку.
Я думаю, что SoX может быть лучшим подходом для этого, но я не знаю, как это сделать.
Вы можете использовать FFmpeg :
ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 output.mp3
Если вы действительно хотите немного сэкономить, установите python , используйте pip install pydub
для добавления pydub, а затем используйте os.walk примерно так:
import os
from pydub import AudioSegment
OUTNAME = "Mixed.wav"
def makemix(audiofiles, dirname):
""" Mix a list of audio files to Mixed.wav """
mix = AudioSegment.from_file(os.path.join(dirname, audofiles[0])
for nextfile in audiofiles[1:]:
layer = AudioSegment.from_file(os.path.join(dirname, nextfile)
mix.overlay(layer)
mix.export(os.path.join(dirname, OUTNAME), format='wav')
for (root, dirs, files) in os.walk('.'):
if OUTNAME not in files:
wavefiles = [fn for fn in files if fn.endswith('.wav')]
if len(wavefiles) > 1:
makemix(wavefiles, root)
Это будет проходить по вашим каталогам из текущего каталога, создавая Mixed.wav везде, где есть два или более волновых файла и нет Mixed.wav, поэтому все ваши 500+ каталогов будут выполнены. Возможно, вам также придется установить ffmpeg.
Вы можете использовать SoX (Sound eXchange) :
sox --combine {mix|merge|mix-power} track1.mp3 track2.mp3 output.mp3
baitisj
ЭлектроСтудии