Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 085

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Тут такой вопрос. Даже два.
Значится так.
1. Посоветуйте хороших книжек по обработке звука, оцифровке, об устройстве звукового сигнала и т.д. и т.п. ЖЕЛАТЕЛЬНО (но если нет таких то не обязательно), чтобы примеры были на Дельфи.
2. Скажите как можно ловить сигнал на лету со входа звуковой платы (ну с любого устройства которое можно туда воткнуть. И как потом этот сигнал можно менять (ну простейший эффект применить типа дилея, реверба, хоруса).
Заранее спасибо.

Gooddy Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Gooddy (статус: 3-ий класс)
Вопрос отправлен: 25 апреля 2010, 00:15
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Failure!
Для захвата звука в свое время я использовал библиотеку ACM Components ( тут http://www.torry.net/pages.php?id=167). Она бесплатная и достаточно удобная - к примеру, ставишь компонент и он сам читает с звукового входа данные в свой буфер и дергает обработчик. На этой же странице есть и другие интересные компоненты. Можно разобраться с их исходниками и будет понятно многое.

Обработка звука - это тоже не сложно. Что такое "дилей" - это просто нужно завести себе буфер нужного размера и придерживать звук в нем, а не воспроизводить сразу (да, те компоненты, что я выше привел и воспроизводить умеют:) + там был пример, как передавать звук по сети.)

Многие эффекты станут понятны, если изучить преобразование Фурье. К примеру всякие фильтрации - это просто делаем преобразование прямое, потом для спектра (а это просто массив чисел) применяем некую функцию и назад обратное. Заменив в массиве некоторые элементы нулем, можно "вырезать эти частоты":)
Точно также делается "тонкий голос". просто массив сдвигается в нужную сторону.

Многое с этого учат в технических вузах на специальности "ЦОС" - цифровая обработка сигнала (английской - DSP). По этим словам гугл даст кучку ссылок. Вот к примеру одна http://dsp-book.narod.ru/books.html


Итого, рекомендую для начала научиться записывать данные в файл с микрофона, потом воспроизводить. Потом изучить преобразование фурье, быстрое преобразование фурье (Быстрое_преобразование_Фурье FFT), как минимум понимать, что это такое, формулы заучивать не нужно, но готовый код лучше иметь.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 25 апреля 2010, 02:25
Оценка за ответ: 5

Комментарий к оценке: Спасибо, попробую разобраться

Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:01
Выполнено за 0.02 сек.