Я работаю над проигрывателем модов, который представляет собой аудиофайл с 4 различными дорожками (каналами) с использованием webaudio / audioWorkletNode.
Я правильно понял, используя 2-канальный (стерео) аудио узел:
- каналы (треки) 0 и 3 микшируются в левый канал
- каналы (треки) 1 и 2 смешаны в правый канал
Проблема в том, что я хотел бы проанализировать и показать отображение формы сигнала для каждой из дорожек (поэтому должно быть 4 разных анализатора).
У меня была идея создать audioWorkletNode с outputChannelCount, установленным в [4], подключить анализатор к каждому из четырех каналов узла и затем использовать channelMerger для микширования его в 2 стереоканала.
Итак, я использовал следующий код, ожидая, что он создаст узел с 4 каналами:
let node = new AudioWorkletNode (context, 'processor', {outputChannelCount: [4]});
Но параметр outputChannelCount, похоже, игнорируется. Независимо от того, что я указываю, в конце концов он настроен на 2 канала.
Есть ли способ сделать это по-другому, или я должен сам провести анализ, используя свой собственный анализатор?