|
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
|
|
Как узнать частоту звука?20.01.2012, 16:11. Показов 65050. Ответов 252
Метки нет (Все метки)
народ,подскажите кто знает.обработкой сигнала нигода не занимался,поэтому если что-то говорю не правильно
хочу программно определить к какой ноте принадлежит звук. Имею частоту дискретизации 8кГц и глубину 16 бит. значения этой выборки заносятся в массив.1)Что представляют из себя эти значения? если я правильно понял то каждый элемент массива это значение частоты в момент времени? 2)что нужно сделать с этим массивом чтобы узнать ноту?
0
|
|
| 20.01.2012, 16:11 | |
|
Ответы с готовыми решениями:
252
Как менять частоту звука на STM32 Узнать из программы частоту процессора
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
||
| 09.05.2014, 15:11 | ||
|
а если звучат вместе две, три? можно попробовать взять самую низкую частоту, это должна быть основная потом следующую если кратна низкой то это её гармоника если нет это другая нота но тут тоже возможны коллизии если взять одни и те же ноты но из разных октав, то покажет что это одна нота
0
|
||
|
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 181
|
|||
| 09.05.2014, 15:34 | |||
|
while Mg[i-1]< Mg[i] ; i+= 1 ; max= Mg[i] и т.д. ( Mg - Magnitude ) А в чем проблема то? Добавлено через 5 минут
0
|
|||
| 09.05.2014, 17:18 | |
|
Сама программа тут https://cloud.mail.ru/public/e... ndAnalyzer
Если мобилу поднести вплотную к микрофону, магнитуда будет около 800. Можно к примеру искать всё что громче 50. (при изменении количества семплов захвата эти величины изменяются) На гитаре при начальном обучении играют по две ноты. Еще есть вопрос по поводу одной ноты. Ведь человек может играть одну ноту несколько раз подряд, и программа должна будет слышать эти разные ноты, определять моменты их извлечения.
0
|
|
|
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 181
|
||||
| 09.05.2014, 18:14 | ||||
|
2) Программа "начинает" работать при условии, что громкость сигнала выше определенного порога. Какое количество сэмплов используется для анализа?
0
|
||||
| 10.05.2014, 01:18 | |
|
На данный момент 4096. Если возможно определять ноту с меньшего количества (2048, 1024) то я буду очень рад.
Добавлено через 5 часов 43 минуты Ситуация меняется. Обнаружил, что стояло загрубление микрофона. Исправил. При диком клипировании (когда телефон в плотную орёт и от волн остаются прямоуголники) значение около 1000. При звуке на пороге клипирования значение 700. При мычании сидя у компа значения около 100.
0
|
|
| 10.05.2014, 16:47 | |
|
Через расстояние сделал, так нагляднее. Линии на уровнях 25 и 50. Частота 220. Расстояние 50см. до микрофона, буква А. Видно, что самая громкая третья гармоника, по тише вторая, еще тише пятая, и только сейчас ещё тише основная нота.
Кстати, есть мысль для точности анализатора искать вершину не у громкой частоты, а у самой правой. Там дельта между частотами спектра не изменяется, а расстояния между частотами соседних нот увеличивается, что приводит к уменьшению относительной погрешности.
0
|
|
|
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 11
|
|||||||
| 10.05.2014, 18:00 | |||||||
|
Алгоритм выглядит так:
2REM_ насчет низких частот, я склоняюсь к тому, что стоит попробовать вейвлетное преобразование вместо FFT, хотя нигде в прогах, залитых на GooglePlay этого не было, там везде обычный FFT c low-pass hight-pass фильтрами и кучей каких то самодельных костылей, которые работают, но понять что там за алгоритм не представляется возможным. Как минимум IFFT никто не использует, значит Cepstrum отпадает, видел автокорреляцию, но там кроме нее еще фильтры, и куча кода, пока что не особо понятного. Пока что остается фактом что чистый HPS, Cepstrum, Autocorrelation(кстати она довольно быстро считается с помощь IFFT даже по всему кну) - не работают должным образом.
0
|
|||||||
|
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 181
|
|||||
| 10.05.2014, 19:24 | |||||
|
Добавлено через 12 минут Добавлено через 8 минут bobrokrol, звуковой сэмпл в студию! Щас посмотрим откуда берутся негармонические обертона...
0
|
|||||
| 12.05.2014, 16:41 | |
|
Визуализатор звука - https://cloud.mail.ru/public/8... Visualiser
Видно все графики и все частоты в спектре. Выделяется самая громкая.
0
|
|
|
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 181
|
|
| 12.05.2014, 17:02 | |
|
Rem
Можешь выложить звуковой файл( sound wave ) который анализируешь???
0
|
|
|
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 181
|
||
| 12.05.2014, 18:49 | ||
|
Нужно определить основной тон инструмента( гитары или баса ). Звучит одна нота. sr= 44100. Размер окна - 2048. И почему именно такой размер окна можешь объяснить?
0
|
||
|
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 181
|
||
| 12.05.2014, 19:20 | ||
|
А вот по-поводу инструментов( гитары-баса ), есть нюанс: когда только начинает звучать нота - выстота основного тона может быть выше в пределах тона-полтора на протяжении 1/4 -1/3 секунды, в зависимости от "силы" извлечения. Что скажешь по этому поводу?
0
|
||
| 12.05.2014, 21:05 | |
|
Весь код визуализатора тут - https://github.com/Remeslennik/SoundVisualiser
Консольный вариант там рядом.
2
|
|
|
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 181
|
|
| 12.05.2014, 21:21 | |
|
Клас! Аппроксимация( уточнение ) пиков выполняется какой функцией?
0
|
|
|
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 181
|
||
| 12.05.2014, 23:11 | ||
|
Самостоятельно я не сравнивал методы, но возможно некоторые из них дадут более точный результат, что может быть актуально при окнах меньшего размера.
0
|
||
| 13.05.2014, 22:47 | |
|
Где-то вычитал, что лепестки имеют форму параболы, потому и делаю.
0
|
|
| 13.05.2014, 22:47 | |
|
Как узнать частоту, амплетуду, длинну и т.д. звука в данный момент? Как получить частоту звука? Как узнать частоту процессора? Как узнать частоту прцессора?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|