Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Посоветуйте чтиво для обработки звука?


Автор: Proger10 24.7.2009, 01:07
Подскажите пожалуйста, есть ли какие-либо книги по программной обработке звука? Эхо, ревер, понижение/повышение тональности. Весьма интересует тема порождения и распознавания речи.

Гуглить пытался - бестолку. Нахожу упоминания книг, но не найду где скачать их smile

Может у кого есть литература по данному направлению?

Автор: Alexeis 24.7.2009, 09:28
Цитата(Proger10 @  24.7.2009,  00:07 Найти цитируемый пост)
понижение/повышение тональности

  Делаешь фурье, получаешь комплексный спектр, если в серединку комплексного спектра добавить ноликов, а потом сделать обратное фурье, то тон понизиться. Если ноликов добивать слева и справа (симметрично) начиная с первого отсчета. 1й и n-1й, 2й и n-2й и т.д. то тон станет более высоким (0й отсчет не трогать).
  Эхо скорее всего это дубль фрагмента размноженный и смикшированный на сигнал. Насколько я знаю реверберация это модуляция сигнала низкой частотой, операция умножения сигналов.
  По поводу поиску литературы, вам сюда http://forum.vingrad.ru/forum/wanted.html в специальный раздел.

Автор: Proger10 24.7.2009, 12:37
Спасибо! Попробуем чего-нибудь сделать в подобном плане. С микрофона удаётся получать звук через PortAudio, через него же успешно выводить записанный только что сигнал. Вот этот исходник:
https://www.mat.ucsb.edu/projects/scatter/browser/mptk-0.5.0/src/gui/portaudio_v18_1/pa_tests/patest_record.c?rev=22

Но если честно, мне не очень понятен сам процесс работы.. Изначально перед микрофоном у нас аналоговый, непрерывный сигнал.. далее проходя через микрофон он дискретизируется (разрывается). Мы получаем уже почти тот же сигнал, что был и на входе только дискретизированный в виде огромного набора частот. Количество этих частот на еденицу времени (секунду) постоянно и называется частотой дескритизации. Пока что верно? smile

Далее мы применяем преобразование Фурье. Нам нужно дискретное преобразование Фурье?
Смотрю сейчас на http://ru.wikipedia.org/wiki/Дискретное_преобразование_Фурье - чёт они какие-то другие smile помню там косинусы, синусы разные были в формулах, а тут нет... smile
Так Фурье применять нам к каким числам нужно, ко всему полученному звуку или к одной секунде звучания, или к чему-то ещё..?

Автор: Alexeis 24.7.2009, 16:36
Цитата(Proger10 @  24.7.2009,  11:37 Найти цитируемый пост)
Мы получаем уже почти тот же сигнал, что был и на входе только дискретизированный в виде огромного набора частот. 

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

Цитата(Proger10 @  24.7.2009,  11:37 Найти цитируемый пост)
Так Фурье применять нам к каким числам нужно, ко всему полученному звуку или к одной секунде звучания, или к чему-то ещё..? 

  К фрагменту. Чем больше точек в фрагменте тем больше точность спектра, но тем медленнее оно вычисляется. Обычно используют "скользящее" оконное фурье, сигнал умножают еще на оконную функцию, которая ослабляет искажения возникающие от того что работа ведется покусочно.

Автор: Proger10 26.7.2009, 02:14
Вопрос немного не по теме..
В различных программах типа Audacity, Adobe Audition - можно сильно увеличить звуковое представление, которое будет напомниать что-то типа синусоиды (если скажем сплошной звук 440гц). Это уже преобразованный сигнал по Фурье или нет ещё? smile

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

Автор: Proger10 26.7.2009, 02:52
Ещё не очень понятно как именно определяется частота сигнала. Взять тот же 440гц. Т.е. у него 440 раз в секунду колеблется синусоида. Но ведь там может быть и не ровная синусоида. Как в этом случае определить частоту такого сигнала? Кол-во пересечений нуля?

Интересно, а есть ли какой-то специализированный форум по подобным вещам?

Автор: Alexeis 26.7.2009, 11:02
  Лучше почитать мануалы, например http://prodav.narod.ru/signals/doc/ts08.doc да и вообще на сайте давыдова http://prodav.narod.ru/dsp/index.html много полезной инфы по цифровой обработке. 

Автор: Proger10 27.7.2009, 01:03
Ого сколько чтива. Спасибо за информацию! smile

Вроде уже проясняется потихоньку. Параллельно экспериментирую с увеличением масштаба звуковых волн в Audacity. Генерирую различные звуки и смотрю в каком виде представляется сигнал. 
Насколько я понял вот это и есть спектр, полученный по Фурье? http://www.youtube.com/watch?v=OvkFxyKKGNY

Только не пойму как оно может применяться в распознавании. (хотя бы в попытке различия двух разных гласных звуков).
Мне кажется, что их распознавать надо по их волновому представлению. Но причём тут спектр? Какое он место занимает здесь? Кроме как шумы отсекать не могу представить для чего ещё его используют.. smile Или всё-таки не так я его себе представляю..

Автор: Alexeis 27.7.2009, 20:57
Цитата(Proger10 @  27.7.2009,  00:03 Найти цитируемый пост)
Мне кажется, что их распознавать надо по их волновому представлению. Но причём тут спектр? Какое он место занимает здесь?

  Спектр это и есть волновое представление, а на видео модуль комплексного спектра.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)