nicole/nicole.1.man
2022-04-04 05:55:34 +02:00

186 lines
4.6 KiB
Groff

.\" Automatically generated by Pandoc 2.17.0.1
.\"
.TH "NICOLE" "1" "April 2022" "nicole 2.0" ""
.hy
.SH NAME
.PP
\f[B]N\f[R]ew-\f[B]I\f[R]ntrepid-\f[B]C\f[R]hief-\f[B]O\f[R]f-\f[B]L\f[R]yrics-\f[B]E\f[R]mbedders
(obviously)
.PP
Nicole is a program that searches for lyrics and writes them into the
mp3-tag of a file.
.SH SYNOPSIS
.PP
Directory:
.PD 0
.P
.PD
\ \ \ \f[B]nicole\f[R] [OPTION\&...]
-d DIRECTORY
.PD 0
.P
.PD
File:
.PD 0
.P
.PD
\ \ \ \f[B]nicole\f[R] [OPTION\&...]
-f FILE
.SS Files
.PP
Nicole supports FLAC and mp3 files.
Other files can not be edited (as of now).
Files that do not have a .flac or .mp3 extension are skipped
automatically.
.PP
\f[B]mp3\f[R]: lyrics are stored in \[lq]USLT\[rq] tag as
\[lq]lyrics-\[rq]
.PP
\f[B]flac\f[R]: lyrics are stored as vorbis-comment with key
\[lq]LYRICS\[rq]
.SS History
.PP
Nicole creates a history of all files that were processed in
\f[C]\[ti]/.configs/nicole\f[R].
If a file is in the history, it will be skipped (unless \f[C]-i\f[R] is
passed).
If the lyrics for a file can not be obtained, it is added to
\f[C]\[ti]/.configs/nicole/failed_files\f[R].
Those files are not skipped, the file only exists so that you can see
which lyrics were not downloaded.
.PP
If you don\[cq]t want your files in the history, add the \f[C]-n\f[R]
option.
.SS genius
.PP
Nicole searches for lyrics using the genius api using the
\[lq]title\[rq] and \[lq]artist\[rq] tags of the file.
If the title and artist names from genius and the tags are similar, the
lyrics are scraped from the url obtained through the api.
.SS azlyrics
.PP
Nicole creates an azlyrics.com url from the \[lq]title\[rq] and
\[lq]artist\[rq] tags of the file.
The lyrics are extracted from the html document using regex.
.PP
Unfortunately, there needs to be a 5 second delay between each request
to azlyrics.com because the site will block your ip for a while if you
send many requests.
.SS Important Note
.PP
Since the lyrics are extracted from html pages and not from an api, the
lyrics sites might temporarily block your ip address if you send too
many requests.
If that is the case, wait a few hours and try again.
.SH USAGE
.SS Command line options
.TP
\f[B]-d\f[R] directory
process directory [directory]
.TP
\f[B]-f\f[R] file
process file [file]
.TP
\f[B]-r\f[R]
go through directories recursively
.TP
\f[B]-s\f[R]
silent, no command-line output
.TP
\f[B]-i\f[R]
ignore history
.TP
\f[B]-n\f[R]
do not write to history
.TP
\f[B]-o\f[R]
overwrite if the file already has lyrics
.TP
\f[B]-t\f[R]
test, do not write lyrics to file, but print to stdout
.TP
\f[B]-h\f[R]
show this
.TP
\f[B]\[em]-rm_explicit\f[R]
remove the \[lq][Explicit]\[rq] lyrics warning from the song\[cq]s title
tag
.TP
\f[B]\[em]-site\f[R] site
onlysearch [site] for lyrics (genius or azlyrics)
.PP
If you do not specify a directory or file, the program will ask you if
you want to use the current working directory.
Example: \f[C]nicole -ior -d \[ti]/music/artist ----rm_explicit\f[R]
.SH INSTALLATION AND UPDATING
.PP
To update nicole, simply follow the installation instructions.
.SS pacman (Arch Linux)
.PP
Installing nicole using the Arch Build System also installs the man-page
and a zsh completion script if you are using zsh as default shell.
.IP
.nf
\f[C]
git clone https://github.com/MatthiasQuintern/nicole.git
cd nicole
makepkg -si
\f[R]
.fi
.SS pip
.PP
Clone this repository and install it using python-pip.
.IP
.nf
\f[C]
git clone https://github.com/MatthiasQuintern/nicole.git
cd nicole
python3 -m pip install .
\f[R]
.fi
.PP
You can also install it system-wide using
\f[C]sudo python3 -m pip install.\f[R]
.PP
If you also want to install the man-page and the zsh completion script:
.IP
.nf
\f[C]
sudo cp nicole.1.man /usr/share/man/man1/nicole.1
sudo cp _nicole.compdef.zsh /usr/share/zsh/site-functions/_nicole
sudo chmod +x /usr/share/zsh/site-functions/_nicole
\f[R]
.fi
.SS Dependencies
.IP \[bu] 2
https://github.com/seebye/mutagen: read and write mp3-tags
.IP \[bu] 2
https://www.crummy.com/software/BeautifulSoup/: deal with the html from
genius
.PP
The dependencies will be automatically installed when using the either
of the two installation options.
.SH CHANGELOG
.SS 2.0
.IP \[bu] 2
Nicole now supports lyrics from genius!
.SS 1.1
.IP \[bu] 2
Lyrics are now properly encoded.
.IP \[bu] 2
If a title contains parenthesis or umlaute, multiple possible urls will
be checked.
.IP \[bu] 2
Files are now processed in order
.SH COPYRIGHT
.PP
Copyright \[co] 2022 Matthias Quintern.
License GPLv3+: GNU GPL version 3 <https://gnu.org/licenses/gpl.html>.
.PD 0
.P
.PD
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
.SH AUTHORS
Matthias Quintern.