Объединение файлов .wav из командной строки

3764
user02103012

В настоящее время я нахожусь в каталоге с открытой командной строкой и объединяю файлы wav с помощью команды

copy /b *.wav allAudio.wav 

В этом каталоге 29 файлов wav, каждый из которых имеет длину ровно 00:00:59.

Однако объединенный файл «allAudio.wav», сгенерированный этой командой, имеет размер файла, соответствующий всем объединенным файлам .wav в каталоге, но длина файла составляет только 00:00:59, как и все остальные. WAV файлы в каталоге.

Это не имеет смысла для меня. Если кто-то может объяснить это и предложить способ объединить файлы так, чтобы конечный файл имел правильную длину, было бы здорово.

Here is the current directory

В общей сложности у меня есть несколько папок, содержащих несколько сотен файлов WAV, которые необходимо объединить, поэтому любое программное обеспечение, которое объединяет по одному, не выполнимо для этой задачи.

0
Так есть ли в Windows утилита наподобие "shntool" для Linux, которая может массово удалять заголовки RIFF? user02103012 8 лет назад 0

1 ответ на вопрос

3
Daniel F

This is because the RIFF header contains information about the duration of the file. You need to remove the RIFF headers from all files and create a new one describing the new file. You're treating them like RAW files, which they aren't

You can use sox for this, that would be a better approach

http://sox.sourceforge.net/

The windows binary download is at

http://sourceforge.net/projects/sox/files/sox/

You can also use it to render a png file containing the FFT data and stuff like that. It's a very neat tool.

https://stackoverflow.com/questions/9457020/merge-2-audio-files-in-sox

Забавно, что ты упоминаешь Сокс. Первоначально я планировал использовать эту утилиту там, где эти файлы изначально находились, но у меня нет возможности подключиться к серверу по протоколу ssh (заблокированные порты, обновления встроенного ПО, испорченные сетевые протоколы в Win10, что делает адаптер Ethernet бесполезным). Таким образом, в Windows нет собственных возможностей для удаления заголовков RIFF помимо стороннего программного обеспечения? user02103012 8 лет назад 0
Я не понимаю проблемы. до тех пор, пока вы можете `copy / b`, вы также сможете запускать` sox`. Не могли бы вы elabroate? Daniel F 8 лет назад 0
Позвольте мне уточнить. Является ли sox команда, которую я могу использовать в Windows? Я думал, что это было родным для Linux. user02103012 8 лет назад 0
SoX является кроссплатформенным (Windows, Linux, MacOS X и т. Д.) Daniel F 8 лет назад 1
Обновил ответ со ссылкой на скачивание Daniel F 8 лет назад 0
Да, я вижу это сейчас по ссылке, которую вы предоставили. Это очень помогает. Я постараюсь использовать эту утилиту и Google / man-страницу, если что-нибудь появится. user02103012 8 лет назад 1