При отображении формы звукового сигнала вы можете захотеть уменьшить объем исходных данных, поскольку в аудиофайле обычно больше данных, чем пикселей на экране. Большинство аудиоредакторов создают отдельный файл (называемый пиковым файлом или файлом обзора), в котором хранится подмножество аудиоданных (обычно это пики и впадины сигнала) для использования при различных уровнях масштабирования. Затем, когда вы приближаетесь к определенной точке, вы начинаете ссылаться на сами необработанные аудиоданные.
Вот несколько хороших статей на эту тему:
Дисплей формы волны
Построение дисплея аудио сигнала
Что касается исходного кода, я бы рекомендовал просмотреть исходный код Audacity . Дисплей осциллограммы Audacity довольно хорош и, скорее всего, при рендеринге осциллограмм выполняет аналогичное сокращение данных.