Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[35.173.48.18] |
|
Сообщ.
#1
,
|
|
|
Здрасьте!
Тут возникла задачка, сделать анализ звука а точнее преобразование Фурье... Я сделал примерную программу и получил на выходе вот такой вот массив, с вот такими значениями, приведу вам пример их: Массив: -0.23248012524309755 Массив: 0.04007917845511671 Массив: -0.18524938144163478 Массив: 0.1459979947341169 Массив: -0.07976916469067824 Массив: 0.218736077929242 Массив: -0.20414156327470223 Массив: 0.10429955729625029 Массив: -0.20508941998148517 Массив: 0.17905445169524825 Массив: -0.10996566039293906 Массив: 0.23598751379808977 Массив: -0.23768717282945798 Массив: 0.07745180098625722 Массив: -0.22090751443154616 Массив: 0.21432572130004657 Массив: -0.0661573893081489 Массив: 0.29258813004383766 Массив: -0.37145327426383135 Массив: -0.1996456045240277 Массив: -0.24004992492068172 Массив: 0.3621023661879188 Массив: 0.43834891786932806 Массив: 1.3115532089624948 Массив: -0.790154492309814 Массив: -0.5948713485137244 Массив: -2.20704122841192 Это для примера, подскажите, пожалуйста, такие значения могут быть?) |
Сообщ.
#2
,
|
|
|
Цитата MrKor @ Это для примера, подскажите, пожалуйста, такие значения могут быть?) Могут быть какими угодно. Так как не известно что на вход подано. А я вам больше скажу. Вы пишите на Си++. |
Сообщ.
#3
,
|
|
|
Вообще код написан на Java, на вход подан аудиофайл с такими данными: 16000, 16, MONO, 2, 16000, true То есть частота дискретизации 16000 Моно 16 бит, далее читается поток байтов из файла, делается перевод в другие единицы ну и делается fft. Вообщем вот и все)
|
Сообщ.
#4
,
|
|
|
Ну вроде бы за два в 16 не выходят значения, так что нормально)
|
Сообщ.
#5
,
|
|
|
Цитата 16000, 16, MONO, 2, 16000, true если звук из файла не нормализуется - то значения амлитуды гораздо выше 1.0 Соотвественно значения с Re и Im матрицах будут больше Если нормализуются - то может так и есть... Чего задать на цифрах... - постройте график спектра |
Сообщ.
#6
,
|
|
|
Кстати, еще вопросик есть(если можно) а как вот эти результаты, полученные после преобразования Фурье, преобразовать в Мелы( http://ru.wikipedia.org/wiki/Мел_(высота_звука) )
То есть мне просто прогнать через формулу (вставляя вместо f?) |
Сообщ.
#7
,
|
|
|
Цитата MrKor @ То есть мне просто прогнать через формулу (вставляя вместо f?) Данная формула для основного тона. Надо натйи частоту основного тона. Грубо говоря найти частоту с максимальной амплитудой. Лучше всего поиск начинать с 20-100Гц. |
Сообщ.
#8
,
|
|
|
Цитата MrKor То есть мне просто прогнать через формулу (вставляя вместо f?) после преобразования Фурье - получить спектр/магнитуду преобразовать отсчёты Фурье в реальные частоты (f) частоты преобразовать в mel частоты по указанной формуле (т.е. получится тотже спект в mel шкале) для визуализации можно будет mel частоты преобразовать в отсчёты и отобразить спектр в mel шкале p.s. если речь всё-таки о MFCC - то можно почитать здесь - MFCC |
Сообщ.
#9
,
|
|
|
Цитата zamir @ после преобразования Фурье - получить спектр/магнитуду преобразовать отсчёты Фурье в реальные частоты (f) частоты преобразовать в mel частоты по указанной формуле (т.е. получится тотже спект в mel шкале) для визуализации можно будет mel частоты преобразовать в отсчёты и отобразить спектр в mel шкале MFCC мы получим , если потом это все прогнать через Дискретно Косинунсное..Наверно) Спасибо! |
Сообщ.
#10
,
|
|
|
Кстати, хотел спросить, а вот что мы получили после Фурье анализа, скажем так, это что? вообще
это набор чисел, но все же может это набор амплитуд?)) |
Сообщ.
#11
,
|
|
|
Цитата а вот что мы получили после Фурье анализа сигнал разложенный на синусоиды в двух матрицах повёрнутых на 90' - Re и Im длина матриц - отсчёты частот синусоид значение матриц - что-то вроде амплитуды синусоид http://ru.wikipedia.org/wiki/%D0%9F%D1%80%...%80%D1%8C%D0%B5 в Интернет есть много доступных для понимания статьей |
Сообщ.
#12
,
|
|
|
Так вот оно что.. Спасибо)
|