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.
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 C++ port of the official OpenAI Whisper in Python called Whisper.cpp.
- Windows port of Whisper.cpp with GPU acceleration support.
-
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 thett-tool
itself. -
DeepL API or Authentication Key - it can be obtained as described in the official DeepL Documentation.
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
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
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.