tflyrics

Generate intriguing lyrics with TensorFlow and an internet connection.

tflyrics is a Python package that allows you to easily select lyrics of specific artists from genius.com, and train a deep neural network to generate text that sounds similar to those lyrics. This work was inspired from The Unreasonable Effectiveness of Recurrent Neural Networks and Text generation with an RNN.

Usage

from tflyrics import Poet, LyricsGenerator

artists = ['Bob Dylan', 'Tim Buckley', 'The Beatles']
gen = LyricsGenerator(artists, per_artist=5)

p = Poet()
p.train_on(gen, n_epochs=10)
poem = p.generate(start_string='Hey ', n_gen_chars=1000)
print(poem)

Quick paraphrase: a LyricsGenerator object makes it easy for you to create a data pipeline that feeds from the Genius API directly into a recurrent neural network; a Poet object is a wrapper around a recurrent neural network.

Another, more data-intensive example can be found on Google Colab.

Note that the Genius API requires you to have an access token. Without that, tflyrics won’t be able to get lyrics for you. You can get an access token for free at docs.genius.com. Once you have it you can either pass it under the token argument of a LyricsGenerator constructor, or store it as en environment variable (with export GENIUS_ACCESS_TOKEN='<your token here>'). tflyrics will detect this environment variable automatically, if it exists.

Installation

You can install this package with pip:

pip install -q tflyrics

Or, if you want the latest (possibly not stable) version, you can install tflyrics from source with:

pip install -e git+https://github.com/ggiuffre/tf-lyrics.git#egg=tflyrics

Reference

Indices and tables