Digital Signal Processing

Тема в разделе "WASM.AUDIO", создана пользователем cresta, 16 фев 2011.

  1. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Есть какие-нибудь простенькие примеры, для понять как оно варится?
    Интересует фильтрация сигналов с микрофонного входа звуковой карты.
    Теории в гугле валом, практических примеров не нашёл.
    Может есть либы для обработки звука с понятным интерфейсом?
     
  2. maverick

    maverick New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2008
    Сообщения:
    149
    на радиосканере не спрашивали?
     
  3. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    На сканере много полезной инфы, но она мне если понадобится, то не сейчас. То есть аппаратно я эту теорию могу реализовать, мне нужно программно, причем не готовые программы, которые есть на тамошнем форуме, а чтобы я сам мог с нуля написать простейшую программу такого рода. В некотором роде аналог DDK, или Iczelion, только для аудиокарты.
    На данном этапе нужно простейшее: как добраться до звуковухи, получить с неё вх. сигнал и обработав по минимуму() вывести на экран/колонки результат обработки.
     
  4. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    тебе для винды надо или для себя напрямую?
     
  5. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.241
    Адрес:
    Fryazino
    cresta
    Спрашивайте попробую ответить. Правда у мня у самого скудные знания.
     
  6. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.924
    cresta
    по БПФ полно примеров.
    fmod.org вроде бы...
     
  7. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    t00x
    до БПФ далеко ещё. Нужно с самого начала, подцепил микрофон ко входу звуковой карты и далее <??????>
    FMOD скачал, сейчас буду смотреть, что это такое и нужно оно мне или нет.

    abcd008
    для себя (под винду), вернее для своей проги, чтобы из неё обрабатывать сигнал.

    Pavia
    Для начала самое простое: как, куда и откуда получить сигнал микрофона, чтобы можно было например отрисовать его спектр/ачх в окошке, померять амплитуду и может ещё какое-то простенькое действие с ним произвести, например, усилить или ослабить.
     
  8. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    cresta
    и далее, если в винде читать/смотреть примеры по директ саунд.
    (или чтонибудь вроде waveInOpen и дальше по ссылкам)

    в лине - берете исходник диктофона попроще и смотрите.

    в п/и - просто читаете /dev/audio предварительно записав в /dev/audioctl желаемый формат и источник

    как видите, в разных осях это делается по разному.

    --- +
    дока по дх2 на ру. для микрофонных целей должно хватить
    http://narod.ru/disk/14727809000/dx2-ru.pdf.html

    дх3 сдк. 22 мб. опять же, для микрофонных целей вполне
    http://narod.ru/disk/14725970000/DX3_SDK.rar.html
     
  9. maverick

    maverick New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2008
    Сообщения:
    149
    простейшее, на мой взгляд, bass.dll. Там и примеры есть. На том же сканере, на форуме, выкладывался исходник простого ФМ-демодулятора.
     
  10. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    спасибо за подсказки.
    bass.dll посмотрел вроде есть там то, что надо.
    с DX пока не разобрался (не нашёл нужных функций), но если bass использует DX, значит там они есть, буду искать.
     
  11. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Регистрация:
    27 авг 2004
    Сообщения:
    561
    Адрес:
    Ukraine
    Intel - DSP Signal Processing Library
     
  12. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    S_Alex

    К сожалению
    The Intel® Signal Processing Library представляет собой набор подпрограмм обработки сигналов оптимизированных для процессоров Intel®. Он не ориентирован на приложения, работающие в реальном времени.
     
  13. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    если ты пишешь под виндовс, то ты уже не напишешь приложение реального времени. ибо это не система реального времени.
     
  14. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
  15. superakira

    superakira Active Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    353
    Анализировать сигналы хочешь в реал-тайме или в оффлайне?
    Смотреть без подготовки различные библиотеки бессмысленно. Копай в сторону КИХ фильтров (оконных). Разберись что такое - временное и частотное представление сигнала. Что такое свертка. Что такое БПФ и для чего оно нужно.
    Фильтрацию сигнала можно осуществлять и без БПФ, но это оффайновый метод.
    Если что конкретное - спрашивай, постараюсь помочь.
     
  16. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Хм, в реальном времени я не подразумеваю, что забрать всё процессорное время.
    Сигнал со входа звуковой (не из файла) в полосе 48/96/192 kHz (частота дискретизации до 44kHz) без тормозов/заметных на слух прерываний обработать полосовыми фильтрами, режекторными, шумоподавление, визуализация исходного/обработанного сигнала.
    На сейчас попробовал на bass.dll - полосовые, визуализация работает, правда шумоподавление и режектор не нашёл.
    Какая либа лучше подходит для этих задач -пока не знаю. Bass - надстройка над DX и матлаб (судя по инклюдам). Напрямую с ними работать есть ли смысл?
    qqwe
    спасибо за ссылки. Первая вроде интересно.
    В общем пошёл разбираться со всем этим
     
  17. superakira

    superakira Active Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    353
    ФВЧ, полосовые , режекторные - рассчитываются на основании импульсной характеристикм ФНЧ, коэффиценты которой обычно получают в матлабе (или же сразу кфц целевого). в любом случае если хочешь цос заниматься матлаб хороший выбор. из легкого софта могу порекомендовать sigview. анализатор спектра + разные няшки.
    В дх никаких фильтров нету, если что.

    ПС В реальном времяни - это значит ты к примеру говоришь в микрофон, сигнал обрабатывается ФНЧ и на монитор выводиться его график (либо АЧХ).
     
  18. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Може кому надо будет, нашёл тут инфу, куча материала
    http://dsp-book.narod.ru/books.html

    значит, dx просто предоставляет доступ к стриму, который пропускается через ф-ции матлаба?
     
  19. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    cresta
    дх в данном случае дает возможность дотянуться и использовать буфера наиболее близкие к железу. те, без дополнительных посредников. также, оно вам предоставляет возможность аппаратного смешивания этих буферов.

    в доке и примерах описано что это для чего это и как с ним работать. в книге гордеева тоже есть.

    superakira
    (был както спор - что жe такое системы реального времени и сошлись на том, что это в основном рекламный слоган)

    вынь вполне нормально выводит график того, что говорится в микрофон.
     
  20. Andrei

    Andrei Member

    Публикаций:
    0
    Регистрация:
    13 апр 2018
    Сообщения:
    322
    А ни у кого нет примера преобразования Гильберта ?