Giter Site home page Giter Site logo

apradhana / smol-podcaster Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fanahova/smol-podcaster

0.0 0.0 0.0 207 KB

smol-podcaster is your autonomous podcast production intern ๐Ÿฃ

License: MIT License

Python 78.37% HTML 21.14% Procfile 0.49%

smol-podcaster's Introduction

smol-podcaster

Screenshot

We use smol-podcaster to take care of most of Latent Space transcription work. What it will do for you:

  • Generate a clean, diarized transcript of the podcast with speaker labels and timestamps
  • Generate a list of chapters with timestamps for the episode
  • Give you title ideas based on previous ones (modify the prompt to give examples of your own, it comes with Latent Space ones)
  • Give you ideas for tweets to announce the podcast

Environment Setup

Activate virtualenv with

source venv/bin/activate

Install dependencies with

pip install -r requirements.txt

Make a copy of the .env.sample and replace it with your keys:

mv .env.sample .env

Run with web UI + background runs

If you want to run a bunch in parallel (or remotely) you can use the web UI + celery. Before running, you'll need a broker for celery (I use RabbitMQ).

If you have honcho installed, simply run honcho start, otherwise run each command manually:

celery -A tasks worker --loglevel=INFO
flask --app web.py --debug run

Then simply go to localhost:5000 and fill out the form. The files will be saved locally as /podcast-results just like the cli version.

Run from CLI

To run:

python smol_podcaster.py AUDIO_FILE_URL GUEST_NAME NUMBER_OF_SPEAKERS

The URL needs to be a direct download link, it can't be a GDrive. For files <100MB you can use tmpfiles.org (e.g. https://tmpfiles.org/dl/4338258/audio.mp3), otherwise Dropbox. For example:

python smol_podcaster.py "https://dl.dropboxusercontent.com/XXXX" "Tianqi" 3

Or, if you want to use a local file (with absolute or relative paths), use the following:

python smol_podcaster.py audio_sample.mp3 "test" 1

Or, use ~/Downloads/audio_sample.mp3 for file.

The script will automatically switch https://www.dropbox.com to https://dl.dropboxusercontent.com in the link.

Optional flags:

  • --transcript_only will generate only the transcript without any of the show notes
  • --generate_extra will also create tweets and title ideas

Audio / Video Sync

If you use smol-podcaster to transcribe both your audio and video files, you can create chapters based on your audio ones, put them in the form, and create a new list that matches the video transcript for YouTube. Usually audio and video have different lengths because less pauses are edited, so re-using the audio timestamps in the video doesn't work.

For example:

Timestamp: [00:10:00] Talking about Latent Space

Audio Transcript: [00:10:00] We love talking about Latent Space

Video Transcript: [00:12:05] We love talking about Latent Space

Will return you new chapters where the timestamp would be [00:12:05] Talking about Latent Space

This is based on string similarity, not hard-matching so don't worry about Whisper's mistakes.

License

MIT License

smol-podcaster's People

Contributors

fanahova avatar natolambert avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.