На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование звука"
0) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с записью, обработкой, воспроизведением звука. Перед созданием темы подумайте, не будет ли она уместнее в разделах Разработка и тестирование программ, Наши исходники, а особенно Разовые заказы и подработки
1) На Раздел распространяются все Правила форума.Огромная просьба с ними внимательно ознакомиться.
2) Запрещается давать бессмысленные ответы вроде: "Снеси Мастдай", "ХП рулит", "Поставь Линукс" и т.д.
3) Запрещается создавать темы, в которых Вы намереваетесь получить ссылку на кряки, серийники и т.п. Также запрещено любое обсуждение p2p (peer-to-peer) сетей (BitTorrent, eDonkey и т.д.).
4) Реклама всякого рода пресекается беспощадно.
5) Используйте тэг [CODE] для выделения кода программы (непременно с указанием языка программирования - выбрать из списка. В противном случае бессмысленно!). Уважайте тех, кто будет читать ваш код!
6) Если решение вашей проблемы найдено, то не забываем помечать тему специальной функцией "Вопрос решён". Вам всего лишь требуется при написании последнего ответа поставить одну единственную галочку прямо над формой ответа.
7) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе

8) Если не прикрепляются/не скачиваются файлы, читаем Не прикрепляется / не скачивается файл. Любые обсуждения в данном разделе проблем с приложением файлов считаются оффтопиком! Со всеми вытекающими.

9) NEW! Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно. Попытки накрутки количества тематических сообщений за счёт поднятия древних неактуальных тем ("некрофилия") будут наказываться по велению левой пятки модераторского состава (см. пп.12, 13 Правил)



Нарушение Правил может повлечь наказание со стороны модераторов.



user posted imageFAQ Раздела user posted imageПоиск в Разделе user posted imageMSDN Library Online | Ваше мнение о модераторах: user posted imageBarazuk user posted imageRikkie
Закрыто Rikkie 28-11-2009: Некрофилия
  
> Как сделать цветомузыку (эквалайзер)?, обработка звука в режиме реального времени
    собственно сабж.
    только в моём случе это не цветомузыка - а управление внешними устройствами.
    В такт музыке (звуку) с компьютера внешнее оборудование должно адекватно реагировать.
    По сути - это тот же эквалайзер, отолько вместо пляшущих столбиков на экране - синхронизированная работа внешних устройств (через СОМ порт)

    Лично я в звуке не силен, поэтому прошу знающих людей просветить в этом деле.
    Интерисует наиболее быстрй способ реализации (желательно на Delphi).

    Заранее благодарю.
      Используй FFTW библиотеку.
      Про Дельфи не знаю.
        Описание АPI для работы со звуком в этом Файле.
        Для того, чтобы разложить звук на частоты, используйте любой модуль FFT.
        Ну а дальше, че там с СОМ-портом делать, пока не очень понятно.
          Zilog Сообщ. #1 от Вчера, 14:39
          >В такт музыке (звуку)

          Такт определяется низкими частотами
          а их амплитуда намного больше остальных
          поэтому достаточно фиксировать моменты превышения
          мгновенной амплитуды над средней
          потом пропустить минимальный период такта и т.д
          я так сделал смену картинок в такт музыке
            Цитата Prince @
            Описание АPI для работы со звуком в этом Файле.
            Для того, чтобы разложить звук на частоты, используйте любой модуль FFT.
            Ну а дальше, че там с СОМ-портом делать, пока не очень понятно.

            а как собственно используются подобные модули, в нашем случае FFT?
            я системщик, с мультимедией редко сталкиваюсь. вот, понадобилось.
            а что с СОМ портами что делать - мне как раз понятно :)

            -юсртыхэю
            2programania

            а можно поподробней? (если не сложно, и не жаль времени)
              Цитата
              В такт музыке (звуку) с компьютера внешнее оборудование должно адекватно реагировать.

              Цитата
              а что с СОМ портами что делать - мне как раз понятно :)

              Какое оборудование? И как именно оно должно реагировать на звук(такт)? Напишите. Тогда люди смогут вам подсказать что-нибудь более конкретно.

              Как работать со звуком, см. файл. Когда я не знал, как работать со звуком, мне этого хватило, чтобы более-менее разобраться ну и плюс SDK, конечно.
              По FFT:
              Допустим у вас есть массив данных, который содержит мгновенные отсчеты звукового сигнала в некоторые моменты времени. Вы передаете этот массив на вход FFT, на выходе получите массив, в котором каждый элемент представляет собой амплитуду сигнала на определенной частоте.

              Если Вам нужно, чтобы устройства работали в ритме музыки, можно использовать цифровой программный филтьр, чтобы выделить низкие частоты (бас, ударные), которые "несут" имнформацию о метре и ритме. Или можно прямо анализировать амплитуду сигнала, как предложил Вам programania.

              Мне кажется, лучше просто разобраться с АPI для звука, а как полученный сигнал обработать, это уже потом.
                >Zilog Сообщ. #5
                >а можно поподробней?

                поподробней будет уже исходный текст который в
                http://programania.com/dsp.zip 7kb
                а еще нужна
                http://programania.com/bass.dll 100kb
                и музыка с барабаном в mp3
                и там еще самодельный регулятор тембра
                4-ех полосный и компрессор
                  2programania:

                  а с помощью bass.dll можно реализовать сабж?

                  насколько я понял мне нужно три вещи:
                  1) уровень громкости на выходе со звуковухи
                  2) уровень ВЧ
                  3) уровень НЧ

                  а ещё понял, что при реализации лучше обоётись малой кровью - т.е. если я сейчас окунусь с головой DXSound, то вынырну не скоро... :(
                    >а с помощью bass.dll можно реализовать сабж?

                    можно, но главное понять что сегодня понимать под сабжем
                    и использовать BASS.dll с примерами и помощью с
                    http://www.un4seen.com

                    > уровень громкости на выходе со звуковухи

                    Существует только внутри звуковухи до ее line out
                    программой можно получить звук подаваемый на один из входов звуковухи
                    звук или wave, микрофон, line in и т.п. как в примере к BASS RecordTest
                    Дальше из звука можно получить что угодно
                    ничего не зная о DXSound и никуда не окунаясь
                      Все свои задачи решил с помощью bass.dll взятой с http://www.un4seen.com.

                      Что касается спектрального анализа - функция
                      BASS_ChannelGetData(Channel, @FFTFata, BASS_DATA_FFT1024);

                      FFTFata - указатель на структуру типа TFFTData, в который будет передаваться информация о спектре в момент вызова функции.
                      Соответственно, логично вызывать её по таймеру.

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

                      вот и всё.

                      да... что касается ВЧ, СЧ и НЧ - я весь спектр поделил на три части, и от каждой части вычислил среднее значение - в итоге, три столбика. Три значения.

                      Сообщения были разделены в тему "Гирлянда"
                      Сообщение отредактировано: Zilog -
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:
                      Закрыто Rikkie 28-11-2009: Некрофилия


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0329 ]   [ 15 queries used ]   [ Generated: 7.12.21, 16:03 GMT ]