Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Сокровищница
  
 

Фильтр по датам

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
 
 02:09 Python
 
 
Во Флориде и в Королевстве сейчас  02:15[Войти] | [Зарегистрироваться]

Компонент «Визуализатор спектра»

Василий Макаров
дата публикации 05-12-2006 08:55

Компонент «Визуализатор спектра»

Причиной создания данного компонента является восполнить пробел в теме "Преобразование Фурье".

В данной теме содержатся вопросы, касающиеся визуализации спектра цифрового аудиосигнала, но конкретных решений данной проблемы в этих темах нет. Трёхдневный поиск подобных решений в Интернете привёл только к теории в виде алгоритмов преобразования Фурье. Но для реализации этих алгоритмов необходимо хорошо знать математику, что для многих программистов проблематично. Так же не нашлось ни одного ресурса с доступным исходным кодом анализаторов-визуализаторов спектра на Delphi.

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

Входным параметром для данного компонента является буфер с аудиоданными, частотой дискретизации 44100 герц и форматом 16 бит/семпл, стерео/моно. Длинна буфера фиксирована, может выбираться из нескольких значений 1024, 2048, 4096, 8192, 16384, 32768 семплов. Внешний вид компонента в работе изображен на нижеприведенном рисунке.


Внешний вид компонента

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

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

Имеются всего два специфических свойства компонента, доступных в инспекторе объектов:

  1. BufferSize — (размер буфера аудиоданных) может быть установлен в следующие значения: bs1024, bs2048, bs4096, bs8192, bs16384, bs32768. По умолчанию это значение bs8192 т.е. 8192 семплов/ буфер.
  2. ChanelMode — (канальный режим) может принимать два значения: cmMono, cmStereo. По умолчанию cmStereo (хотя при визуализации оба канала суммируются, параметр необходим визуализатору для определения режима данных: моно/стерео).

Для начала работы визуализатора необходимо вызвать метод Start, соответственно для окончания работы — метод Stop. Для передачи аудиоданных для визуализации служит метод Process(const Buff), где Buff (нетипизированная константа) — буфер с аудиоданными. Можно передавать через этот параметр разименованный указатель на буфер с аудиоданными.

Компонент создан и тестировался на Delphi 7.

Прилагаемые материалы: архив TZSpectrView.rar c компонентом и демонстрационной программой, включая исходный код.

© 2006 ZEF
http://dj-zef.narod.ru



К материалу прилагаются файлы:


Смотрите также материалы по темам:
[Преобразование Фурье]

 Обсуждение материала [ 23-04-2008 10:32 ] 17 сообщений
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования