Skip to content

Gerem66/LyricalMind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LyricalMind - v0.1.0

Retrieves information and synchronized lyrics for a sound by name.

Usage

<?php
require_once __DIR__ . '/lib/SpotifyAPI/spotifyapi.php';
require_once __DIR__ . '/lib/LyricalMind/lyricalmind.php';

$spotifyAPI = new SpotifyAPI(); // Optional if you want lyrics not synced
$lyricsMind = new LyricalMind($spotifyAPI);

$output = $lyricsMind->GetLyricsByID($id, $syncLyrics);
$output = $lyricsMind->GetLyricsByName($artist, $title, $syncLyrics);
?>

How it works

Get lyrics

  1. Get Spotify song ID if needed, bpm, key/mode and duration
  2. Get lyrics from scraping (AZ, Genius, P2C)

Synchronize lyrics (optional, need SpotifyAPI and WhisperX)

  1. Download song from Spotify (spotdl)
  2. Separate vocals from song (unmix)
  3. Speech to text (WhisperX)
  4. Syncronize lyrics (compare lyrics with speech to text)

Configuration

  • Create a configuration file named config.json with content:
{
    "debug": false
}

Go to SpotifyAPI to setup SpotifyAPI

Status codes

  • 0 => Success
  • 1 => Spotify song not found
  • 2 => Lyrics not found
  • 3 => Song not downloaded
  • 4 => Song not spleeted
  • 5 => Speech to text failed
  • 6 => Lyrics not synced (not enough words found)

Dependencies

Packages

TODO

  • Noter les signatures rythmique (spotifyAPI)
  • DD/DD_db: Faire un système de logs avancé
  • GetLyrics: Acheter une base de données de paroles
  • Algo: Affiner les déductions avec les fichier audio
  • Algo: Syncroniser les paroles mot par mot

Potentials lyrics sources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages