An open API service indexing awesome lists of open source software.

https://github.com/akashrchandran/syrics

A command line tool to fetch lyrics from spotify and save it to lrc file. It can fetch both synced and unsynced lyrics from spotify.
https://github.com/akashrchandran/syrics

hacktoberfest lyrics music musixmatch musixmatch-lyrics python python3 spotify spotify-lyrics spotify-web-api spotipy

Last synced: about 2 months ago
JSON representation

A command line tool to fetch lyrics from spotify and save it to lrc file. It can fetch both synced and unsynced lyrics from spotify.

Awesome Lists containing this project

README

        

[![syrics logo](https://ik.imagekit.io/gyzvlawdz/Projects/syrics/Black_Modern_Business_Logo__600___500_px___2240___1260_px__cYRO9HGTQ.png)](https://pypi.org/project/syrics/)



A command line tool to fetch lyrics from spotify and save it to lrc file. It can fetch both synced and unsynced lyrics from spotify. You can find API version at [akashrchandran/spotify-lyrics-api](https://github.com/akashrchandran/spotify-lyrics-api).




## Getting started

> You will need a **spotify account**, free also works for some limited songs but it's nice to have premium.

### Install with pip

```
pip3 install syrics
```
### Upgrade with pip

```
pip3 install syrics --upgrade
```
> To get more detailed installation guide please check wiki's [installation page](https://github.com/akashrchandran/syrics/wiki/Installation)

### Finding sp_dc
> Syrics sp_dc cookie to authenticate against Spotify in order to have access to the required services.

The methods are explained in the [wiki](https://github.com/akashrchandran/syrics/wiki/Finding-sp_dc).

### Config
> When you run the program for the first time, it will directly create config and open editing.

*To edit config*

```
syrics --config
```

*To reset config to default values*

```
syrics --config reset
```
*To open config in notepad or nano text editors*
```
syrics --config open
```
> After finding sp_dc you should edit config file and set sp_dc to the value you found.

*Default values of config*

```JSON
{
"sp_dc": "",
"download_path": "downloads",
"create_folder": true,
"album_folder_name": "{name} - {artists}",
"play_folder_name": "{name} - {owner}",
"file_name": "{track_number}. {name}",
"synced_lyrics": true,
"force_download": false,
"force_synced": false
}
```
See wiki for more details about the format tag detailts in [config keys](https://github.com/akashrchandran/syrics/wiki/Config-Keys).

### Usage
> Make sure you have set the congig before starting

#### 1. Direct
```
syrics
Enter link: https://open.spotify.com/track/2eAvDnpXP5W0cVtiI0PUxV
```
__It will ask for the link__

#### 2. Passing link as commandline argument
```
syrics https://open.spotify.com/track/2eAvDnpXP5W0cVtiI0PUxV
```
__changing download folder command__
```
syrics --directory ~/Music/songs/ https://open.spotify.com/track/2eAvDnpXP5W0cVtiI0PUxV
```
__download current playing song on authorized account__
```
syrics --user current-playing
```
__downloading from user playlist__
```
syrics --user playlist
```
__To see available commands__
```
syrics -h
```

#### 3. Passing Folder path with music files (Experimental)

```
syrics /home/public_user/Music/songs
```

### Use as a module

```python
from syrics.api import Spotify
sp = Spotify("SP_DC here!")
sp.get_lyrics("28RQx5pH9T9LZXY02IheWc")
```