3

Кто-нибудь знает, как пакетно добавить один аудиофайл к другому аудиофайлу и создать отдельный вывод для каждого. Например

Files:

Static.wav
Audio1.wav
Audio2.wav
Audio3.wav

Мне нужен скрипт, который может сделать следующее:

Static.wav + Audio1.wav = Audio1out.wav
Static.wav + Audio2.wav = Audio2out.wav
Static.wav + Audio3.wav = Audio3out.wav
Static.wav + Audio*.wav = Audio*out.wav
(* = wildcard)

Спасибо!

3 ответа3

5

Еще одно обновление: это похоже на решение, представленное здесь. Это решение использует ffmpeg для преобразования (что вам не нужно) и sox для объединения файлов.

Вам нужно всего лишь скачать сокс и использовать его. Сценарий ниже будет делать то, что вы хотите, но имена выходных файлов не будут такими, какими вы хотите. Но вы можете по-разному обрабатывать переименование.

Создайте сценарий оболочки (Объединение.sh или другое имя) со следующими командами и запускайте его при необходимости:

for i in Audio*.wav
do
    sox -m Static.wav $i {$i}out.wav
done    

Пожалуйста, обратитесь сюда для получения дополнительной информации об использовании sox.

0
file="madonna.wav"

do_combine () {
    input_filename="$@"

    # Strip the path
    input_filename="${input_filename##*/}"

    # Parameter expansion with input_filename below strips the extension
    cat "$file" "$input_filename" > "newfile.${input_filename%.*}.wav"
}

Так что вы можете сделать это:

do_combine "metallica.wav"

и полученный файл называется "newfile.wav" и представляет собой комбинацию Мадонны и Металлики, начиная с самой материальной девушки.

cat является законным методом объединения файлов wav .

Так что, если вы хотите объединить все файлы в определенном каталоге:

for file in /path/to/dir/*.wav
do
    do_combine "$file"
done

Там может быть ошибка, это было сделано без манжеты. Наличие программы для объединения файлов Madonna было бы очень неудобно объяснять.

0

Довольно простая строка даст вам вывод n .

echo $(cat file1)$(cat filen)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .