All Projects → lepisma → Blackbird

lepisma / Blackbird

Licence: mit
exploratory music player

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Blackbird

Webaudiofont
Use full GM set of musical instruments to play MIDI and single sounds or effects. Support for reverberation and equaliser. No plugins, no Flash. Pure HTML5 implementation compatible with desktop and mobile browser. See live examples.
Stars: ✭ 600 (+2042.86%)
Mutual labels:  music-player
Taro Music
🎉基于taro + taro-ui + redux + react-hooks + typescript 开发的网易云音乐小程序,目前正在使用react-hooks重构中(不定时更新)
Stars: ✭ 826 (+2850%)
Mutual labels:  music-player
Yesplaymusic
高颜值的第三方网易云播放器,支持 Windows / macOS / Linux
Stars: ✭ 12,981 (+46260.71%)
Mutual labels:  music-player
Listen1 mobile
one for all free music in china (iOS, Android)
Stars: ✭ 634 (+2164.29%)
Mutual labels:  music-player
Ttkmusicplayer
TTKMusicPlayer that imitation Kugou music, the music player uses of qmmp core library based on Qt for windows and linux.(支持网易云音乐、QQ音乐、酷我音乐、酷狗音乐等等)
Stars: ✭ 765 (+2632.14%)
Mutual labels:  music-player
Mprislyrics
Small command-line utility that displays lyrics in sync with the currently playing song in a MPRIS2 capable player.
Stars: ✭ 24 (-14.29%)
Mutual labels:  music-player
Orin
Fork of @kabouzied Phonograph, I always wanted to try my hands on Tunzo's material design music player concept which can be found here: https://www.uplabs.com/posts/a-music-player-in-material-design-a-concept ... Work in progress.
Stars: ✭ 587 (+1996.43%)
Mutual labels:  music-player
Mopidy
Mopidy is an extensible music server written in Python
Stars: ✭ 7,254 (+25807.14%)
Mutual labels:  music-player
Timber
Material Design Music Player
Stars: ✭ 6,654 (+23664.29%)
Mutual labels:  music-player
Scscmsmusic
这是一个chrome扩展程序的音乐播放器,方便在没有安装音乐播放器时使用chrome浏览器听歌。可以建立播放列表,导入的歌曲可以存储,并支持播放远程音乐。
Stars: ✭ 26 (-7.14%)
Mutual labels:  music-player
Music Player Go
🎶🎼 Very slim music player 👨‍🎤 100% made in Italy 🍕🌳🌞🍝🌄
Stars: ✭ 654 (+2235.71%)
Mutual labels:  music-player
Nuclear
Streaming music player that finds free music for you
Stars: ✭ 7,133 (+25375%)
Mutual labels:  music-player
Music Player
Android xml template layout for media/music player.
Stars: ✭ 24 (-14.29%)
Mutual labels:  music-player
Chord
Chord - A Modern Music Player
Stars: ✭ 615 (+2096.43%)
Mutual labels:  music-player
Melophile
A fully-featured music app that contains various elements of Material Design.
Stars: ✭ 859 (+2967.86%)
Mutual labels:  music-player
Simple Music Player
A clean music player with a customizable widget, stylish interface and no ads.
Stars: ✭ 597 (+2032.14%)
Mutual labels:  music-player
Quodlibet
Music player and music library manager for Linux, Windows, and macOS
Stars: ✭ 918 (+3178.57%)
Mutual labels:  music-player
Gomu
golang TUI music player
Stars: ✭ 27 (-3.57%)
Mutual labels:  music-player
Openjam
🎹 A blockchain-based collaborative ecosystem for all musical performers, professional, independant and amateur.
Stars: ✭ 13 (-53.57%)
Mutual labels:  music-player
Cocomusic
a simple music player built by electron and vue
Stars: ✭ 937 (+3246.43%)
Mutual labels:  music-player

blackbird

I am ripping this apart into pieces. Once I finish incorporating streaming media sources in it, hopefully all the moving pieces will fall again together. Also, I badly want to replan the UI.

under development

Exploratory music player

Blackbird lets you explore your beets library in acoustic feature space.

screen


Setting Up

  • Initialize a beets library

  • Install blackbird

    npm install -g lepisma/blackbird
    
  • Install python dependencies

    # Navigate to source (in local node installation directory, or clone this repo)
    cd ./utils
    pip install -r requirements.txt
    
  • Run blackbird-setup init to initialize configuration files.

  • You might need to rebuild sqlite3. See here.

  • Compile sass with npm run build if changes are made.

  • beets imports will automatically put songs in blackbird database. Following commands are added to beets.

    # Generate sequential features for given query
    beet features
    
    # Generate coordinates from the sequential features using specified method
    beet coords --type [mean, lstm]
    
  • Start with blackbird

Music Features

MFCC coefficients of size (20, N) are generated when beet features is called. N depends on length of song, block_reduced (mean) using a block of size (1, 100).

When beet coords is called with mean option, a clipped mean vector of size 20 is used as representation of each song. With lstm option, a keras lstm encoder-decoder model is loaded and resulting middle vector is used as representation. Both cases use TSNE to reduce the 20 vector to 2 and provide coordinates for visualization. Lookout for training notebook and pre-trained models in ./utils.

Commands
  • a / artistArtist mode

    View songs by artist of current song

  • am / albumAlbum mode

    View songs from album of current song

  • s <term> / search <term>Search mode

    Filter using search query. _space_ in query is intersection, + is union, - is except

  • f / freeFree mode. View all items

  • sim / similar → Sort in-mode according to similarity with current song

  • cap <n> / artistcap <n> → Filter artists with less than n songs

  • n <n> / new <n>n recent imports

  • r / repeat → Toggle repeat

  • slp <n> / sleep <n> → Sleep after playing n songs. Set negative n for reset.

  • l / love → Mark songs as loved in last.fm

  • lfm / lastfm → Toggle last.fm integration

  • d / download → Download music from youtube. First command opens youtube, second lets you check metadata for download. Needs ffmpeg for saving mp3s.

Shortcuts
  • ctrl+alt+<right> → Next song
  • ctrl+alt+<left> → Previous song
  • ctrl+alt+<space> → Play/pause
  • ctrl+alt+<down> → Hide to tray
  • ctrl+alt+<up> → Pop to front
  • alt+x → Enter command (while window active)
  • ctrl+w → Exit
Others

There is an emacs package for reading lyrics of current song (./utils/emacs/blackbird.el).

Bugs / Issues

blackbird is under development and therefore has crappy code structure and documentation. Feature addition/removal (and occasional refactoring) keeps happening. Please file issues here.

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].