Фильтрация аудиосигнала, а затем считывание метра без отправки его мастеру - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь отфильтровать сигнал и затем проанализировать значения отфильтрованного сигнала, используя Tone. js / Web-Audio API.

Я ожидаю получить значения отфильтрованного сигнала, но я получаю только -Infinity, что означает, что мои соединения между узлами неверны. Я сделал небольшую скрипку , демонстрирующую это, однако в моем случае использования я не хочу отправлять этот узел в место назначения контекста - я только хочу проанализировать его, а не слышать.

osc.connect(filter)
filter.connect(gainNode)
gainNode.connect(meter)
console.log(meter.getLevel())

Ответы [ 2 ]

0 голосов
/ 08 февраля 2020

Полагаю, вы тестировали код в Chrome, потому что есть проблема с Chrome, из-за которой он ничего не обрабатывает, пока не будет подключен к месту назначения. При использовании тона. js это означает, что вам нужно позвонить .toMaster() в конце вашей цепочки. Я обновил вашу скрипку, чтобы она заработала: https://jsfiddle.net/8f7abzoL/.

В Firefox вызов .toMaster() не требуется, поэтому в Firefox также работает следующее: https://jsfiddle.net/yrjgfdtz/.

0 голосов
/ 07 февраля 2020

После некоторого копания я обнаружил, что мне нужно иметь scriptProcessorNode - который, по-видимому, больше не рекомендуется - так что загляните в Узлы рабочего стола аудио

...