Модераторы: Rickert, Alexeis, BorisVorontsov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проигрывание звука, визуализация звука 
:(
    Опции темы
planer
Дата 28.3.2005, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 28.3.2005

Репутация: нет
Всего: нет



Товарищи, какой параметр используется для визуализации звука, т.е. для построения графика (например, как в винампе)?
И как мне этот параметр получить, если воспроизводить звук с помощью DirectSound/DirectShow или еще чего-нить в этом роде.
Заранее благодарю.
PM MAIL ICQ   Вверх
PILOT
Дата 28.3.2005, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: нет
Всего: 54



Очевидно, для визуализации требуется не параметр, а либо последовательный (поточечный) вывод на экран каждого значения дискреты, либо Фурье анализ.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
chipset
Дата 28.3.2005, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: нет
Всего: 164



Модератор: перенесено из С++: Общие вопросы
Да, т.е. ты просто приводишь значения звуковой волны к экранным координатам и выводишь по ним , точки, столбики и т.д..


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
PILOT
Дата 28.3.2005, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: нет
Всего: 54



только именно значения каждой дискреты smile (получается образ звука) или частоты значения которых получаешь применяя Фурье преобразования (получается эквалайзер).

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
BBC
Дата 29.3.2005, 16:00 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Точки, соответствующие амплитудам вы то выведете, вопрос как их соединить прямыми линиями(аппроксимировать), что бы не потерять форму огибающей. Уж точно не прямыми.
  Вверх
chipset
Дата 29.3.2005, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: нет
Всего: 164



Цитата(BBC @ 29.3.2005, 05:00)
Точки, соответствующие амплитудам вы то выведете, вопрос как их соединить прямыми линиями(аппроксимировать), что бы не потерять форму огибающей. Уж точно не прямыми.

Кривые Безье?

Это сообщение отредактировал(а) chipset - 29.3.2005, 19:11


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
PILOT
Дата 29.3.2005, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: нет
Всего: 54



до аппроксимаций не дойдет, даю 100%. Вы аппруксимируя делаете лишнюю работу, т.к. выше частоты дискретизации не прыгнешь.
А соединить точечки палочками - в раздел "архиважных и архисложных задач" smile

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
BBC
Дата 30.3.2005, 18:30 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











По-моему PILOT пишет о визуализации спектра. Тогда все нормально. А если необходимо отобразить форму сигнала, как в осциллографе,то... Выведите амплитуды например гармонического сигнала и посмотрите на то, что получится. А если еще сделать шаг между отсчетами больше единицы - для того, чтобы развернуть сигнал и получится набор точек, которые сразу же захочется соединить для нормального отображения .

  Вверх
PILOT
Дата 30.3.2005, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: нет
Всего: 54



ВВС, я описал как вывод спектра, так и сигнал во времени.
А лишнюю работу по аппроксимации никто не делает (см. CoolEdit, SoundForge).

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
BBC
Дата 31.3.2005, 04:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Если кто то не видел CoolEdit рассказываю. Открываем любой файл формата Microsoft PCM, и видим точки, соответствующие значениям амплитуды, записанные в файле и соединенные чем? Разверните по шире и посмотрите. Каким образом это делается?
  Вверх
PILOT
Дата 31.3.2005, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: нет
Всего: 54



BBC, значение(я?) амплитуды и значение дискреты разные вещи все-таки.
Зачем делать лишнюю работу по аппроксимации? Кто может гарантировать, что полученный аппроксимацией образ соответсвует действительности? А если на входе был сигнал (звук) выше частоты дискретизации (взятой к примеру 6кГц, как в телефоне)? Тогда ваш метод будет вообще некорректен.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
planer
Дата 31.3.2005, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 28.3.2005

Репутация: нет
Всего: нет



Ну прежде всего спасибо за активное участие.

То как соединить точки - с этим я разберусь. Главная "трабла" - это как получить сами точки, т.е. как с помощью С++.net (через DirectX или еще как... я-то не знаю) получить значения амплитуды (или дискреты) проигрываемого мной файла? Причем требуется знать эти значения немного наперед (на 0,1сек; на 1сек; - это не особо важно - как получится).
PM MAIL ICQ   Вверх
BBC
Дата 31.3.2005, 13:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А кто же подает на звуковую плату сигнал выше половины частоты дискретизации? Я почему активно муссирую эту тему. У меня задача наиболее точно передать форму записываемого сигнала. Например синусоиды. Отчеты амлитуды из файла я на экран вывожу, но мне неоходимо видеть огибающую полностью, причем с возможностью менять ширину развертки, как в CoolEdite. Для этого необходимо соединить каким то образом выведенные точки. Я пробовал аппроксимировать - получаю хоть и небольшие, но заметные искажения. Тут мне подсказали применить цифровой НЧ фильтр. Может кто выскажется на эту тему или подскажет алгоритм цифровой фильтрации?

planer - если приложение не открывает файл в монопольном режиме читай из файла и выводи, причем наперед хоть на минуту. А если это твое приложение то у тебе, как говорится и все флаги открытия файла в руки.
  Вверх
SLAMER
Дата 31.3.2005, 16:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Товарищи, я понимаю все умные, а мы тупые.
Дайте пожалуйста кусок кода который читает из файла эти значения
  Вверх
Guest
Дата 31.3.2005, 18:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











SLAMER - даю куски функций, кода под рукой нет. Остальное найдешь в инете или MSDN.
CreateFile()
ReadFile()
CloseFile()
  Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
2 Пользователей читают эту тему (2 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0792 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.