Аудиоуроки и питч

#web-audio-api #audio-worklet

#web-audio-api #аудио-рабочий лист

Вопрос:

Я недавно начал работать с audioworklets и пытаюсь выяснить, как определить высоту звука (-ов) на входе. Я нашел простой алгоритм для использования в процессоре сценариев, но входные значения отличаются от процессора сценариев и не работают. Плюс каждый входной массив составляет всего 128 единиц. Итак, как я могу определить высоту тона с помощью аудиоуроклета? В качестве дополнительного вопроса, как значения соотносятся с фактическим звуком, поступающим?

Ответ №1:

Если он работал с ScriptProcessorNode, он будет работать в AudioWorklet, но вам придется буферизировать данные в worklet, потому что, как вы отметили, вы получаете только 128 кадров за вызов. ScriptProcessor получает от 256 до 16384.

Значения, отправляемые в рабочий лист, являются фактическими значениями, полученными из графика, подключенного к входу. Это точно такие же значения, которые будут отправлены в процессор сценариев, за исключением того, что вы получаете их порциями по 128.