Как бы вы измерили количество баса в одном аудиосэмпле? - PullRequest
0 голосов
/ 08 ноября 2019

Я новичок в звуковом программировании, и мне было интересно, как вы могли бы получить количество баса только в одном звуковом примере. Я думал, что это будет измерено в дБ, может быть, но я не знаю, есть ли единица, которая на самом деле для измерения баса. У меня нет кода, чтобы показать для измерения баса, так как я не знаю, где искать или начать с того, что я уже получил все, вплоть до того, что все сэмплы моего аудиофайла будут сохранены как поплавокмассив, используя библиотеку juce, теперь нужно просто пройти через каждый семпл, измеряя бас каждого семпла

Любая помощь, пожалуйста?

Ответы [ 2 ]

1 голос
/ 08 ноября 2019

Здесь есть только одно решение, и это не то, что вы думаете. Вам необходимо преобразовать ваш сигнал во временной области в сигнал в частотной области. Бас - это нижняя часть частотной области.

Первое, что вам нужно, это БПФ. Это берет несколько образцов в качестве входных данных. Типичное значение будет 2048 образцов. Если ваш вход является сигналом 48 кГц, это разделит сигнал на 1024 бина по 47 Гц каждый. Нижние 5 бинов или около того содержат басовую часть вашего сигнала. (Корзина 0 также содержит любое смещение постоянного тока, что может быть проблематично)

Затем необходимо преобразовать эти 5 корзин в энергию;это просто возводит в квадрат 5 значений и суммирует их.

1 голос
/ 08 ноября 2019

Я предполагаю, что под одним аудиосэмплом вы подразумеваете массив чисел с плавающей точкой, а не только один элемент этого массива.

Если вы "Google" используете слово Bass , вы попадете насамый первый результат, говорящий:

Bass (также называемый нижним концом) описывает тоны низкой (также называемой "Deep") частоты, высоты тона и диапазона от 16 до 256 Гц.

Да, Bas - это просто аудио в этом диапазоне.

Теперь, с этим, я думаю, вы сможете выяснить , как найти частоты, используя аудиосэмплы , а если нет, то это лучшее, что я могу сделать ...

Теперь вы можете найти количество басов, частот в указанном диапазоне, явно ..:)

...