Skip to content

Transcribe & Translation Tool for Audio/Video Files

License

Notifications You must be signed in to change notification settings

milkotodorov/tt-tool

Repository files navigation

Transcribe & Translate Tool (TT-Tool)

Introduction

The Transcribe & Translate Tool (TT-Tool) is a simple NodeGUI UI for transcribing of audio/video files into subtitle/text and automatic machine translation of the transcribed files or separate ones. The transcribing process is using OpenAI Whisper and the translation one is using the DeepL Engine. Both processes are independent from each other, however at the moment only one can run at a time.

Requirements

The following two things are required before you can use the tt-tool:

  • Whisper Command-Line Interface (CLI) in order to do the transcribing. You have the following two options to choose from:

  • The above-mentioned Whisper CLI tools can be downloaded either from the links above (e.g. their official source) and compiled or in the release section there is zipped binaries for Windows and MacOS.

    As of now the last two works faster than the original Python implementation. This will certainly change with time. Download the Whisper CLI from one of the options above and save it in a dedicated folder, preferably into the folder where the tt-tool is located. You can configure the exact location into the tt-tool itself.

  • DeepL API or Authentication Key - it can be obtained as described in the official DeepL Documentation.

Running from the source and setting-up development environment

Make sure you have met the NodeGUI requirements.

To clone and run this repository you'll need Git and Node.js (which comes with npm) installed on your computer.

From the command line, execute as follows:

# Clone this repository
git clone https://github.com/milkotodorov/tt-tool

# Go into the repository
cd tt-tool

# Install the dependencies
npm install

# Run the app
npm start

Additionally the following npm commands are available:

# Cleanup build and distributable files
npm run clean

# Run the app in debug mode
npm run debug

# Compile only
npm run build

# Start the app without compiling (using the existing build)
npm run start-no-build

# Start the app in debug mode without compiling (using the existing build)
npm run debug-no-build

# Sets the app distributable binary icon. It's executed automaticaly with 'npm run init-packer' and it must be done only once.
npm run set-app-icon

Packaging app as a distributable

In order to distribute your finished app, you can use @nodegui/packer

Run the pack command as follows:

# Initializes the nodegui-packer (needs to be done only once)
npm run init-packer 

# Create an redistributable package
npm run pack

This will build the distributable using @nodegui/packer. The output of the command is found under the deploy/<os_platform>/build folder.

More details about packer can be found here: https://github.com/nodegui/packer

Credits

Last but not least, I would like to thank to @ggerganov and all the contributors to the great whisper.cpp project as well as to @Const-me and his GPU accelerated Windows port of Whisper.cpp.