Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2011, 17:56   #1
mishapts
 
Регистрация: 27.03.2011
Сообщений: 6
Вопрос Вопрос по программированию звука

Дорогие друзья!
Есть идея.
Для реализации нужно понять,как работать с микрофоном.
Конкретно - вопрос:


Как считывая сигнал с микрофона отображать только пики выше определенного уровня на шкале времени?
Заранее благодарен!

PS ответы" ищи в гугле" не нужны,если нечего сказать - лучше помолчите!
mishapts вне форума Ответить с цитированием
Старый 28.11.2011, 19:41   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> как работать с микрофоном

Можно подумать, данные с микрофона чем-то отличаются от данных из файла или от генератора случайных чисел.

> отображать только пики выше определенного уровня

Если записывать 16-битный звук, диапазон значений каждого сэмпла в каждом канале будет от -32768 до 32767. Шкала линейная.

Как вычислять "пики" и отображать их — отдельный вопрос.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 28.11.2011, 19:47   #3
mishapts
 
Регистрация: 27.03.2011
Сообщений: 6
По умолчанию

Как вычислять "пики" и отображать их — отдельный вопрос.


ну и как?
mishapts вне форума Ответить с цитированием
Старый 28.11.2011, 19:52   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> ну и как?

так это вы должны нам рассказать:
— что для вас пик, а что нет (один семпл, 10 мс, 1 мин..)
— как вы собираетесь мерять "уровень" (по абсолютной линейной амплитуде, по логарифмированной шкале, по среднеквадратичному значению...)
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 28.11.2011, 20:05   #5
mishapts
 
Регистрация: 27.03.2011
Сообщений: 6
По умолчанию

Суть в том,что мы просто производим запись в течение скажем минуты и смотрим-если тишина--пишем 0 в файл,если громкий звук -1!

Нужно для быстрого набора барабанных ритмов!
mishapts вне форума Ответить с цитированием
Старый 28.11.2011, 20:26   #6
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Ну, по-простому можно сравнивнивать значение каждого семпла с неким уровнем, например, если значение больше 5000 или меньше -5000, то записываем -1, иначе 0 (если вам нужны 0/-1 на каждый семпл).

На следующем этапе можно считать среднеквадратичную амплитуду.

Когда поймёте, почему вас это не устраивает (а на это может быть несколько причин, основная — у каждого микрофона своя чуствительность, и на каждой звуковой карточке свой уровень записи), приходите с более конкретными вопросами )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 28.11.2011, 21:21   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Нужно для быстрого набора барабанных ритмов!
Извиняюсь за бестактность, но куда девается громкость? Или в твоих семплах не будет предусмотренна (как это называется у музык правильно не знаю) разная громкость звучания?
Просто как по мне ИМХО проще сделать запись семпла в простом mp3 с сильным сжатием
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.11.2011, 09:55   #8
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Вот пример работы с микрофоном на с/с++
Вложения
Тип файла: rar copy.rar (49.3 Кб, 7 просмотров)
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по DirectSound - воспроизведение звука Celestia Мультимедиа в Delphi 0 24.03.2011 18:12
Вопрос по программированию Mister Been Свободное общение 13 01.06.2008 20:23
Вопрос по программированию Mister Been Помощь студентам 0 31.05.2008 13:32
Простой вопрос.Программирование звука. Gauss Мультимедиа в Delphi 6 09.01.2008 22:33