1

naudio を使用してステレオ pcm サンプルをモノラル サンプルに変換するにはどうすればよいですか?

または、ステレオ mp3 ファイルをモノラルの生サンプルに変換することもできます。

私はこれを試してみます:

for (int u = 0; u < output.Length; u+=4)
            {
                byte[] Lbuffer = new byte[2];
                byte[] Rbuffer = new byte[2];
                Lbuffer[0] = output[u + 0];
                Lbuffer[1] = output[u + 1];
                Rbuffer[0] = output[u + 2];
                Rbuffer[1] = output[u + 3];

                Int16 leftSample = BitConverter.ToInt16(Lbuffer, 0);
                Int16 rightSample = BitConverter.ToInt16(Rbuffer, 0);

                Int16 mixedMono = (Int16)(0.5f * (float)leftSample + (float)rightSample);
                Byte[] mixedMonoBytes = BitConverter.GetBytes(mixedMono);

                mono[counter] = mixedMonoBytes[0];
                mono[counter+1] = mixedMonoBytes[1];


                //mono[counter] = Convert.ToByte((Convert.ToInt16(buffer[0]) + Convert.ToInt16(buffer[2]))/2);
                //mono[counter+1] = Convert.ToByte((Convert.ToInt16(buffer[0]) + Convert.ToInt16(buffer[2]))/2);
                counter += 2;
            }

しかし、それは現在動作しません! その結果、ノイズが発生します。出力は生のサンプルを含む配列です!

4

1 に答える 1