NAudio Как с помощью этой библиотеки работать c mp3 файлами? - C#
Формулировка задачи:
Как с помощью этой библиотеки работать c mp3 файлами? получаю фреймы с данными RawData, так
Каждый фрейм хранит массив байт RawData, как из этих фреймов с массивами байт получить массив частот(или отсчетов)(с плавающей точкой или комплексных чисел - ведь в naudio есть классы для комплексных чисел, ноя не где не нашол как перегнать ацдио файл в массив этих чисел) всего mp3?
Может ли ктонибудь поделиться ссылкой - как использовать методы FFT библиотеки NAudio?
Mp3FileReader reader = new Mp3FileReader("G:\\1.mp3"); Mp3Frame frame; while ((frame = reader.ReadNextFrame()) != null) {}
А чтобы например сравнить звук с микрофона с темже mp3, какими форматом должен обладать файл? Тоесть какова должна быть его частота, биты, каналов? И нужно ли проводить какую нибудь нормализацию исходных данных и микрофонных?
Собираюсь использовать следующюю схему сравнения:
1) для исходника - Массив отсчетов->БПФ->MFCC
2)для микрофонных данных - Массив отсчетов->БПФ->И также MFCC
Потом через TDW их стравнить. Правильно ли я понял алгоритм?
Решение задачи: «NAudio Как с помощью этой библиотеки работать c mp3 файлами?»
textual
Листинг программы
byte[] buffer = e.Buffer; // now report each sample if necessary for (int index = 0; index < e.BytesRecorded; index += 2) { short sample = (short)((buffer[index + 1] << 8) | buffer[index + 0]); /* short sample2 = BitConverter.ToInt16(buffer, index); Debug.Assert(sample == sample2, "Oops"); */ float sample32 = sample / 32768f;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д