Peaks JS Demo

This example is using data produced in JSON format to render the waveform. Trying to create an ArrayBuffer for binary data with the ~30 min audio file likely exceeded some memory limits for the browser when creating a waveform from AudioContext. There is a handy command line tool also available from the BBC, audiowaveform, that we could use to easily convert all of the audio files for a course in a few minutes.

The Peak.js library from the BBC was used to create the visualization.

Piano Sonata in B Minor (1854) by Franz Liszt

The sonata unfolds in approximately 30 minutes of unbroken music. While its four distinct movements are rolled into one, the entire work is encompassed within the traditional Classical sonata scheme - exposition, development, and recapitulation. Liszt has effectively composed a sonata within a sonata, which is part of the work's uniqueness. Liszt was very economical with his thematic material, indeed, the very first page contains the three motivic ideas that provide the content, transformed throughout, for nearly all that follows.

The sonata has four movements although there is no gap between them. Superimposed upon the four movements is a large sonata form structure, although the precise beginnings and endings of the traditional development and recapitulation sections has long been a topic of debate.

Wikipedia


Add New Segments

Your new segment will begin at the current position of the audio track. You will be able to adjust the start/end time of the segment once the segment has been added to the waveform.



Add Segment
Save Segment

Existing Segments

Click on one of the segments from the list below to skip to the beginning of that segment.

Current Time: {{currentTime}}