Skip to main content

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.

Release files for Endeless 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Endeless 0.1
File Size Uploaded
Endeless-0.1.tar.gz 9.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Endeless 0.1
File Interpreter ABI Platform
Endeless-0.1-py3-none-any.whl Python 3 none any Details

Total release size: 28.4 kB

Release files / Endeless-0.1.tar.gz

Download URL Endeless-0.1.tar.gz
Size 9.4 kB
Tags Source
SHA-256 checksum
How to use checksums
33a7676801709e97d44039f5d844d41727c01c3049c001950430b1c60c652c5e
BLAKE2b-256 checksum
How to use checksums
4eb7f04896866350f2f80a255f9d056871b4c8b09e0a0e4bd366aebf596f2cd7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0.post20201221 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.8.4

Release files / Endeless-0.1-py3-none-any.whl

Download URL Endeless-0.1-py3-none-any.whl
Size 19.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f1c922f8423dad679fb5bbfd66838299ddb96cfec101342b734463a196dcfd44
BLAKE2b-256 checksum
How to use checksums
7762cbbb495638e145fa9ca460c65c0650838ad08d3a51cac3997cccf5612437
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0.post20201221 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.8.4

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page