https://github.com/dfsp-spirit/audio_rating
Web-based tool for continuous, multi-dimensional rating of audio content with interactive waveform visualization
https://github.com/dfsp-spirit/audio_rating
audio music-informatics player rating visualization web
Last synced: 4 months ago
JSON representation
Web-based tool for continuous, multi-dimensional rating of audio content with interactive waveform visualization
- Host: GitHub
- URL: https://github.com/dfsp-spirit/audio_rating
- Owner: dfsp-spirit
- License: bsd-3-clause
- Created: 2025-08-29T07:49:20.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-02-09T15:38:12.000Z (5 months ago)
- Last Synced: 2026-02-09T18:18:08.451Z (5 months ago)
- Topics: audio, music-informatics, player, rating, visualization, web
- Language: Python
- Homepage:
- Size: 6.87 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# audio_rating
[](https://github.com/dfsp-spirit/audio_rating/actions/workflows/backend_tests.yml)
Web-based tool for continuous, multi-dimensional rating of audio content with interactive waveform visualization.

## About
This is a small javascript web widget to allow users to play an audio file, visualize the waveform, and assign ratings to the sections of the audio. The user can create sections, and assign a discrete rating to each section.
The widget support several rating dimensions, so that users can rate, for example, valence, arousal, and enjoyment.
It is intended to be used in psychological research on music perception and based on the great [wavesurfer.js](https://wavesurfer.xyz/) audio visualization library for JavaScript.
## Features
* audio file format: supports all audio file formats supported by Wavesurfer, including `.wav`, .`mp3`, and many others
* audio playback: pause/continue and jump to arbitrary positions in audio file via a slider
* rating: split songs into arbitrary sections and rate each section
* rate different dimensions (e.g., valence, arousal, and enjoyment) and use different scales for them
* interactive and iterative rating possible: replay a section, then rate it, switch back and forth between dimensions freely while rating, etc.
* export rating data and download it directly as a CSV file
## Online Live Demo
You can [try audio_rating live here](https://dfsp-spirit.github.io/audio_rating/study.html) on GitHub pages.
## Running the frontend locally
All you need is to have Python installed. Then, in the `frontend/` directory, either run the `run.bash` script or type `python -m http.server 8000`, which will serve the frontend in Python's built-in web server on port 8000 on your computer. Then connect to [http://localhost:8000](http://localhost:8000).
If you don't have Python or don't like its web server, use any other web server instead, e.g., nginx or apache2.
## Author, License and Dependencies
This was written by Tim Schäfer.
The major part of the work is done by [wavesurfer.js](https://wavesurfer.xyz/) though.
This software is licensed under the [3-clause BSD license](./LICENSE), the same license as [used by wavesurfer](https://github.com/katspaugh/wavesurfer.js/blob/main/LICENSE).