/Stage-Whisper

The main repo for Stage Whisper, our easy to use AI transcriber, powered by OpenAI's Whisper

Primary LanguageTypeScriptMIT LicenseMIT

Stage-Whisper

The main repo for Stage Whisper, our easy to use AI transcriber, powered by OpenAI's Whisper

Quickstart

Stage Whisper consists of two connected components:

  • A Python backend that interfaces with OpenAI's Whisper library
  • A Node/Electron-powered interface

Prerequisites

You will need the following installed on your machine to develop Stage Whisper. For the moment it is possible to separately work on the Electron interface or the Python backend--if you are planning to only work on one or the other, you can install the requirements specific to that component.

  • Node (required for Electron)
  • Yarn (required for Electron)
  • Python 3.x (required for backend)
  • Rust (required for backend)
  • ffmpeg (required for backend)
  • Poetry (required for backend)

There's any number of ways to get all these dependencies installed on your workstation, but here is one example of how you might install all of the above on a Mac (skip any step for something you have already installed):

# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install Python, Node, Rust, ffmpeg, and Yarn
brew install python node rust ffmpeg yarn

# Install Poetry
curl -sSL https://install.python-poetry.org | POETRY_HOME=/etc/poetry python3 -

Running the Python Backend

Install dependencies:

cd backend
poetry install

While the backend's primary purpose will be to run as a service for the Electron app to connect to, it can also be run as a standalone script. To do so, run:

poetry run python stagewhisper --input /path/to/audio/file.mp3

Running the Electron Interface

cd electron
yarn
yarn dev

⚠️ Integration Incomplete ⚠️

For the moment these components are not integrated! The eventual plan is for the Electron app to use the Python backend for transcription. Until that integration is complete, you will need to separately install Whisper in order to use the Electron app to complete a transcription.

Goal

OpenAI recently released Whisper, its automatic speech recognition (ASR) system that is trained on "680,000 hours of multilingual and multitask supervised data collected from the web." You can learn more by reading the paper [PDF] or looking at the examples on OpenAI's website.

As Dan Nguyen noted on Twitter, this could be a "godsend for newsrooms."

The only problem, as @PeterSterne pointed out, is that not all journalists (or others who could benefit from this type of transcription tool) are comfortable with the command line and installing the dependencies required to run Whisper.

Our goal is to package Whisper in an easier to use way so that less technical users can take advantage of this neural net.

Peter came up with the project name, Stage Whisper.

Who is involved

@PeterSterne and @filmgirl (Christina Warren) created the project, and @HarrisLapiroff and @Crazy4Pi314 (Sarah Kaiser) are leading the development with @oenu (Adam Newton-Blows) leading frontend development.

We'd love to collaborate with anyone who has ideas about how we could more easily package Whisper and make it easy to use for non-technical users.

Project Status

The project is currently in the early stages of development. We have a working prototype that uses the Electron and Mantine frameworks to create an app that allows users to upload audio files, transcribe them using Whisper, and then manage the transcriptions. The app will be available for MacOS, Windows, and Linux. We are currently working on implementing major improvements and will be releasing a beta version soon.

License

Any code that we distribute will be open sourced and follow the license terms of any of the projects that we are using. Whisper is MIT licensed, but some of its dependencies (FFmpeg) are licensed under different terms. We will be sure to adhere to any/all licensing terms and in the event that we cannot bundle ffmpeg with Stage Whisper, we will make it as easy to obtain as possible for the end-user. Any Stage Whisper-specific code will be licensed under the MIT license.