Как использовать команду pad в Sox Library в приложении Mac OS, чтобы добавить тишину в начало и конец аудиофайла? - PullRequest
1 голос
/ 08 октября 2019

Я пытаюсь добавить тишину в начало и конец аудиофайла в приложении Mac OS (задача c). Для этого я использую библиотеку sox. я использую предварительно скомпилированные рамки из этого репо . Перетянул файлы libsox.a и sox.h.

Я пытаюсь использовать команду pad. документацию по sox можно найти здесь

Проблема в том, что команда pad не дает ожидаемых результатов при использовании в коде. Тем не менее, команда pad прекрасно работает на терминале.

Давайте рассмотрим пример

Входной файл выглядит так

input file

Когда я использовал команду pad на терминале, он правильно добавляет тишину в конец и начало файла, поэтому я написал на терминале

sox in.wavout.wav pad 0.5 0.5

добавлено 0.5 секунды тишины в начале и в конце и мой файл. поэтому вывод выглядел следующим образом (идеально)

правильный вывод с терминала

correct output

Но когда я его используюв коде вывод неправильный

неожиданный вывод при использовании команды pad из кода

unexpected output

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

Я пытался сделать эту работу в течение нескольких дней, но не смог этого сделать. Я видел другие вопросы и погуглил их, но не смог найти решение.

Код, который я использую : https://www.codepile.net/pile/nL6xzjQ8

PS

  1. Обрезка файла (удалениеSilence) отлично работает с sox с командой «silence»

  2. Я использую Audacity инструмент для просмотра выходных аудиофайлов

Что я искал и нашел.

добавить тишину в конец mp3

Как удалить начало и конец молчания из аудиофайла

Любая помощь будет высоко ценится. Спасибо

...