Skip to main content

Create playlists with seamless music transitions.

Project description

Endeless

Making seamless transition in your playlists.

MIT License

What Endeless can do :

  1. Create a mix with a fix number of songs, starting with a song of your choice with seamless transitions
  2. Create a playlist starting and ending with songs of your choosing, Endeless will fill the gap between these songs with songs and seamless transitions

Install Endeless

Simply run :

$ pip install Endeless==0.1

Requirements

You will need a few packages (if you don't use pip install) :

  • pydub to handle audio files and crossfades (link).
  • librosa for the analyse of audio files (link).
  • numpy, and pandas.
  • libfmp for the Fundamentals of Music Processing (link).
  • requests for web requests (link).
  • beautifulsoup4 which allows to use BeautifulSoup for web parsing.
  • mutagen to handle mp3 metadata (link).

Thanks to all the creators of these libraries.

How to make it work

You have to fill the songs folder with audio files (mp3 for now) of your songs. You must fill the metadata "name" and "artist" in the songs' properties for it to work well. I encourage you to select an important number of songs.
Now that our songs are prepared, we can run :

$ Endeless -r

This will reset the dataset that contains my examples. Now you can specify the path to your folder with the audio files or put the songs in the dedicated folder in the repository :

$ Endeless -S

Now you can update your dataset :

$ Endeless -d

You will be asked to submit the time in ms of the first note and last note of each songs. Then, you might enter the chords yourself or let chord recognition do the job.

$ Endeless -s

Take a look at your dataset before creating playlists.

What can Endeless do ?

  • Create a mix with a fix number of songs, starting with a song (enter the exact name of the song, use -s to check) of your choice with seamless transitions

    $ Endeless -m "Thunder"
    
  • Create a playlist starting and ending with songs of your choosing, Endeless will fill the gap between these songs with songs and seamless transitions

    $ Endeless -p "Thunder" "Animals"
    

Possible problems:

  • "What do you mean by 'the time of the last note' ?"

The time of the last note is actually the beginning of the last note (same for the first note), just like chords in a tablature.

  • "I can't find enough songs to make this work."

I'm really sorry but you need a number of songs that is large enough for the program to find songs that match with each other. Still, I can suggest to you my Songs-dataset.csv from the repository which contains a few songs that work well together.

Warning :

This is a personal project, please email me at contact.keyofmagic@gmail.com if you have any problem with Endeless.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Endeless-0.1.tar.gz (9.4 kB view hashes)

Uploaded Source

Built Distribution

Endeless-0.1-py3-none-any.whl (19.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page