Skip to content

huguesv/AudioPlayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Audio Player

GitHub Actions Workflow Status

This is an audio player for Windows, Linux and MacOS.

It is designed to play audio CDs dumped to raw bin/cue files.

The bin/cue files can be loaded from a folder on disk, or from a zip archive.

This player provides a convenient way of listening to dumps in that format without any additional step(s):

  • No need to mount the cue file as a virtual drive.
  • No need to extract the cue/bin files from zip files.
  • No need to convert the data to wav/flac/ogg/mp3.

This is currently NOT supported:

  • Playing from archives in 7z and rar formats.
  • Playing music from other formats such as wav, mp3, flac, ogg, etc. Just use a regular music player for that.

Album and track metadata is loaded from the CDTEXT information when present in cue file.

Additional metadata is optionally retrieved from CueToolsDB, including album art.

Lyrics are optionally retrieved from LRCLIB. Using a local LRCLIB sqlite3 database is also supported.

Desktop Player

Audio Player on Windows Screenshot

Console Player

Windows Terminal

For more screenshots, see the SCREENSHOTS.md file.

Compatibility

The application has been tested on the following operating systems, but may work on earlier versions.

  • Windows 11 24H2 (x64, ARM64)
  • MacOS 15.3 (Apple Silicon)
  • Ubuntu 24.10 (x64, ARM64)

The Linux version is currently not as polished as the Windows and MacOS versions.

Releases

Download the latest release here.

Binaries are not available for MacOS yet. You'll need to build it from sources.

Windows may prevent you from launching the application, since it is not signed. You can still run it by clicking on "More info" and then "Run anyway".

Usage (Desktop Player)

  1. Click the Open cue or zip file button at the bottom left of the application. Also available from the File menu on MacOS.

  2. Select either a .cue file or a .zip file that contains a .cue file.

  3. A new playlist that consists of the audio tracks from the .cue file will be opened and the first track will start playing.

  4. You can only load one album at a time. When you load another, the current playlist is replaced with the tracks from the new album.

  5. Click the Change View button (also View menu on MacOS) to switch between different views: currently playing, playlist, waveform view and spectrum views.

  6. Click the Settings button (also Settings menu on MacOS) to change settings such as Fetch Online Metadata and Show Album Art.

  7. Click the Settings button (also Settings menu on MacOS) to change Fetch Lyrics setting. Note that this requires metadata to be available for your tracks, either from CDTEXT in the cue file, or from CueToolsDB.

Lyrics Configuration

Lyrics are fetched from LRCLIB using their API.

You can optionally use a local version of the LRCLIB database:

  1. Download a dump of the latest database. Warning: this is a VERY large (~20GB).
  2. Extract the .sqlite3 file from the downloaded .gz file.
  3. Set the path to the .sqlite3 file in LRCLIB_DB_PATH environment variable.
  4. Restart the application.

Usage (Console Player)

  1. Open a terminal window.

  2. For help on command line options, run:

    Woohoo.Audio.Player.Cli -h
  3. Run the executable and pass a path to a .cue file or a .zip file that contains a .cue file.

    Woohoo.Audio.Player.Cli "Life Is Strange - Before the Storm - Original Soundtrack (USA, Europe) (PS4 Game Bundle).zip"
  4. Optionally pass in -m or --metadata to fetch metadata from CueToolsDB.

    Woohoo.Audio.Player.Cli -m "Life Is Strange - Before the Storm - Original Soundtrack (USA, Europe) (PS4 Game Bundle).zip"
  5. Optionally pass in -l or --lyrics to fetch lyrics from LRCLIB.net. Note that this requires metadata to be available for your tracks, either from CDTEXT in the cue file, or from CueToolsDB.

    Woohoo.Audio.Player.Cli -m -l "Life Is Strange - Before the Storm - Original Soundtrack (USA, Europe) (PS4 Game Bundle).zip"
  6. Optionally pass in -ldb <path> or --lyrics-db <path> to use a local LRCLIB database. A path to a .sqlite3 file must be provided. The latest database dump can be downloaded from here. When specified, lyrics will be fetched from the local database first, and fall back to the online service if no match is found locally.

    Woohoo.Audio.Player.Cli -m -l -ldb "C:\path\to\lrclib.sqlite3" "Life Is Strange - Before the Storm - Original Soundtrack (USA, Europe) (PS4 Game Bundle).zip"
  7. Press the following keys to control the player:

    • Q to quit.
    • P to pause playback.
    • R to resume playback.
    • Up to increase volume.
    • Down to decrease volume.
    • Left to go to the previous track.
    • Right to go to the next track.
    • - to seek backward.
    • + to seek forward.

Building

Install the .NET 10 SDK.

To build the application, use the following command from the \src folder:

dotnet build

To run the desktop player, use the following command from the \src folder:

dotnet run --project Woohoo.Audio.Player

To run the unit tests, use the following command from the \src folder:

dotnet test

License and Credits

This software is licensed under the MIT License. See the LICENSE file.

Copyright (c) 2025 Hugues Valois. All rights reserved.

This software uses the following libraries:

This software uses assets from:

This software queries metadata from:

This software queries lyrics from:

About

An audio player for CD dumps in bin/cue format. For Windows, MacOS and Linux.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages