Skip to content

Ant0in/Deezify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deezify

🎸A fully-fledged music player.

INFO-F307 at ULB

Table of Contents

📖 Overview

Deezify is a music player application developed as part of the INFO-F307 course at ULB. The project aims to provide a simple, intuitive, and feature-rich music player for desktop platforms. It is developed using Java and JavaFX, and it supports playback of local audio files (.mp3, .wav).

It is available for Windows, macOS, and Linux.

🔧 Installation

Binaries

To run the project, you can download the latest release from the releases page. You'll need to have Java installed on your system.

Compile from source

  1. Clone the repository
git clone https://github.com/Ant0in/Deezify.git
  1. Install the Java JDK compatible with your platform: https://www.oracle.com/java/technologies/downloads/

  2. Install the JavaFX SDK compatible with your platform: https://gluonhq.com/products/javafx/

  3. Install Maven on your system: https://maven.apache.org/download.cgi

  4. Compile the project

mvn compile
  1. Run the project
mvn exec:java

🗺️ Roadmap

📌 Phase 1

  • 🎵 Basic Music Playback: Play local audio files (.mp3, .wav)
  • 🎚️ Playback Controls: Play, pause, skip, previous track, seek, volume control
  • 📌 Queue System: Add/remove tracks to the playback queue

📌 Phase 2

  • 🌎 Multilingual Support: Supports English, French, and Dutch
  • 🖼️ Album Art Retrieval: Fetch & display album covers automatically
  • 📜 Metadata Editing: Modify artist, track name, and album information
  • 🏷️ Tagging System: Assign custom tags (genres, moods, events) to tracks
  • 📑 Playlists Management: Create, edit, and organize playlists
  • Favorites System: Easily mark and access favorite songs
  • 📻 Web Radio Integration: Stream online radio stations
  • 🎤 Lyrics Display: Display lyrics for the currently playing track
  • 🎧 Equalizer: Tune frequency bands (−20 dB to +20 dB)

📌 Phase 3

  • 🔎 Research: Let the user search for music in its library based on title, artist, album, or tags
  • 〰️ Visualizer: Audio Visualizer, draws a nice looking graph that updates based on the sounds that are playing
  • 📜 Metadata autocompletion: Suggest values for artist, album, and tags when modifying the metadata
  • 🎤 Karaoke: Allow user to sing along with the music playing thanks to lyrics updating in real time with the song
  • 🎛️ DJ mode: Allow for audio effects to be applied in real time

📌 Phase 4

  • 🤖 Smart Suggestions: Suggest similar tracks during playlist creation based on artist, tags, and album metadata
  • 🔄 Crossfade Transitions: Smooth transitions between tracks with adjustable fade duration
  • 🎬 Video Cover Support: Play a muted .mp4 video as the song’s cover if set
  • 👥 User Accounts (Local): Multiple local users with separate libraries and playlists, plus a shared global folder

Project's Burndown chart interactive overview

https://v0-work-in-progress-page-ebon.vercel.app/

🤝 Acknowledgements

This project uses the following libraries:

About

Music App made for the "Génie Logiciel" course INFO—F307

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 11