Skip to content

lrc

LRC related functions

generate_lrc(song, output_file) ¤

Generates an LRC file for the current song

Arguments¤
  • song: Song object
  • output_file: Path to the output file
Source code in spotdl/utils/lrc.py
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
def generate_lrc(song: Song, output_file: Path):
    """
    Generates an LRC file for the current song

    ### Arguments
    - song: Song object
    - output_file: Path to the output file
    """

    if song.lyrics and has_translation(song.lyrics):
        lrc_data = song.lyrics
    else:
        try:
            lrc_data = syncedlyrics_search(song.display_name)
        except Exception:
            lrc_data = None

    if lrc_data:
        Lyrics(lrc_data).save_lrc_file(
            str(output_file.with_suffix(".lrc")), TargetType.PREFER_SYNCED
        )
        logger.debug("Saved lrc file for %s", song.display_name)
    else:
        logger.debug("No lrc file found for %s", song.display_name)

remomve_lrc(lyrics) ¤

Removes lrc tags from lyrics

Arguments¤
  • lyrics: Lyrics string
Returns¤
  • Lyrics string without lrc tags
Source code in spotdl/utils/lrc.py
45
46
47
48
49
50
51
52
53
54
55
56
def remomve_lrc(lyrics: str) -> str:
    """
    Removes lrc tags from lyrics

    ### Arguments
    - lyrics: Lyrics string

    ### Returns
    - Lyrics string without lrc tags
    """

    return re.sub(r"\[.*?\]", "", lyrics)