Графическое представление звука стандарта PCM WAV

факультет Автоматики и вычислительной техники

В работе приведена структура файлов PCM WAV и обоснована эффективность этой структуры для применения в программе вывода графика амплитуды звука по времени. С учетом данных о структуре рассмотрены некоторые основные проблемы визуализации звука и их решения. На основе исследования создана программа визуализации звука.

In the Article there is description of structure of PCM WAV format. There is basing this structure effectiveness for application to the program of amplitude graph reflection. There is description of certain of voice visualization problems and corresponding solves.

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

НЕ нашли? Не то? Что вы ищете?

Существующие решения этой проблемы (например, маркеры в WaveLab и Cool Edit Pro) есть в неспециализированных системах, не позволяющих менять функциональный состав, что затрудняет их применение при обработке большого количества информации. Для эффективной обработки большого количества информации (именования многочисленных звуковых интервалов) необходимо обеспечить некоторые особенности программы для определения положения семантических элементов звукового файла: малый набор специальных функций, возможность оперативно менять функциональный состав (так как программирование в заданной предметной области осуществляется итерациями). В качестве элемента для отображения звука был выбран компонент вывода графика амплитуды звука по времени, так как он является относительно менее сложным, но эффективным и наглядным.

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

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

PCM WAV является частным случаем формата WAV. Формат WAV разработан на основе Microsoft RIFF, как его спецификация для хранения мультимедиа информации. RIFF файл состоит из: заголовка, последующих структур, каждая структура может содержать список структур. Для PCM WAV файла идентификатор расширения равен «WAVE», и всегда в списке структур есть хотя бы две: структура формата звука, структура данных. По модели PCM WAV файла можно построить алгоритм чтения атрибутов файла, искомой выборки данного канала и определения ее длительности. В данной работе модель чтения WAV была реализована в ЯВУ как объект TWavFile, наследующий процедуры обработки RIFF файлов из другого объекта TRiffFile. Разделение процедур между двумя объектами по этому признаку позволяет обеспечить более эффективную разработку приложений, обрабатывающих другие форматы, основанные на технологии структур файлов обмена данными RIFF.

Процедура загрузки Riff считывает в начале последовательность 4 байт идентификатора и длинны структуры, прибавляет длину структуры к счетчику и повторяет этот алгоритм пока функция чтения не передаст в процедуру сигнал окончания файла. При чтении каждой структуры данные о ней заносятся в таблицы идентификаторов, указателей и длин. При чтении последней структуры проверяется соответствие фактической длины файла и указанной в первом заголовке. Процедура загрузки PCM WAV выполняет унаследованную процедуру загрузки (открывает как RIFF), собирает по адресу указателя на позицию в файле для структуры формата звука вектор атрибутов формата звука. При обработке больших интервалов времени объем обрабатываемой информации также большой и, следовательно, влияет на быстродействие системы. С другой стороны, любое количество выборок, большее единицы, не может поместиться в одно значение графика. Поэтому при реализации графического интерфейса, обеспечивающего визуализацию звука на некотором интервале времени, необходимо решить две задачи: поиск одного значения графика для интервала выборок (как максимум значения амплитуды); уменьшение времени построения графика (с помощью включения в вычисление не всех выборок и введения графического буфера).

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

· Вывод на экран графика звука как функцию амплитуды по времени;

· Возможность масштабирования изображения по интервалу времени на единицу длины графика (при этом применяется выбранный пользователем алгоритм сжатия реальных колебаний амплитуды звука на интервале времени в одно приближенное значение амплитуды);

· Прокрутку файла в окне (т. к. отображается лишь часть файла в данный момент времени, но может отображаться и весь как частный случай);

· Подбор средней амплитуды вывода графика, для просмотра тихих и громких звуков;

· Проигрывание файла целиком и данного интервала, выбранного пользователем с помощью интерфейса.

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

Рис. 1. Интерфейс СУБД WaveLook (Разметка слова сделана пользователем)

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

Использованная литература

http://*****/gff/graphics/summary/micriff_en. html Microsoft RIFF. O'Reilly, http://*****, 1.06.1996, 1994 http://ccrma. stanford. edu/courses/422/projects/WaveFormat/ WAVE PCM soundfile format. Scott Wilson, http://ccrma. stanford. edu Jan 20, 2003 http://www. wotsit. org/search. asp? page=8&s=music WAVE File Format. Microsoft, http://www. wotsit. org, 21.06.1997 http://websound.ru/articles/theory/sound-theory.htm Звук: немного теории. Александр Радзишевский, http://*****, 1 февраля 2005 http://ru.wikipedia.org/wiki/Импульсно-кодовая_модуляция Импульсно-кодовая модуляция. Википедия. http://ru. wikipedia. org, 21 июля 2006. http://www. *****/wiki/RIFF RIFF. Большая русская энциклопедия, http://www. ***** Delphi 7. Справочное пособие. , Москва, Бином, 2004, 1023 стр.

- студент 3-го курса МИЭМ, занимаюсь разработкой программного обеспечения для мультимедиа систем и систем обработки информации, программист IstraSoft.