Я пишу веб-приложение, которому необходимо объединить несколько стереозвук в один стереовыход, поэтому я хочу эквивалент элемента аудиомикшера gstreamer *1002*, но, похоже, его нет вWebAudio.ChannelMerger не делает совсем то же самое - он объединяет несколько монофонических сигналов в один многоканальный сигнал.
В документации для AudioNode.connect говорится, что вы можете подключить выход к нескольким входам других узлов, и это пытаетсядля подключения одного и того же выхода к одному и тому же входу более одного раза игнорируются.Но это не говорит о том, что произойдет, если вы попытаетесь подключить несколько разных выходов к одному и тому же входу.Будет ли это действовать как простой микшер, как я хочу?Я подозреваю, что нет, потому что функциональность разделения / слияния, которую обеспечивает WebAudio (см. ChannelMerger выше), по-видимому, в основном основана на преобразовании между несколькими монофоническими сигналами и одним многоканальным сигналом с отображением одного канала в один моносигнал.
Я мог бы взять произвольный узел (я думаю, что GainNode будет работать, и я мог бы воспользоваться его функциональностью усиления) и установить его режим channelInterpretation на «колонки», чтобы фактически смешивать каналы, но он работает только для 1, 2, 4 или6 входов.Мне вряд ли понадобится больше 6, но мне определенно понадобится уметь обрабатывать 3 и, возможно, 5. Это можно сделать, используя более одного микшера (например, для трех каналов микшируйте входы 1 и 2 в одном микшере,затем смешайте его выход со входом 3 во втором микшере), но я думаю, что мне нужно было бы добавить больше GainNodes для правильного баланса микса.Предполагается, что микшер должен ослаблять каждый вход, чтобы не допустить сужения совпадающих пиков вне диапазона, поэтому в случае цепных микшеров без компенсации я получу 1 / 4,1 / 4,1 / 2 вместо 1 / 3,1 / 3.1/3 & alpha;