Skip to content

StephanAkkerman/LyriLearn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

15 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

LyriLearn

LyriLearn Banner

GitHub Actions Workflow Status License Code style: black

Introduction

If you listen to music from different countries, you might find it challenging to understand the lyrics in foreign languages. LyriLearn is a Python application that helps you learn foreign languages through song lyrics. It fetches synchronized lyrics for a given song, translates them into your target language, and displays them in sync with the music playback. This way, you can enjoy your favorite songs while improving your language skills!

Using it is simple: provide the song title and artist, and LyriLearn will take care of the rest. It uses powerful libraries like FastAPI for the backend, Google Translate for translation, and Stanza for part-of-speech tagging to enhance your learning experience.

You can use it by running the backend with Python and heading to http://akkerman.ai/LyriLearn/ or by opening the index.html file in your browser.

The image below shows a screenshot of the application in action: LyriLearn Screenshot

Table of Contents ๐Ÿ—‚

Key Features ๐Ÿ”‘

  • Translates song lyrics into your target language.
  • Synchronizes translated lyrics with music playback, hovering over words shows their translation.
  • Provides part-of-speech tagging for better understanding of lyrics.
  • User-friendly interface for easy navigation.
  • Supports many languages through Google Translate (over 100+ languages).

Installation โš™๏ธ

The required packages to run this code can be found in the requirements.txt file. To run this file, execute the following code block after cloning the repository:

pip install -r requirements.txt

or

pip install git+https://github.com/StephanAkkerman/LyriLearn.git

After installing the required packages, you can start the FastAPI backend server by running:

uvicorn api.main:app --reload

Then open your browser and navigate to http://akkerman.ai/LyriLearn/ or by opening the index.html file in your browser, located under /docs.

Usage โŒจ๏ธ

Citation โœ๏ธ

If you use this project in your research, please cite as follows:

@misc{LyriLearn2025,
  author  = {Stephan Akkerman},
  title   = {LyriLearn},
  year    = {2025},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/StephanAkkerman/LyriLearn}}
}

Contributing ๐Ÿ› 

Contributions are welcome! If you have a feature request, bug report, or proposal for code refactoring, please feel free to open an issue on GitHub. We appreciate your help in improving this project.
https://github.com/StephanAkkerman/LyriLearn/graphs/contributors

License ๐Ÿ“œ

This project is licensed under the MIT License. See the LICENSE file for details.

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages