Member 14717547 Ответов: 1

Как отобразить файл .wav в форме windows с помощью диаграмм со сложной структурой?


Мне нужно иметь возможность отображать форму волны из A .wav на графике, используя сложную структуру, чтобы на ней можно было выполнить преобразование Фурье (FFT), а затем отобразить его во вторичном графике. Я не хочу использовать NAudio и держать библиотеки на минимуме, как мне исправить свой код, чтобы я мог отображать форму сигнала?

Что я уже пробовал:

<pre>
Complex[] InputWave = new Complex[1000];
        int sampleRate;
        int fileSize;

private void LoadWave()
        {
            try
            {
                using (FileStream FS = File.Open(fileAddressBox.Text, FileMode.Open))
                {
                    BinaryReader BReader = new BinaryReader(FS);

                    int chunkID = BReader.ReadInt32();
                    fileSize = BReader.ReadInt32();
                    int riffType = BReader.ReadInt32();
                    int sbchunk1ID = BReader.ReadInt32();
                    int sbchunk1Size = BReader.ReadInt32();
                    int AudioFormat = BReader.ReadInt16();
                    int channels = BReader.ReadInt16();
                    sampleRate = BReader.ReadInt32();
                    int byteRate = BReader.ReadInt32();
                    int blockAlign = BReader.ReadInt16();
                    int bitDepth = BReader.ReadInt16();
                    

                    InputWave = new Complex[fileSize];
                    byte[] byteArray = new byte[fileSize];

                    for (int i = 0; i < fileSize; i++)
                    {
                        byteArray[i] = BReader.ReadByte();
                        InputWave[i] = BitConverter.ToInt32(byteArray,i);
                        double time = ((i + 1.0) / fileSize) / 2;
                        fileChart.Series["Input Wave"].Points.AddXY(time, InputWave[i].Real);
                    }

                }
            }
            catch
            {

            }
        }