1

Я создаю какой-то эффект аудио-фейдера.Преобразование децибел в объем с использованием ускорения Framework

Я использую vDSP_vdbcon, чтобы превратить буфер томов в децибелы, применяя некоторые изменения в db-пространстве и хотел бы преобразовать буфер децибел в том, используя фрейм-ускоритель, но я не могу найти обратную функцию (угадать чья математика слишком слабая, чтобы понять очевидное) ...

Спасибо!

ответ

1

Вот что я использую для каждого элемента для значений децибел между -40 и 0. Это дает очень хорошие результаты.

float decibelsToMag(float decibels){ 
    return pow (10, (0.05 * decibels)); 
} 

Я не знаю, как ускорить векторный эквивалент функции pow. Но вот половина вексеризованной версии.

void decibelsToMags(float *decibels, float *mag, int count){ 
    float mul = 0.05; 
    vDSP_vsmul(decibels, 1, &mul, mag, 1, count); 
    for (int i = 0; i < count; i++) { 
     mag[i] = pow(10,mag[i]); 
    } 
} 

Отправка сообщения, если вы можете выяснить версию цикла vDSP.

 Смежные вопросы

  • Нет связанных вопросов^_^