Знакомьтесь, новый диктор!

Мы рады представить вам нашего нового диктора! Сергей Матаков свободен от эффекта дежавю – ранее не звучал в коммерческих роликах. По результатам фокус-групп среди женской аудитории – один из самых высоких баллов выбора.

 

НОВОСТИ
2012.04.12
Демо запись, голосовой кастинг для последующей озвучки видео презентации.

2012.04.11
Запись голосового меню. Выполнено озвучивание сообщений IVR, в записи приняли участие профессиональные дикторы.

2012.04.10
Запись диктора клиента.

 

Алгоритм работы программы для исключения дыхания из цифровых фонограмм записи речи на основе амплитудного спектра сигнала

Кузнецов Дмитрий
Опубликовано: 5 января 2007

Аннотация

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

Введение

При разработке алгоритма функционирования программы необходимо выяснить ряд ключевых моментов, на основе которых будет вестись разработка, и которые будут играть решающую роль в проектировании основных и вспомогательных функций программы. Такими параметрами являются: формат входных и выходных данных, результат работы программы, основные шаги для достижения результата. Это необходимо выяснить на начальном этапе разработки алгоритма функционирования программы, так как перечисленные параметры в значительной степени определяют сам алгоритм.

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

Рассмотрим все параметры, необходимые для начала разработки алгоритма функционирования программы, предназначенной для исключения дыхания из пауз речевых фонограмм.

Форматы входных и выходных данных одинаковы: речевая фонограмма в формате Microsoft Wave (*.wav), несжатый (uncompressed) PCM (Pulse Code Modulation – импульсно-кодовая модуляция), частота дискретизации – 44000 Гц, количество бит на выборку – 6, количество каналов – моно ( канал). Длительность исходной (и, соответственно, результирующей) фонограммы не превышает 00 часов звучания.

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

Рассмотрим, какими методами можно достичь необходимого результата.

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

Далее необходимо проанализировать исходную фонограмму на предмет присутствия в ней пауз. Пауза будет детектироваться в соответствии с заданными пользователем параметрами максимального уровня громкости шумового фона в паузе, минимальной длительности паузы, времена возрастания и затухания полезного сигнала.

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

Дополнительно, перед началом обработки, необходимо создать копию исходного файла, чтобы в результате обработки исходная фонограмма не была повреждена (например, в результате сбоя программы или вычислительной системы, под управлением которой работает программа).

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

Общая структура приложения

Общую структуры приложения можно представить в виде блок-схемы, показанной на рисунке 1.

Данная структура ориентирована на действия пользователя при работе с программой. С учетом этого можно проанализировать общую схему работы приложения. Как видно на блок-схеме, после создания окна приложения, программа ожидает действий пользователя. При этом нужно учесть, что активизация отдельных элементов управления не всегда доступна. Например, пользователь не может начать обработку, если файл не открыт, или сохранить результат, если не произведена обработка. Однако, для сохранения понятности алгоритма функционирования, данные аспекты не отображены на блок-схеме.

 

Рисунок 1. Блок-схемы алгоритма функционирования приложения

На блок-схеме приведен блок «X1», который отвечает за весь процесс обработки фонограммы. Этот блок отвечает за все действия, которые должны выполняться, исходя из блок-схемы исключения шумового фона: поиск пауз, получение амплитудных спектров, сравнение амплитудных спектров.

Алгоритм функционирования блока обработки фонограммы

Блок-схема алгоритма функционирования блока обработки фонограммы («X1») приведена на рисунке 2.

На блок схеме представлены все основные шаги выполнения обработки фонограммы. При этом также раскрываются методы, которые применяются для достижения конечного результата.

Сначала создается копия файла исходной фонограммы, чтобы не повредить оригинал. Затем с помощью последовательного анализа значений каждой выборки сигнала, производится выделение фрагментов, которые являются паузами в соответствии с заданными параметрами. Как видно на блок-схеме, вводится дополнительное значение (флаг), указывающее на то, найдено ли было начало паузы или нет. Это значение отвечает за набор значений в паузу, то есть пока этот флаг указывает на то, что начало паузы было найдено, все значения, удовлетворяющие характеристикам значений в паузе считаются частью этой паузы, а не началом новой. Когда флаг указывает на то, что найдено окончание паузы, то каждое значение, удовлетворяющее характеристикам паузы считается началом новой паузы.

В блок-схеме присутствуют блоки «X2» и «X3», которые отвечают за вычислительные аспекты обработки фонограммы. Блок «X2» отвечает за получение амплитудного спектра сигнала с помощью дискретного преобразования Хартли. Блок «X3» отвечает за расчет коэффициента взаимной корреляции амплитудных спектров сигналов.

 

Рисунок 2. Блок-схема алгоритма функционирования блока обработки фонограммы «X1»

Алгоритм работы блока получения амплитудного спектра сигнала

Алгоритм работы блока получения амплитудного спектра сигнала «X3» можно представить в виде блок-схемы (рис. 3).

