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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file Endeless-0.1.tar.gz.

File metadata

  • Download URL: Endeless-0.1.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for Endeless-0.1.tar.gz
Algorithm Hash digest
SHA256 33a7676801709e97d44039f5d844d41727c01c3049c001950430b1c60c652c5e
MD5 b9fa19e7dd70103863fa9d472673582c
BLAKE2b-256 4eb7f04896866350f2f80a255f9d056871b4c8b09e0a0e4bd366aebf596f2cd7

See more details on using hashes here.

File details

Details for the file Endeless-0.1-py3-none-any.whl.

File metadata

  • Download URL: Endeless-0.1-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for Endeless-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f1c922f8423dad679fb5bbfd66838299ddb96cfec101342b734463a196dcfd44
MD5 15f49b9da17b99135d55f6a9fd022552
BLAKE2b-256 7762cbbb495638e145fa9ca460c65c0650838ad08d3a51cac3997cccf5612437

See more details on using hashes here.

Supported by

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