Как я могу читать из огромного файла WAV с NAudio с приемлемой производительностью? - PullRequest
0 голосов
/ 26 марта 2019

Если быть точным, мне нужно обрабатывать файлы с частотой дискретизации 16 кГц, 4 байта / семпл, длина которой может быть 8 часов, с размером файлов около 1,8 ГБ.

Все, что мне нужно сделать, этоПрочитайте файл, чтобы извлечь сэмплы кусками, извлечь минимальные и максимальные значения для построения графика, но даже чтение файла без какой-либо обработки занимает более 10 секунд, при этом все время затрачивается на метод AudioFileReader.Read.Изменение размера буфера немного меняет это, но недостаточно, чтобы сделать выборку достаточно быстрой для моего варианта использования, который отображает форму волны в пользовательском интерфейсе в (более или менее) реальном времени.

Есть ли способ прочитать такой большой файл быстрее, чем считывание целого фрагмента в память за раз?Или каким-то совершенно другим способом решить эту проблему?

...