#web-audio-api #audio-worklet
#web-audio-api #аудио-рабочий лист
Вопрос:
Я недавно начал работать с audioworklets и пытаюсь выяснить, как определить высоту звука (-ов) на входе. Я нашел простой алгоритм для использования в процессоре сценариев, но входные значения отличаются от процессора сценариев и не работают. Плюс каждый входной массив составляет всего 128 единиц. Итак, как я могу определить высоту тона с помощью аудиоуроклета? В качестве дополнительного вопроса, как значения соотносятся с фактическим звуком, поступающим?
Ответ №1:
Если он работал с ScriptProcessorNode, он будет работать в AudioWorklet, но вам придется буферизировать данные в worklet, потому что, как вы отметили, вы получаете только 128 кадров за вызов. ScriptProcessor получает от 256 до 16384.
Значения, отправляемые в рабочий лист, являются фактическими значениями, полученными из графика, подключенного к входу. Это точно такие же значения, которые будут отправлены в процессор сценариев, за исключением того, что вы получаете их порциями по 128.