Здесь, для расчета амплитудного спектра используются метод расчета дискретного преобразования Хартли, и взаимосвязь дискретного преобразования Хартли и дискретного преобразования Фурье (формула (1)) и расчет амплитудного спектра по значениям дискретного преобразования Фурье (формула (2)).

 

 (1)

 

 (2,а)

 

 (2,б)

 

Рисунок 3. Блок-схема алгоритма блока «X2»

На рисунке видно, что алгоритм использует взвешивающее окно Блэкмана для исключения краевых эффектов при получении амплитудного спектра. Используется разбиение исходной последовательности данных в паузе на блоки по 1024 значения для наиболее рационального использования памяти вычислительной техники. Используется алгоритм быстрого преобразования Хартли с децимацией по частоте. Реализация алгоритма БПХ ЧД представлена в виде отдельной функции FHT_F(). Также, в соответствии с алгоритмом БПХ ЧД, необходимо произвести реорганизацию полученной в результате вычисления БПХ ЧД последовательность. Алгоритм этой реорганизации аналогичен алгоритму, используемому в БПФ. Алгоритм реорганизации рассчитанной последовательности также выполняется в виде отдельной функции FFTReorder(). После этого производится расчет значений мнимой и вещественной частей последовательности ДПФ исходя из связи ДПХ и ДПФ. Затем рассчитывается амплитудный спектр сигнала.

Алгоритм работы блока расчета взаимной корреляции амплитудных спектров сигналов

Алгоритм работы блока «X3» расчета взаимной корреляции амплитудных спектров сигналов представлен в виде блок-схемы на рисунке 4.

Основу работы алгоритма составляет расчет коэффициентов взаимной корреляции сигналов, который реализуется по формуле:

(3)

Это обусловлено тем, что данный алгоритм призван решить задачу сравнения сигналов и получения степени их связи в числовом представлении. Однако, основываясь на последовательности коэффициентов, рассчитанных для каждой пары значений выборок сигналов, нельзя получить единого представления степени связи («похожести») двух сигналов (в данном случае, амплитудных спектров сигналов). Поэтому, для приведения к удобному для анализа виду, используется вычисление среднего арифметического значения всех рассчитанных коэффициентов взаимной корреляции амплитудных спектров, при этом точность анализа несколько снижается, но это практически не сказывается на оценке взаимосвязи амплитудных спектров сигналов.

Рисунок 4. Блок-схема алгоритма работы блока «X3» расчета взаимной корреляции амплитудных спектров сигналов

Заключение

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

Основным достоинством разработанных алгоритмов является то, что для исключения дыхания из пауз речевых фонограмм используется наиболее эффективный метод детектирования сигнала по образцу – метод расчета и оценки взаимосвязи амплитудных спектров сигналов. Также, нельзя не отметить высокую скорость работы данных алгоритмов, поскольку используются математические алгоритмы быстрого преобразования Хартли.

Разработанные алгоритмы не учитывают необходимости плавного затухания (возрастания) сигнала на краях паузы, однако, подобного рода дополнения к алгоритму могут быть легко встроены.

В ходе анализа работы разработанных алгоритмов, можно заметить, что работа программы, построенной на основе этих алгоритмов, будет поэтапной, т.е. достижение конечного результата разделено на несколько шагов: создание копии исходного файла, поиск пауз, расчет амплитудных спектров и их сравнение. Такая организация работы немного медленнее, чем, например, организация, при которой для каждой найденной паузы сразу же рассчитывается амплитудный спектр и сравнивается с образцом, не создавая при этом копию исходного файла. Однако, поэтапная организация обладает большей наглядностью и понятностью.

По результатам выполнения программной реализации разработанных алгоритмов были сделаны выводы о том, что алгоритмы работают и необходимый результат обработки достигается.

Литература
  1. Афичер, Эммануил С., Джервис, Барри У. / Цифровая обработка сигналов: практический подход, 2-е издание. : Пер с англ. – М.: Идательский дом “Вильямс”, 2004;
  2. Алексей Лукин / Введение в цифровую обработку сигналов (математические основы) : Лаборатория компьютерной графики и мультимедиа, МГУ, 2002;
  3. Илья Кантор / Эффективное вычисление дискретного преобразования Фурье и дискретного преобразования Хартли, 2002;
  4. Брейсуэлл Р. / Преобразование Хартли: Пер. с англ. – М.: Мир, 990;
  5. http://www.websound.ru/articles/theory/fft.htm.

 

 



 

 





Яндекс.Метрика


Находится в каталоге Апорт
Анализ аудитории сайта

Производство рекламы
Промосервер
Каталог рекламных сайтов

 

Наш адрес: 109028 Москва,
Б. Трехсвятительский пер., 3
Тел.:  (495) 782-7544, 755 2812, 917-2337
Факс: (495) 917 3755
E-mail: order@audio-studio.ru

Спасибо