Кроссплатформенная библиотека для нормализации звука? - PullRequest
0 голосов
/ 07 октября 2011

Знаете ли вы какую-нибудь кроссплатформенную аудиобиблиотеку, которую я могу использовать для нормализации сэмплированного звука?

Ответы [ 2 ]

1 голос
/ 08 октября 2011

нормализация - это простой процесс.это простая реализация для float s:

float peakAmplitude(0.0f);

/* find the peak */
for (size_t idx(0); idx < bufferLength; ++idx) {
    peakAmplitude = std::max(peakAmplitude, std::fabs(buffer[idx]));
}

if (0.0f >= peakAmplitude) {
    std::cout << "signal is silent\n";
    return;
}

/* apply normalization */
const float mul(1.0f / peakAmplitude);
for (size_t idx(0); idx < bufferLength; ++idx) {
    buffer[idx] *= mul;
}

другие форматы сигналов могут быть легко преобразованы.

0 голосов
/ 08 октября 2011

Google - ваш друг:

http://normalize.nongnu.org/

https://neon1.net/prog/normalizer.html

Если вы не можете использовать код GPL в своем проекте, просто прочитайте описаниеалгоритм на втором сайте и реализуй свой.Это довольно просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...