Ïîëó÷åíèå èФизическое äåìîíñòðàöèÿ îñöèëëîøðàìì è ñïåêòðîâ образование в ВУЗах. Т. 8, № 4,çâóêîâûõ 2002 ñèãíàëîâ ñ ïîìîùüþ çâóêîâîé êàðòû è áûñòðîãî ïðåîáðàçîâàíèÿ Ôóðüå
1
Получение и демонстрация осциллошрамм и спектров звуковых сигналов с помощью звуковой карты и быстрого преобразования Фурье Н.М. Нагорский , М.В. Семенов, А.А. Якута Физический факультет МГУ им. М.В. Ломоносова 119992, г. Москва, Ленинские горы, МГУ, физический факультет, КОФ
[email protected] В работе описывается новая компьютерная демонстрационная установка «Спектрограф», позволяющая показывать во время лекции осциллограммы и спектры различных звуковых сигналов, получаемых как из звуковых файлов, так и с микрофона. Поясняется принцип работы программного обеспечения. Приводятся примеры осциллограмм и спектров.
При чтении раздела «Механика» курса общей физики в разделе «Акустика» обсуждаются различные характеристики звука, а также вводится понятие частотного спектра периодической функции времени применительно к анализу звуковых сигналов (напр., [1]). При этом обычно показываются классические лекционные демонстрации (анализ звуковых колебаний с помощью электронного осциллографа и др. – см., напр., [2]). Однако, для лучшего усвоения данного материала студентами полезно предоставить им возможность и слухового, и визуального восприятия информации, одновременно демонстрируя осциллограммы и спектры разных звуков: человеческого голоса, гамм, исполняемых на всевозможных музыкальных инструментах, а также различных мелодий. С этой целью нами была разработана новая демонстрационная установка, состоящая из компьютера типа IBM PC со звуковой картой, микрофона, активных колонок и соответствующего программного обеспечения. Для обработки сигналов, управления установкой и демонстрации результатов была написана специальная компьютерная программа, – мы назвали ее «Спектрограф», – работающая в операционной системе Windows. Звуковые данные она получает подобно стандартным звукозаписывающим программам для Windows, используя звуковую карту. Это позволяет направить на вход программы звуковой поток с любого устройства, поддерживаемого звуковой картой (например, с микрофона), а также смешивать звуки, поступающие с различных устройств. Настройка входа производится с помощью любого микшера Windows; это может быть, например, входящая в состав операционной системы стандартная программа «Регулятор громкости» (файл «Sndvol32.exe» в домашней директории Windows), которая позволяет регулировать громкость, уровень записи, устанавливать для записи
Í.Ì. Íàãîðñêèé , Ì.Â. Ñåìåíîâ, À.À. ßêóòà
2
различные устройства (рис. 1). В частности, если установить для записи устройство «Mixed Output», то на вход «Спектрографа» будет поступать такой же звуковой поток, какой идет с выхода звуковой карты. Это позволяет получать и обрабатывать данные, содержащиеся в различных звуковых файлах, в том числе и в файлах формата MIDI. Ðèñ. 1 Îêíî ñòàíäàðòíîé ïðîãðàììà Windows «Ðåãóëÿòîð ãðîìêîñòè». MIDI – это международный стандарт команд для синтеза звука [3], т. е. в файле MIDI хранятся не сами звуковые данные, а команды, управляющие их синтезом. Фактически MIDI представляет собой запись музыкальных нот, по которым компьютер синтезирует звук. Качество и конкретная реализация такого синтеза зависят от типа звуковой карты, так же, как качество звучания музыкального произведения зависит от того, какой оркестр его играет. Кроме обычных музыкальных инструментов, MIDI содержит большое количество всевозможных синтезированных звуков (их принято называть «тембрами»), таких, как звук от выстрела, телефонный звонок, шум моря и т. п. Набор из 128 основных тембров и формат данных одинаковы для всех систем синтеза звука, соответствующих стандарту MIDI, подобно тому, как нотная запись одинакова для всех музыкантов. «Спектрограф» включает в себя встроенный интерфейс, дающий возможность проигрывать гаммы с использованием различных тембров. Рабочий экран «Спектрографа» состоит из панели управления и двух окон, в которых выводятся спектр и осциллограмма звучащего сигнала (рис. 2). Инструмент, на котором будет проигрываться гамма, можно выбрать из выпадающего списка. Скорость проигрывания можно варьировать, изменяя числовой параметр в окне с соответствующим названием. Для начала проигрывания служит кнопка («Play»). При ее нажатии «Спектрограф» создает Ðèñ. 2 Îáùèé âèä ðàáî÷åãî ýêðàíà ïðîãðàììû «Ñïåêòðîãðàô» ïðè ïðîèãðûâàíèè ãàììû íà ðîÿëå. необходимый ему для работы MIDI-файл, соответствующий выбранному инструменту, после чего запускает его воспроизведение. Проигрыватель звуковых файлов, встроенный в программу, позволяет проводить все стандартные манипуляции со звуковыми данными – запускать и останавливать воспроизведение, производить перемотку. Во время воспроизведения, если в программе «Регулятор громкости» установлено устройство записи «Mixed Output», «Спектрограф» одновременно выводит на экран спектр проигрываемого сигнала и его осциллограм-
Ïîëó÷åíèå è äåìîíñòðàöèÿ îñöèëëîøðàìì è ñïåêòðîâ çâóêîâûõ ñèãíàëîâ ñ ïîìîùüþ çâóêîâîé êàðòû è áûñòðîãî ïðåîáðàçîâàíèÿ Ôóðüå
3
му. Для удобства показа в программе предусмотрена возможность масштабирования выводимых графических данных, которая осуществляется при нажатии кнопок в нижней части экрана. Кроме того, панель управления содержит кнопку («Pause»), при нажатии которой воспроизведение звука приостанавливается, и в соответствующих окнах отображаются спектр и осциллограмма сигнала, зафиксированные в момент нажатия кнопки. Это позволяет лучше рассмотреть графики и дать соответствующие пояснения. Программа также позволяет сохранять получаемые таким образом на экране графики в файл для их дальнейшей распечатки на принтере. Это дает возможность при дефиците лекционного времени заблаговременно, перед началом лекции, получать осциллограммы и спектры выбранных для показа сигналов, запоминать их, после чего демонстрировать на лекции как «настоящие» спектры, сопровождаемые звуком, так и полученные рисунки. Помимо проигрывания звуковых файлов, «Спектрограф» дает возможность анализировать различные реальные звуки при помощи подключенного ко входу звуковой карты микрофона. Это позволяет, в частности, наблюдать спектры звуков разговорной речи. В качестве примеров на рисунках 3 и 4 приведены полученные с помощью «Спектрографа» спектры гласных звуков «а» и «и». Ðèñ. 3 Ñïåêòð çâóêà «à». Ðèñ. 4 Ñïåêòð çâóêà «è». Из рисунков видно, что спектр звука «и» содержит только одну заметную гармонику, тогда как в спектре звука «а» наблюдается несколько гармоник (основной тон и три обертона). Кратко остановимся на принципе работы программы. Обработка звуковых сигналов производится с помощью быстрого преобразования Фурье (БПФ) с прореживанием во времени [4]. Это позволяет проводить демонстрацию в реальном масштабе времени, получая высокое спектральное разрешение (~10 Гц при работе в диапазоне от 20 Гц до 4000 Гц). Высокая точность получения спектра обеспечивается использованием при БПФ достаточно большого отрезка времени (~0,25 секунды при частоте дискретизации 8 кГц) и применением в программе специально разработанного алгоритма, особенностью которого является то, что БПФ для изучаемого сигнала осуществляется дважды. Оба раза в качестве функции оконного сглаживания используется Гауссова функция вида W(i)=Aexp{-(i/(n-1)-1/ 2)2S}, где n - число временных отсчетов, i - номер текущего отсчета. При преобразовании используются значения параметров А=3 и S=5,3, во втором - А=5 и S=100.
Í.Ì. Íàãîðñêèé , Ì.Â. Ñåìåíîâ, À.À. ßêóòà
4
Таким образом, при первом преобразовании сглаживание практически не делается, что позволяет получить максимальное для данного метода спектральное разрешение, но ухудшает точность определения амплитуд гармоник. Во второй раз используется оконная функция с очень резко спадающими «краями», что дает высокую точность определения амплитуд. Затем в спектре, полученном при втором преобразовании, обнуляются амплитуды, соответствующие частотам, результат первого преобразования для которых оказался ниже определенного уровня (1% от максимума). Такой подход позволяет получать максимальное спектральное разрешение при высокой точности определения амплитуд гармоник. В заключение следует отметить, что программа «Спектрограф» отвечает требованиям универсальности и простоты использования. Она работает на базе повсеместно распространенной операционной системы Windows (версий от 95 и выше), использует только ее стандартные функции и не требует инсталляции и сложной предварительной настройки. Это позволяет без изменений переносить нашу программу на любой компьютер, снабженный звуковой картой и колонками – для начала работы достаточно скопировать исполняемый файл «Спектрографа» на жесткий диск компьютера. При использовании «Спектрографа» следует лишь иметь в виду, что звуковая карта дает на своем выходе сигнал, предназначенный для прослушивания через наушники или маломощные пассивные колонки. Поэтому при работе в больших лекционных аудиториях необходимо применять активные колонки или другую усилительную аппаратуру. В дальнейшем авторы планируют расширить возможности описанной демонстрационной установки, добавив дополнительные функции синтеза звуков, а именно: синтез сигналов из различного числа синусоид с близкими эквидистантными частотами (модельная демонстрация для раздела «Оптика» курса общей физики), а также синтез двух и более сигналов, имеющих регулируемый сдвиг по фазе – для демонстрации бинаурального эффекта и показа независимости спектра и слышимости звука от фаз его отдельных гармоник при заметном изменении осциллограммы сигнала. В настоящее время ведутся соответствующие разработки.
Литература 1. Алешкевич В.А., Деденко Л.Г., Караваев В.А. Колебания и волны. Лекции. (Университетский курс общей физики). М.: Изд-во физического факультета МГУ, 2001. 2. Лекционные демонстрации по физике (под ред. В.И. Ивероновой), изд. 2-е. М.: «Наука», 1972, гл. 10. 3. Интернет: http://sources.codenet.ru/index.php?path=formtfil/h-m