Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

giggl-z

Audiobooks for the rest of us.

thumbnail

Inspiration

The attention span of youth is ever shrinking. Tiktok and Reels have lead Gen-Z to expect content only in their lingo, leaving them unable to appreciate other great stories. Thus, we've created giggl-z to present the stories in a more, humorous manner.

What it does

Our program, giggl-z, takes EPUB file as input and gives audios of all chapters, summarized with fun, modern lingo. Just boot up our retro, TUI interface and load the EPUB of your choice. To ensure the program has the context of the entire chapter, despite processing it in chunks, giggl-z also has a sentence importance algorithm to create a short summary as context for the AI. This keeps the context window small, avoiding hallucinations, while still providing information about the entire chapter at once.

How we built it

We built giggl-z using python. The TUI uses textual, EPUBs are read via ebooklib, summarization uses Gemini's API, and the audio is produced via the ElevenLabs API. Each step, epub reading, epub sentence ranking, creating the AI summaries, and passing them to ElevenLabs is handled by a separate file, connected via the TUI.

Challenges we ran into

  • Couldn't find a good EPUB reader/library to parse content and store.
  • It was insanely hard to deal with Eleven-labs API given limited credits, slightly outdated docs.
  • Coming up with an important ranking algorithm to maintain context across generation of content chunks.

Accomplishments that we're proud of

  • Getting eleven-labs audio generation to work for our use-case(burning very less credits)
  • Terminal UI for retro look.
  • Handle epubs that are over 300 pages and still being able to adhere to the core plot

What we learned

  • Learned to structure our projects in python
  • Leared to deal with audio generation models via API(prompting, caching for optimization)

What's next for giggl-z

  • Be able to generate audiobooks with a choice of multiple voices via our TUI ( the API calls were super expensive and we could only make limited accounts)

##Steps to Reproduce

  1. Clone the Repository.
  2. Create a .env file having the below structure.
GEMINI_API_KEY = ""
ELEVENLABS_API_KEY = ""
VOICE_ID = "DGzg6RaUqxGRTHSBjfgF"
  1. Get your GEMINI_API_KEY from Gemini API and ELEVENLABS_API_KEY from ElevenLabs Studio TTS
  2. Run the command below ( Highly suggested to be in a venv/virtual environment).
pip install -r dependencies.txt
  1. Run the tui script.
python tui.py

About

Audiobooks for the rest of us.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages