All Projects → kalbhor → Musictools

kalbhor / Musictools

Licence: mit
Python library to download, label and sort music files.

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Musictools

Compactd
Remote music player that supports adding more content
Stars: ✭ 75 (-9.64%)
Mutual labels:  music
Yaradio Yamusic
Yandex Radio + Yandex Music desktop application ----------------------------- Неофициальное десктопное приложение для Яндекс Радио + Яндекс Музыка
Stars: ✭ 78 (-6.02%)
Mutual labels:  music
Rem V2
Well, this is the rewrite of rem, now even cleaner and hopefully with less bugs
Stars: ✭ 81 (-2.41%)
Mutual labels:  music
Microscale
Generated in real-time from random Wikipedia articles, microscale is a web-based, generative album.
Stars: ✭ 76 (-8.43%)
Mutual labels:  music
Mellite
An environment for creating experimental computer-based music and sound art. Mirror of https://git.iem.at/sciss/Mellite
Stars: ✭ 76 (-8.43%)
Mutual labels:  music
Apis
This Repository contains link to many Open or Closed Source APIs which I've made
Stars: ✭ 79 (-4.82%)
Mutual labels:  music
Ieasemusic
网易云音乐第三方
Stars: ✭ 8,572 (+10227.71%)
Mutual labels:  music
Musicbox
网易云音乐命令行版本
Stars: ✭ 9,138 (+10909.64%)
Mutual labels:  music
React Native Bubble Select
An easy-to-use customizable bubble animation picker, similar to the Apple Music genre selection
Stars: ✭ 78 (-6.02%)
Mutual labels:  music
Chipdisk Nac Vol.1
Chipdisk Nacional Vol.1
Stars: ✭ 81 (-2.41%)
Mutual labels:  music
Performance Rnn Pytorch
Event-based music generation with RNN using PyTorch
Stars: ✭ 77 (-7.23%)
Mutual labels:  music
Magenta session
🎹 Music Session with Google Magenta
Stars: ✭ 77 (-7.23%)
Mutual labels:  music
Chromaprint.scala
Chromaprint/AcoustID audio fingerprinting for the JVM
Stars: ✭ 81 (-2.41%)
Mutual labels:  music
Untamed Now Playing Next
Untamed-Now-Playing
Stars: ✭ 75 (-9.64%)
Mutual labels:  music
Atm Cli
Command line tool for generating and working with MIDI files.
Stars: ✭ 1,235 (+1387.95%)
Mutual labels:  music
Google Play Music Desktop Player Unofficial
A beautiful cross platform Desktop Player for Google Play Music
Stars: ✭ 8,459 (+10091.57%)
Mutual labels:  music
Misaki
Misaki is Discord Bot designed for communities with commands ranging from gif based anime reactions, to head scratching trivia commands.
Stars: ✭ 78 (-6.02%)
Mutual labels:  music
Tidal Api
An unofficial API wrapper for Tidal Music.
Stars: ✭ 83 (+0%)
Mutual labels:  music
Minibae
The platform-neutral Beatnik Audio Engine, Mini Edition (miniBAE) is an exceptionally mature, well-rounded, and reliable computer music and sound system specially customized for small-footprint and embedded applications.
Stars: ✭ 82 (-1.2%)
Mutual labels:  music
Vk Audio Token
Library that obtains VK tokens that work for VK audio API. Библиотека для получения токена VK, подходящего для Audio API.
Stars: ✭ 81 (-2.41%)
Mutual labels:  music

banner

PyPI version Build Status

Library to download, sort and tag music files

Social

GitHub stars GitHub followers
Twitter Follow

Dependencies

Mac

$ brew install libav

Ubuntu

$ sudo apt-get install libav-tools

Windows

Install libav

Installing

From Source:

$ git clone https://github.com/kalbhor/MusicTools
$ cd MusicTools
$ python setup.py install

From PyPI:

$ pip install musictools

Methods

Provides a list of youtube videos of the song with urls and titles
musictools.get_song_urls(song_name)
Download song from youtube
musictools.download_song(song_url, song_title)
Provides artist name, song name, album name and album art for a particular song. Requires Client ID and Client Secret for Spotify API
musictools.get_metadata(file_name, client_id, client_secret)
Adds an image as the album art of a mp3 file
musictools.add_albumart(file_name, albumart)
Adds title, artist and album name in a mp3 file
musictools.add_metadata(file_name, title, artist, album)
Removes all metadata and album art from songs
musictools.revert_metadata(file_name)
Returns specified metadata field for a music file
musictools.get_current_metadata_tag(file_name, tag)

Example

>>> from musictools import musictools

>>> songs_list = musictools.get_song_urls("Hey Jude")
>>> print(songs_list[0])
('https://www.youtube.com/watch?v=A_MjCqQoLLA', 'The Beatles - Hey Jude')

>>> url, title = songs_list[0]
>>> print(url)
https://www.youtube.com/watch?v=A_MjCqQoLLA
>>> print(title)
The Beatles - Hey Jude

>>> musictools.download_song(url, title, dl_directory='~/Desktop/Music/')

>>> musictools.get_metadata(title)
('The Beatles', '1 (Remastered)', 'Hey Jude - Remastered 2015', 'https://i.scdn.co/image/9ecfdf528562cae879748b73bd81b64dfa3d5704')

>>> artist, album , song_name, albumart = musictools.get_metadata(title, 'YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET')

>>> musictools.add_albumart(title, albumart)
>>> musictools.add_metadata(title, song_name, artist, album)

✨✨VOILA✨✨

image

Contributing

To contribute, post issues without hesitation and open pull requests to add/improve features.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].