Your musical pokedex, Plex for music

Overview

Musidex logo, a capital letter M

Musidex

Your musical pokedex, Plex for music.

Add songs from youtube videos or youtube playlist to your library, or import them from your local files.
Tags are automatically imported and searchable, sync it on your phone to enjoy free offline music, managed from your home server.

Don't want to bother making playlists?
Let Musidex handle it for you, a neural network analyses your musics and checks for similarity to provide semantic autoplaying.
Choose a starting point and let it choose the next song for you!

Features

  • Music streaming
  • Youtube import
  • Web front
  • Neural embedding based auto play
  • Text search
  • Tag filtering
  • Playlists through tags/Tag editor
  • MP3 import
  • Ogg import
  • FLAC import
  • Android App
  • iOS App

Setting up the server

Linux

Only GNU/Linux distros are supported at the moment. Since the project is young, you'll have to build it yourself. We will provide prebuilt binaries eventually.

Dependencies

You can run the prepare.sh script after cloning to run all of the following commands, or run them yourself with an explanation.

Youtube-dl to add music from youtube URLs.

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

Ffmpeg so that the downloaded audio files are converted to more friendly formats. (as advised by youtube-dl).
Npm for the frontend.
Sqlite for the db.

sudo apt install ffmpeg npm libsqlite3-dev python3 python-is-python3

The rust compiler for the backend.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME"/.cargo/env

The repo itself.

git clone https://github.com/Uriopass/Musidex
cd Musidex

# Prepare the web dependencies
(cd musidex-web && npm install)

Building and running

# Just run the start script
./start.sh

Developing on the project

First install the dependencies as listed above, then

# Start the daemon, will listen on localhost:3200
cargo run --manifest-path=musidex-daemon/Cargo.toml

# And in another terminal... start the web client
cd musidex-web
npm start # will start on localhost:3000 
          # and proxy api requests to the daemon

Then if you want to work on the daemon, simply run cargo run again after doing your modifications.

If you want to work on the web client, the modifications will be hot reloaded.

All musidex data ends up in the storage directory.

You might also like...
Random music in Annil and stream as a radio station.

anni-radio anni-radio is an audio streaming client for Project Anni. Installation cargo install --git https://github.com/project-anni/radio Dependency

Small music theory library with MIDI capabilities written in Rust
Small music theory library with MIDI capabilities written in Rust

mumuse Small music theory library with MIDI capabilities written in Rust (wip). Examples Creating notes and transpositions // Declare Note from &str l

A terminal music player written in the Rust language.
A terminal music player written in the Rust language.

A terminal music player written in the Rust language. (Windows) Requirements Configuration file path: C:\Users\xxx\.config\music_player\config.yml # P

Tool for solving music harmonics written in rust.
Tool for solving music harmonics written in rust.

Harmonized Tool for solving harmonics tasks Installation steps Requirements Make shure you have installed rust cargo If not: Download and run rust ins

The definitive e-book reader music player (Kobo, Kindle)
The definitive e-book reader music player (Kobo, Kindle)

Introduction E-ink devices have traditionally been only for reading... well no more! Buck is a fully-fledged music player for e-ink devices (tested fu

Tools for working with MIDI files - written by All the Music LLC for musicians.

Tools for Generating and Working with MIDI Files NOTICE: This repo is under construction and is not ready for use. Once it is ready, and the other rep

Small, compact music player written with Rust.

trill Small, compact music player based on rodio. Usage Run the program with --help to see the available options. To just play a sound file: trill -p

A video player for your terminal that generates a standalone executable that plays your video.

Szmelc Player Szmelc Player is a program that converts any video you give it to a standalone executable that plays the video in the terminal. It uses

A small program to feed the audio from your QRP-Labs QDX digital transceiver through to your computer's speakers

A small program to feed the audio from your QRP-Labs QDX digital transceiver through to your computer's speakers. Also gives you a small user interface in which you can see a signal-strength meter, control the output volume coming from your speakers, and to tune the QDX to a particular frequency (receive SSB and other signals!).

Comments
  • Switch youtube-dl by yt-dlp to improve download speed

    Switch youtube-dl by yt-dlp to improve download speed

    Just a suggestion to remplace the extractor of youtube video. Last months yt-dlp is gaining more tractions and the project seems to be well maintened. You can test it on local or in my instance with this big video and compare with the current instance.
    The difference is pretty significante (to 1 minute to 10 for youtube-dl !)

    Thank you, i like you project :)

    opened by sepiropht 3
Owner
Pâris DOUADY
I write code.
Pâris DOUADY
Selim – a real-time musical score follower toolkit

Selim – a real-time musical score follower toolkit You can provide Selim with a MIDI file (or text input with millisecond timestamps and integers for

Antti Kaihola 1 Dec 30, 2021
Rust-crate with functions and helpers for working with music / audio, inspired by computer music languages.

music-math This crate contains common functions and helpers for working with music / audio in Rust. Most of these are inspired by similar functions fo

Mads Kjeldgaard 3 Apr 10, 2024
A music theory guide written in Rust.

Rust Music Theory A library and executable that provides programmatic implementation of the basis of the music theory. Table of Contents Overview Usag

Ozan Kaşıkçı 551 Dec 21, 2022
The open source musician's digital music stand

DiNoScore* A digital music stand written with GTK in Rust using WoAB. Includes an editor to import your sheet. Touch-friendly thanks to Libhandy. Ever

null 13 Dec 5, 2022
🎧 a self-hosted Spotify → Discord music bot

Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself. Note: a Spotify Premium account is c

Max Isom 159 Dec 29, 2022
A next-generation music player and manager

ouverture A next-generation music player and manager Very much at Work-In-Planning stage now Planned features GUI (localizable) Backend (something lik

Michael B 9 Nov 17, 2022
A music bot build in Serenity/Rust.

Sunny Flowers is a Discord bot to play media in voice channels. It uses Serenity and Songbird to accomplish this.

Sophie 11 Nov 5, 2022
musify is a simple discord bot to play music within a voice channel, written in the rust programming language.

musify-rs musify is a simple discord bot to play music within a voice channel, written in the rust programming language. Features A simple song queue

NV6 5 Aug 14, 2022
MRVN is a Discord music player bot.

MRVN is a Discord music player bot. It has a few neat features: Supports a wide array of sites, including Youtube, Soundcloud, Twitch and many mo

Tom Barham 17 Jan 1, 2023
Terminal Music Player written in Rust

Terminal Music Player written in Rust Listen to music freely as both in freedom and free of charge! Freedom: As time goes by, online service providers

null 376 Jan 3, 2023