Skip to main content

Generate lyrics with TensorFlow and the Genius API

Project description

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.

Example:

from tflyrics import Poet, LyricsGenerator

artists = ['Bob Dylan', 'Tim Buckley', 'The Beatles']
gen = LyricsGenerator(artists, per_artist=5)
ds = gen.as_dataset(batch_size=16)

p = Poet()
p.train_on(ds, 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.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tflyrics-0.2.1.tar.gz (10.1 kB view hashes)

Uploaded source

Built Distribution

tflyrics-0.2.1-py3-none-any.whl (11.3 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page