Заголовок Wave включает в себя поля для размера выборки (в битах) для каждой выборки и количества каналов, закодированных в файле волны.
Имея эту информацию в руках, вы можете разделить каналы: Данные сэмплов в волновом файле содержат сэмплы для каждого чередующегося канала.
Т.е., если у вас было два канала (A, B)у вас есть sA1, sB1, sA2, SB2, sA3, sB3 - сначала выборка для A, затем одна для B, затем еще одна для A и так далее.Это означает, что если у вас есть размер выборки, то есть 16 бит, вы читаете 2 байта из файла, которые принадлежат каналу A, затем 2 байта, которые принадлежат каналу B и т. Д.