[linux] Command-line sound filter
sox
Про sox я что-то забыл, хотя уже использую его в паре сервисов
Специализированное можно самому написать: basicsynth какой-нибудь или другая синтовая библа (насчет нойз-ре, правда, не знаю, но должна быть наверняка открытая реализация) + libsndfile, или как он там.
Попробовал обрезать частоты - бесполезно: звук пишется в AMR, там и так обрезаны все неголосовые частоты. Убирать шум из голоса - задача та ещё. Попробовал фильтр noiseprof | noisered - шумы из естественного фона улицы стали какими-то компьютерными переливами, и полностью конечно же не исчезли. Так что видимо в автоматическом режиме задача пока неразрешима.
в audacity есть какой-то интересный фильтр шумов, который по кусочку шума потом удаляет. оно кончено не консольное, но зато gnu.
Я думаю это как раз то же, что и noiceprof | noisered. Первый по куску шума создаёт профиль (я так понимаю, спектр второй по данному профилю убирает шумы. Очень своеобразный эффект получается, если шумы попадают в те же частоты, что и голос.
Мнэ, это, по-моему, максимум того, что тут можно сделать в автоматическом режиме. Ну то есть наложить бандпасс, что и так сделает энкодер.
Алсо у меня глупый вопрос: у тебя запись-то изначально монофоническая? Расскажи вообще ее параметры.
Да, моно. Мы её получаем в виде одноканального A-law 8kHz (битность щаз не помню). То есть простора для обработки немного
А что, есть какой-то смысл в не восьмиразрядном 8 кгц звуке?
---
.Я работаю.
Да легко!
был бы смысл.
---
"Не надо читать много книг."
Ну фиг знает. Неужели в природе так мало звуков глубиной более 48 дБ, но с пренебрежимо малым harmonic contentом выше 4 кГц?
Во вс. сл., мне это кажется немногим удивительней, чем 8bit/over 9000 kHz, а уж это встретить совсем легко.
---
"То, с чем мы имеем дело при наблюдении, это не сама природа,
но природа, доступная нашему методу задавать вопросы."
Оставить комментарий
Fragaria
Народ, подскажите, есть ли какие-нибудь консольные (command-line, а не ncurses) тулзы для редактирования звука? Задача в общих чертах состоит в том, чтобы накладывать частотные фильтры на звук для подавления шумов в файле с записью голосового сообщения. На первых порах будет достаточно фильтра, пропускающего только частоты человеческого голоса, безо всяких анализов спектра и прочего, хотя в идеале конечно можно и более сложные тулзы юзать.