Я использовал Audacity для удаления шума из записей раньше, однако он имеет очень ограниченное использование командной строки. У меня есть ~ 100 коротких видео лекций, которые я буду смотреть в течение следующих нескольких месяцев, и хотел бы получить простой способ очистить их все сразу или по мере необходимости перед просмотром.
Есть ли инструмент командной строки или библиотека популярных языков, которые я могу использовать для этого?
SoX - Sound eXchange, the Swiss Army knife of audio manipulation
[...]
SoX is a command-line audio processing tool, particularly suited to
making quick, simple edits and to batch processing. If you need an
interactive, graphical audio editor, use audacity(1).
Таким образом, она должна быть подходящей альтернативой для Audaciy в качестве командной строки.
Что касается фактической задачи очистки записей, взгляните на фильтр, noiseredдля которого равен фильтр шумоподавления Audacity :
man sox | less -p 'noisered \['
[...]
noisered [profile-file [amount]]
Reduce noise in the audio signal by profiling and filtering.
This effect is moderately effective at removing consistent
background noise such as hiss or hum. To use it, first run
SoX with the noiseprof effect on a section of audio that
ideally would contain silence but in fact contains noise -
such sections are typically found at the beginning or the
end of a recording. noiseprof will write out a noise pro‐
file to profile-file, or to stdout if no profile-file or if
`-' is given. E.g.
sox speech.wav -n trim 0 1.5 noiseprof speech.noise-profil
To actually remove the noise, run SoX again, this time with
the noisered effect; noisered will reduce noise according to
a noise profile (which was generated by noiseprof), from
profile-file, or from stdin if no profile-file or if `-' is
given. E.g.
sox speech.wav cleaned.wav noisered speech.noise-profile 0
How much noise should be removed is specified by amount-a
number between 0 and 1 with a default of 0.5. Higher num‐
bers will remove more noise but present a greater likelihood
of removing wanted components of the audio signal. Before
replacing an original recording with a noise-reduced ver‐
sion, experiment with different amount values to find the
optimal one for your audio; use headphones to check that you
are happy with the results, paying particular attention to
quieter sections of the audio.
On most systems, the two stages - profiling and reduction -
can be combined using a pipe, e.g.
sox noisy.wav -n trim 0 1 noiseprof | play noisy.wav noise
[...]
К сожалению, я нахожу описание, которое использует sox на странице руководства, очень шумным для чтения - каламбур. Есть ли не намного более простой способ, с одной только командой, чтобы жонглировать шумоподавлением?
Шев
Конечно, нет проблем - просто напишите в одном простом предложении, что вы хотите изменить, - но достаточно точно, чтобы быть технически понятным ... Хорошо, это не сработает, потому что вам нужно понять, что такое шум и какие части шум, который вы хотите удалить, который вы можете уменьшить, и что может снизить качество звука, в противном случае вы уменьшите шум. Чтобы манипулировать шумоподавлением, вам нужно знать свои клубы жонглирования - виды жонглирования, и как их можно сбалансировать, когда они сталкиваются в воздухе. Тогда Сокс - это ваш инструментарий и аптечка!
Фолькер Сигел
12
Принятый ответ не дает практического примера (см. Первый комментарий к нему), поэтому я пытаюсь привести его здесь. В Ubuntu с apt вам нужно установить soxи поддерживать аудио форматы
Первая установка soxи поддержка форматов (включая mp3):
sudo apt install sox libsox-fmt-*
Затем, прежде чем запустить команду для файла / файлов, сначала вам нужно создать профиль, создать образец шума, это самая важная часть, которую вы должны выбрать для лучшего времени, когда шум имеет место, убедитесь, что вы не делаете иметь голос (или музыку / сигнал, который вы пытаетесь сохранить) в этом примере:
Где noise_profile_fileнаходится профиль и 0.30это значение. Значения лучше всего подходят где-то между 0,20 и 0,30, более 0,3 очень агрессивны, менее 0,20 довольно мягкие и хорошо работают для очень шумных аудиосистем.
Попробуйте поиграть с этим, и если вы найдете другие приемы настройки, пожалуйста, прокомментируйте выводы и настройки настройки.
как пакетно обрабатывать их
Если шум похож, вы можете использовать один и тот же профиль для всех mp3
если это разговорного аудио и отдельные каналы лево-право не является необходимым, то вы можете добавить remix -в микс-вниз всех входных каналов в моно
Джейк Berger
2
@EduardFlorinescu Ваш ответ на месте. У меня была запись статического шума на фоне каждой записи. Я прочитал ваш ответ и использовал первые 2 секунды из моего звукового файла для создания профиля и, наконец, использовал его для удаления шума из записи. Большое спасибо за это.
Принятый ответ не дает практического примера (см. Первый комментарий к нему), поэтому я пытаюсь привести его здесь. В Ubuntu с apt вам нужно установить
sox
и поддерживать аудио форматыsox
Первая установка
sox
и поддержка форматов (включая mp3):Затем, прежде чем запустить команду для файла / файлов, сначала вам нужно создать профиль, создать образец шума, это самая важная часть, которую вы должны выбрать для лучшего времени, когда шум имеет место, убедитесь, что вы не делаете иметь голос (или музыку / сигнал, который вы пытаетесь сохранить) в этом примере:
Теперь создайте профиль из этого источника:
И, наконец, запустите шумоподавление для файла:
Где
noise_profile_file
находится профиль и0.30
это значение. Значения лучше всего подходят где-то между 0,20 и 0,30, более 0,3 очень агрессивны, менее 0,20 довольно мягкие и хорошо работают для очень шумных аудиосистем.Попробуйте поиграть с этим, и если вы найдете другие приемы настройки, пожалуйста, прокомментируйте выводы и настройки настройки.
как пакетно обрабатывать их
Если шум похож, вы можете использовать один и тот же профиль для всех mp3
или если есть структура папок:
источник
remix -
в микс-вниз всех входных каналов в моно