|
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
|
|
Как узнать частоту звука?20.01.2012, 16:11. Показов 64997. Ответов 252
Метки нет (Все метки)
народ,подскажите кто знает.обработкой сигнала нигода не занимался,поэтому если что-то говорю не правильно
хочу программно определить к какой ноте принадлежит звук. Имею частоту дискретизации 8кГц и глубину 16 бит. значения этой выборки заносятся в массив.1)Что представляют из себя эти значения? если я правильно понял то каждый элемент массива это значение частоты в момент времени? 2)что нужно сделать с этим массивом чтобы узнать ноту?
0
|
|
| 20.01.2012, 16:11 | |
|
Ответы с готовыми решениями:
252
Как менять частоту звука на STM32 Узнать из программы частоту процессора
|
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||
| 10.06.2013, 22:30 | ||
|
raxp, приведенной прогой я тоже попробовал - на акустике (акустической гитаре) действительно 6я струна "видится" своей 2й гармоникой ). Но это "чудо" я бы отнес к свойствам самой гитары - дека по-видимому, рассчитана так, чтобы звучать в диапазоне чуть выше, чем 6я струна. Поэтому, именно дека звучит громче, на своей частоте.
Rem_, видел я ваши скрины. Просто ваши замеры нельзя назвать пока что сколько-нибудь представительными. Все познается, конеш, в сравнении, но... Какая у вас АЧХ микрофона, звуковой карты, всей системы в целом? Вы пробовали использовать разные источники звука, или только гитару? Как они себя проявляют?.. ЗЫ: указанные вами "хорошие" программы могут использовать обычный фильтр НЧ, который "поднимает низы", которые не могут быть получены среднестатистическим горе-микрофоном от караоке со звуковой картой за 3$. Так что вполне возможно, вы вообще не там ищете ![]() Добавлено через 2 минуты
0
|
||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 11.06.2013, 00:31 | |
|
Rem_, берете неск.значений вокруг ожидаемого максимума, считаете билинейную аппроксимацию (ax2+bx+c) с помощью того же МНК, и считаете производную - (2ax+b = 0), приравняв ее к нулю получите перегиб. В итоге считаете точную частоту - x.
0
|
|
|
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
|
||
| 12.06.2013, 09:59 | ||
|
вообще, параболическая интерполяция грубоватый метод, результаты по точности на троечку. Его преимущество в простоте реализации и быстроте работы. Недавно мне пришлось решать подобную задачу, только интерполировался не спектральный максимум, а окрестность пика ВКФ, но суть проблемы одинакова. АЦП работал на довольно низкой частоте дискретизации, а положение корреляционного пика нужно было получить с гораздо большей точностью, чем период дискретизации. Соответственно нужно было его интерполировать. И первое что попытались сделать - как раз интерполировать параболой. Результаты не порадовали. Интерполяция сплайнами давала значительно лучше результат, но это было слишком затратно для реализации на используемом проце. Решение оказалось неожиданно простым - использовать для интерполяции все то же fft! Выбиралась окрестность пика 16 точек, дополнялась нулями до 256 и ifft полученного фрейма возвращало передискретизированную в 16 раз последовательность. После сглаживания положение максимума в этом фрейме пересчитывалось на новой частоте дискретизации. Этот метод оказался достаточным по соотношению скорость/точность для реализации.
Другой вариант я уже излагал в этой же теме на несколько страниц раньше. Можно для точного определения положения спектральных максимумов использовать не fft( хотя это непривычно), а авторегрессионные методы.
0
|
||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|||
| 12.06.2013, 17:09 | |||
|
0
|
|||
|
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
|
||||
| 13.06.2013, 10:16 | ||||
|
0
|
||||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|||||||
| 13.06.2013, 10:46 | |||||||
|
vital792, давайте "по Дерибасовской ходить постепенно... Позволю себе покопаться в постах, дабы рассуждать последовательно. Итак:
А любая интерполяция, обязана проходить через все точки измеренных величин, посему, имхо, не имеет преимуществ в контексте данной задачи. По поводу вашего решения - признаю, я сначала не понял ваше решение. Спутало вот это: Сначала вы пишете: То есть подход-то хороший, но чуйка такая, что вы
1
|
|||||||
|
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
|
|||
| 13.06.2013, 11:18 | |||
|
0
|
|||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 13.06.2013, 11:30 | |
|
vital792, тут я с вами согласен. Для вашей задачи это, возможно, имеет больший смысл. Но для ТС можно попробовать и то и другое, ваш подход просто чуть сложнее.
ЗЫ: к слову, он вообще ушел в глухую оборону.
0
|
|
| 15.06.2013, 23:52 | |
|
Я разбираться пытаюсь, туговато.
http://miracle.otago.ac.nz/pos... nload.html http://miracle.otago.ac.nz/pos... 1.2.tar.gz Вот тартини исходники. Скачал, открыл, и смотрю как на новые ворота. Где тут код, отвечающий за весь процесс анализа ноты в звуке?
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
||
| 16.06.2013, 01:11 | ||
|
для начала промерял бы АЧХ тракта а для решения проблемы вот что я думаю звук музыкального инструмента состоит из основного тона (1 гармоника) и субтонов( другие гармоники) например звук рояля очень близок к меандру сумма нечетных гармоник 1 3 5 7 ..... а при ударе по барабану сначала максимальными будут высшие гармоноки (ступенчатое нарастание сигнала) тоже происходит при ударе(не щипке) по струне очень хорошо слышно при игре на бас гитаре сначала идет "бзинь" а потом "уууу" бзинь это и есть высшие гармоники гармоники всегда выше чем основной тон следовательно нужно искать не максимум а минимальную частоту это и будет основной тон
0
|
||
| 16.06.2013, 15:29 | ||
|
При чём тут мои звуки, гитара, микрофон? Нужен алгоритм (еще лучше рабочий код) чтоб работало на миллионе разных гитар и синтезаторов. (будет возможность, запишу выложу). Хотя я бы на комп форуме попросил помощи разобраться в исходниках открытой программы.
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|||||
| 16.06.2013, 15:50 | |||||
|
Есть тон(это самая нижняя частота) Есть обертона (они всегда выше) значит нужно чтобы найти тон нужно найти самую нижнюю частоту или ты хочешь не чистую ноту играть а музыку и чтобы программа тебе раскидала ноты(а ля сольфеджио)? Такого я не видел и если будешь ловить максимумы то получишь видел как звуковики прокачивают зал? сначала подается белый шум по нему настраивают тракт и только после этого идет настройка
0
|
|||||
|
26 / 25 / 3
Регистрация: 22.01.2013
Сообщений: 273
|
|
| 25.06.2013, 16:00 | |
|
Зачем что то придумывать - все уже известно - МАТЛАБ. Устанавливаете - звуковые файлы загружает стандартной функцией. Любой фильтр спроектировать 10 секунд, обработка любая - вейвлет и пр. пр. Запись опять в звуковой файл.
0
|
|
|
1022 / 157 / 10
Регистрация: 16.01.2013
Сообщений: 544
|
|
| 25.06.2013, 17:22 | |
|
Так и на лету. Для определения частоты сигнала и его составляющих с точностью Δf необхоимо анализировать его на временном интервале Δt при этом Δf*Δt > 1
0
|
|
| 25.06.2013, 21:50 | |||||||||||
|
Вот так нормально? Ищем самую громкую частоту. Разница в частОтах зависит от размера буфера и частоты дискретизации.
Развитие мысли. Диапазон гитары умещается от 60 до 700 герц(по надобности можно изменить). Значит анализ спектра можно ограничить этими частотами.
0
|
|||||||||||
| 25.06.2013, 21:50 | |
|
Как узнать частоту, амплетуду, длинну и т.д. звука в данный момент? Как получить частоту звука? Как узнать частоту процессора? Как узнать частоту прцессора?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|