![]() |
|
![]() ![]() ![]() |
|
IvanTG |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 16.5.2004 Репутация: нет Всего: нет |
Нужно провести быстрый Фурье-анализ несжатого WAV файла. А как его правильно перевести в числа?
|
|||
|
||||
dwr_budr |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 11.4.2004 Репутация: нет Всего: 2 |
Пропускаешь заголовок и читаешь собственно семплы. Вот тебе и числа.
Размерность чисел зависит от формата вавки (ну там 8 бит на семпл или 16 бит на семпл). Если у тебя вавка в догонку стерео, то семплы просто чередуются для каждого канала (правый, левый, правый, левый и т.п.) Если лень парсить заголовок вавки, то просто пропусти первые 44 байта (обычно он такой длины, может быть и больше) Главное при пропускании заголовка не разорвать семплы (если они по 16 бит) Более того если ты при фурье анализе будешь заголовок интерпретировать как аудио данные не думаю что случится нечто трагичное ![]() |
|||
|
||||
Royan |
|
|||
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
dwr_budr, а в каких единицах измерения храняться данные в одном семпле, и как вытащив число из семпла перевести его в децибелы?
-------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
dwr_budr |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 11.4.2004 Репутация: нет Всего: 2 |
Royan
На счет едениц измерения я без понятия! Используя 16битный диапазон значений при дискретизации сигнала ты лишь получаешь более точное его представление, чем используя 8ми битный. Не думаю что сигнал снимается конкретно в еденицах чего-то. Просто вопрос в точности снятия стоит. А по поводу децибел я вряд ли помогу! Сам еще начинающий ![]() Когда у тебя частота/амплитуда то вроде так: 10 * log10(x) (могу ошибаться) А когда чисто время/амплитуда не знаю. Может аналогично? Кто знает,пожалуйста, поделитесь теорией ![]() PS Да и я не совсем понял что значит вытащить число из семпла. Семпл это и есть число в данном вопросе. Это сообщение отредактировал(а) dwr_budr - 19.5.2004, 07:58 |
|||
|
||||
Royan |
|
||||
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
В моем случае информации и в 8 битах хватит за глаза и за уши ![]() -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
||||
|
|||||
DonPager |
|
|||
![]() Колдырь ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 28.3.2003 Где: Воронеж Репутация: нет Всего: 2 |
все что мне нужно это просто просекать заданную амплитуду и запсывать после нее сигнал за фиксированное время.
а в чём проблема ? ампрлитуду мерить проще всего : берёшь отсчётов 20 (чтобы реакию на трески отсечь) и ищешь их среднее по модулю значение (читай данный в знаковые пременные так проще ![]() а в отношении дБ , то для знакового онобайтового формата 0 = -120дБ; 127= 0 дБ дальше считай сам (зависимость логарифмическая) -------------------- кодер + лодырь = колдырь |
|||
|
||||
Royan |
|
|||
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
DonPager, а под отсчетом ты 1 сэмпл понимаешь (рассматривая моно сигнал)? И почему у меня должны быть трески? Я вот когда записывал streaming audio со звуковухи никаких тресков не обнаружил...
Да и продолжительность wav'а наскольео я понял выисляется по такой формуле: time = (dataChunk / bitsPerSample)/samplesPerSecond, где dataChunk, это собственно размер звуковых данных (без хэдэра) -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
Alexei |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 20.8.2003 Репутация: нет Всего: 4 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |