|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.11.2011, 17:56 | #1 |
Регистрация: 27.03.2011
Сообщений: 6
|
Вопрос по программированию звука
Дорогие друзья!
Есть идея. Для реализации нужно понять,как работать с микрофоном. Конкретно - вопрос: Как считывая сигнал с микрофона отображать только пики выше определенного уровня на шкале времени? Заранее благодарен! PS ответы" ищи в гугле" не нужны,если нечего сказать - лучше помолчите! |
28.11.2011, 19:41 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> как работать с микрофоном
Можно подумать, данные с микрофона чем-то отличаются от данных из файла или от генератора случайных чисел. > отображать только пики выше определенного уровня Если записывать 16-битный звук, диапазон значений каждого сэмпла в каждом канале будет от -32768 до 32767. Шкала линейная. Как вычислять "пики" и отображать их — отдельный вопрос.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
28.11.2011, 19:47 | #3 |
Регистрация: 27.03.2011
Сообщений: 6
|
Как вычислять "пики" и отображать их — отдельный вопрос.
ну и как? |
28.11.2011, 19:52 | #4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> ну и как?
так это вы должны нам рассказать: — что для вас пик, а что нет (один семпл, 10 мс, 1 мин..) — как вы собираетесь мерять "уровень" (по абсолютной линейной амплитуде, по логарифмированной шкале, по среднеквадратичному значению...)
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
28.11.2011, 20:05 | #5 |
Регистрация: 27.03.2011
Сообщений: 6
|
Суть в том,что мы просто производим запись в течение скажем минуты и смотрим-если тишина--пишем 0 в файл,если громкий звук -1!
Нужно для быстрого набора барабанных ритмов! |
28.11.2011, 20:26 | #6 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
Ну, по-простому можно сравнивнивать значение каждого семпла с неким уровнем, например, если значение больше 5000 или меньше -5000, то записываем -1, иначе 0 (если вам нужны 0/-1 на каждый семпл).
На следующем этапе можно считать среднеквадратичную амплитуду. Когда поймёте, почему вас это не устраивает (а на это может быть несколько причин, основная — у каждого микрофона своя чуствительность, и на каждой звуковой карточке свой уровень записи), приходите с более конкретными вопросами )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
28.11.2011, 21:21 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Просто как по мне ИМХО проще сделать запись семпла в простом mp3 с сильным сжатием
I'm learning to live...
|
|
29.11.2011, 09:55 | #8 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
Вот пример работы с микрофоном на с/с++
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по 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 |