GithubHelp home page GithubHelp logo

swaglyrics / autosynch Goto Github PK

View Code? Open in Web Editor NEW
50.0 6.0 9.0 260.19 MB

Automated lyrics-to-audio alignment using syllabic nuclei detection. Developed during Google Summer of Code 2019.

Home Page: https://swaglyrics.dev/autosynch

License: Other

Python 99.56% Shell 0.44%
swaglyrics music lyrics alignment

autosynch's Introduction

SwagLyrics SwagLyrics

SwagLyrics contains a set of packages and libraries written in Python to dramatically enhance the music listening experience on desktop. The support libraries and utilities have also been made open source to allow for an extensible framework.

This repository is meant for centralized issues as well as enhancement proposals and to house the media assets associated with the Project.

Repositories

SwagLyrics for Spotify

SwagLyrics for Spotify fetches the currently playing song from Spotify on Windows, Linux and macOS and displays the lyrics in the command-line or in a browser tab. Refreshes automatically when song changes. Very fast.

SwSpotify

SwSpotify is a python library that returns the currently playing song and artist from Spotify pan OS (Windows, Linux, macOS) without using the Spotify API. That allows it to be very fast and can be used independently from SwagLyrics.

swaglyrics-backend

The swaglyrics-backend is a Flask application that manages and sanitizes issues on the SwagLyrics for Spotify repo as well as handles the error mitigation of unsupported songs.

autosynch

autosynch is an application that aims to synchronize lyrics to their temporal location in the audio. It was developed during Google Summer of Code 2019.

autosynch's People

Contributors

chriswang030 avatar dependabot-preview[bot] avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

autosynch's Issues

Running with custom lyrics?

First and foremost, thank you for posting this project!
I am trying to utilize this program on one of my projects. It seems that there is an external API handling the lyrics, namely from swaglyrics.cli import get_lyrics in align.py. I wonder is there an option to supply my own lyrics? If not, what is the format of lyrics that get_lyrics returns? Thanks in advance!

formatted_lyrics and align_data['align'] don't match

I noticed this error that I am trying to fix:

Traceback (most recent call last):
  File "autosynch/playback.py", line 129, in <module>
    main()
  File "autosynch/playback.py", line 126, in main
    playback(**args)
  File "autosynch/playback.py", line 43, in playback
    align = line_align({'song': song, 'artist': artist, 'path': audio_file}, save)[0]['align']
  File "/Users/stella/PythonProjects/autosynch/autosynch/align.py", line 269, in line_align
    for j, line in enumerate(formatted_lyrics[i][1]):
IndexError: list index out of range

It seems that formatted_lyrics and align_data['align'] have different lengths.

formatted_lyrics, len: 8

 ('verse', [['White', 'shirt', 'now', 'red,', 'my', 'bloody', 'nose'], ["Sleepin',", "you're", 'on', 'your', 'tippy', 'toes'], ["Creepin'", 'around', 'like', 'no', 'one', 'knows'], ['Think', "you're", 'so', 'criminal'], ['Bruises', 'on', 'both', 'my', 'knees', 'for', 'you'], ["Don't", 'say', 'thank', 'you', 'or', 'please'], ['I', 'do', 'what', 'I', 'want', 'when', "I'm", 'wanting', 'to'], ['My', 'soul?', 'So', 'cynical']])

 ('chorus', [['So', "you're", 'a', 'tough', 'guy'], ['Like', 'it', 'really', 'rough', 'guy'], ['Just', "can't", 'get', 'enough', 'guy'], ['Chest', 'always', 'so', 'puffed', 'guy'], ["I'm", 'that', 'bad', 'type'], ['Make', 'your', 'mama', 'sad', 'type'], ['Make', 'your', 'girlfriend', 'mad', 'tight'], ['Might', 'seduce', 'your', 'dad', 'type'], ["I'm", 'the', 'bad', 'guy'], ['Duh']])

 ('chorus', [["I'm", 'the', 'bad', 'guy']])

 ('verse', [['I', 'like', 'it', 'when', 'you', 'take', 'control'], ['Even', 'if', 'you', 'know', 'that', 'you', "don't"], ['Own', 'me,', "I'll", 'let', 'you', 'play', 'the', 'role'], ["I'll", 'be', 'your', 'animal'], ['My', 'mommy', 'likes', 'to', 'sing', 'along', 'with', 'me'], ['But', 'she', "won't", 'sing', 'this', 'song'], ['If', 'she', 'reads', 'all', 'the', 'lyrics'], ["She'll", 'pity', 'the', 'men', 'I', 'know']])

 ('chorus', [['So', "you're", 'a', 'tough', 'guy'], ['Like', 'it', 'really', 'rough', 'guy'], ['Just', "can't", 'get', 'enough', 'guy'], ['Chest', 'always', 'so', 'puffed', 'guy'], ["I'm", 'that', 'bad', 'type'], ['Make', 'your', 'mama', 'sad', 'type'], ['Make', 'your', 'girlfriend', 'mad', 'tight'], ['Might', 'seduce', 'your', 'dad', 'type'], ["I'm", 'the', 'bad', 'guy'], ['Duh']])

 ('chorus', [["I'm", 'the', 'bad', 'guy,', 'duh'], ["I'm", 'only', 'good', 'at', "bein'", 'bad,', 'bad']])

 ('bridge', [['I', 'like', 'when', 'you', 'get', 'mad'], ['I', 'guess', "I'm", 'pretty', 'glad', 'that', "you're", 'alone'], ['You', 'said', "she's", 'scared', 'of', 'me?'], ['I', 'mean,', 'I', "don't", 'see', 'what', 'she', 'sees'], ['But', 'maybe', "it's", "'cause", "I'm", 'wearing', 'your', 'cologne']])

 ('intro', [["I'm", 'a', 'bad', 'guy'], ["I'm,", "I'm", 'a', 'bad', 'guy'], ['Bad', 'guy,', 'bad', 'guy'], ["I'm", 'a', 'bad']])
align_data, len: 9

{'label': 'verse', 'syllables': 59, 'start': 1.63, 'lines': [], 'end': 14.63}
{'label': 'verse', 'syllables': 59, 'start': 55.5, 'lines': [], 'end': 74.86}
{'label': 'chorus', 'syllables': 50, 'start': 74.86, 'lines': [], 'end': 89.07}
{'label': 'chorus', 'syllables': 4, 'start': 102.59, 'lines': [], 'end': 131.05}
{'label': 'verse', 'syllables': 60, 'start': 131.05, 'lines': [], 'end': 135.33}
{'label': 'chorus', 'syllables': 50, 'start': 135.33, 'lines': [], 'end': 149.35}
{'label': 'chorus', 'syllables': 14, 'start': 149.35, 'lines': [], 'end': 163.38}
{'label': 'bridge', 'syllables': 41, 'start': 163.38, 'lines': [], 'end': 184.67}
{'label': 'intro', 'syllables': 16, 'start': 184.67, 'lines': [], 'end': 205.96}

align_data has 1 verse more (the 2nd one), and the last should be the outro but it is labeled as being the intro.
Original lyrics here

This project run on windows?

I want to run this project on windows. but i can not download proper version of library.
Is it possible to run this project on windows?

This looks dope

Does it work properly? And can it keep up with Rap God? ๐Ÿ˜‚

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.