Ниже дан вольный перевод записи с сайта Sakshat Virtual Labs
Need for Short Term Processing of Speech
В статье содержится информация об одном из методов сбора характеристик речевого сигнала и о трех основных характеристиках, которые лежат в основе многих алгоритмов обработки звуковых сигналов и речи.
Большинство средств обработки сигналов работают в стационарных системах, т.е. подразумевают стационарный сигнал. Речь воспроизводится системой речевого тракта и потому она по своей природе нестационарна. Следовательно, обычные средства, которые применяются для обработки сигналов не подходят для обработки речи. Использование их напрямую нарушает лежащие в их основе предположения. И даже если слепо использовать их, результат все равно не будет иметь практического значения. Например, средство вычисление общей энергии фундаментальное в области обработки сигналов:
Предположим, что можно использовать эту формулу для вычисления энергии речи. Несомненно, это даст нам энергию, присутствующую в речевом сигнале. Однако, полученное значение ничего нам не даст. Причина в природе речи — мы знаем что она имеет меняющуюся во времени амплитуду и энергию, потому необходим инструмент, который предоставил бы информацию об изменениях энергии во времени.
Было предложено решение для обработки речи, которое заключалось в использовании уже известных методов из области обработки сигналов с их небольшой модификацией. То-есть используемые средства обработки все так же предполагали стационарный сигнал. Стационарным речевой сигнал получается, когда рассматривается небольшими блоками по 10-30мс. Следовательно, для обработки речи разными средствами обработки сигналов, она рассматривается в блоках по 10-30мс (дальше такой участок будем называть речевым сигналом). Такая обработка называется Краткосрочной Обработкой (Short Term Processing (STP)).
STP речи может выполняться во временной или частотной областях. Выбор области зависит от того, какую информацию мы хотим извлечь из речи. Например, такие параметры как short term energy, short term zero crossing rate и short term autocorrelation могут быть вычислены во временной области, а преобразования Фурье — могут быть вычислены в частотной области. Каждый из этих параметров дает какую-то информацию о речи, и может быть использован для обработки.
Short Term Energy
Назовем энергией абстрактную величину, которая характеризирует сигнал. Энергия речи изменяется во времени из-за своей природы и потому, для любой ее автоматической обработки важно знать как эта энергия изменяется во времени. По происхождению, речевой сигнал состоит из речевых/неречевых участков/тишины. Энергия участка с речью по своей величине больше энергии неречевого участка, в то время как энергия тишины близка к нулю. Таким образом характеристика short term energy может быть использована при классификации голосовых/неголосых участков по признаку присутствия речи или тишины.
Формулу для нахождения short-term energy можно вывести из формулы полной энергии определенной в области обработки сигналов. Там полная энергия сигнала вычисляется так:
Для вычисления short-term energy мы рассматриваем участок речи длительностью 10-30мс. Допустим что сэмплы во фрэйме перечисляем так«n=0 to n=N-1», где N — длительность фрейма (количество сэмплов). За границами фрейма энергия будет равна нулю. Таким образом получаем:
То-есть формула дает полную энергию в блоке речи.
где w(n) — оконная функция — в литературе по обработке сигналов упоминается несколько таких функций. Чаще всего используется
прямоугольное окно:
окно Ханна:
или окно Хемминга:
Для всех характеристик, вычисляемых во временной области будем использовать прямоугольное окно из-за его простоты.
Теперь можно полностью записать формулу расчета short term energy:
где n — сдвиг в сэмплах. Поскольку изменения энергии в случае с речью незначительны, то считать short term energy с малым сдвим не имеет смысла. Потому чаще всего его задают равным или меньшим половине фрейма.
Последнее что стоит отметить на счет short-term energy это размер фрейма. Поскольку речь становится примерно стационарной в блоках от 10 до 30мс, обычно для фрейма выбирают размер 20мс. Если выбрать больший размер, мы получим более сглаженную картину энергии и можем не заметить как она изменяется.
Short Term Zero Crossing Rate (ZCR)
Zero Crossing Rate дает информацию о количестве изменений знака функции (пересечений функцией оси ОХ). Если количество пересечений велико в каком-то сигнале — значит сигнал содержит высокочастотную информацию и наоборот. Таким образом ZCR предоставляет информацию о частотном содержимом сигнала.
В случае стационарного сигнала ZCR считается следующим образом:
Эту формулу можно исправить для нестационарного сигнала вроде речи и назвать как short term ZCR:
По природе речи сигнал изменяется со временем через несколько мсек. Для того чтобы получить какую-то информацию, ZCR необходимо вычислять на фреймах с все той же длительностью 10-30мс и сдвигом равным половине фрейма. Выше дан график обработки записанного предложения «she had your suit in your greasy wash water all year». На гласном звуке «s» значение характеристики значительно превышает значение на гласном «а».
Short Term Autocorrelation
В обработке сигналов кросскорреляция может быть использована для нахождения схожести между двумя последовательностями, а автокорреляция требует только одну последовательность и определяет насколько сигнал похож сам на себя по времени.
Для нестационарного сигнала автокорреляция вычисляется по следующей формуле:
где sw=s(m) w(n-m) — оконная версия s(n). В результате получаем short term autocorellation последовательность. Природа этой последовательности отличается для участков с речью и без неё.
И хотя тема автокорреляции совершенно не раскрыта, было бы неуместно не упомянуть о ней в разрезе этой темы.
P.S.В следующей статье наконец-то предвидится реализация вычисления некоторых из характеристик для того чтобы материал был понятнее.
Автор: ArtemE