transcribe and translate discord voice messages
if you don't want to deploy or self-host, we offer our own instance for free.
you're free to add it to your servers or as an app; it supports voice messages up to 3 minutes.
- transcribes voice messages using google speech recognition
- translates to 30+ languages via deepl api
- works in servers, dms, and group chats
- public/private response options
- context menu support (right-click voice messages)
before deploying or running locally, you need to configure your discord application:
- go to the discord developer portal and create a new application (or select an existing one)
- navigate to installation in the sidebar
- under installation contexts, enable both:
- user install - allows users to install the app to their account for personal use
- guild install - allows the app to be installed to servers
- under default install settings, make sure
applications.commandsis selected for both guild install and user install - navigate to bot in the sidebar
- under privileged gateway intents, enable:
- message content intent - required to read voice message content
- server members intent - required for server functionality
- copy your bot token from this page (you'll need it for the environment variables)
- copy the install link from the installation page to add the bot to your account or server
this project is configured to deploy on Railway in 1-click and automatically handles ffmpeg installation. to setup via railway, hit the "deploy on railway" button at the top of this readme
(you'll also get $20 in railway credits upon signup by using our link :3)
BOT_TOKEN- your discord bot token (from discord developer portal)DEEPL_API_KEY- your deepl api key (from deepl)DEEPL_FREE_API- set totrueif using deepl's free tier,falseelse.- deepl uses different api endpoints for free users (
api-free.deepl.comvsapi.deepl.com)
- deepl uses different api endpoints for free users (
MAX_VOICE_MESSAGE_DURATION- maximum duration in seconds (default:60)
- clone the repo
git clone https://github.com/originoidco/vmt.git
cd vmt- install dependencies you'll also need python installed, i'm personally using python 3.13.3:
pip install -r requirements.txtinstalling ffmpeg:
- macos:
brew install ffmpeg - ubuntu/debian:
sudo apt-get install ffmpeg - windows: download from ffmpeg.org; you can also use
choco install ffmpegif you have chocolately
- create
.envfile
cp .env.example .envedit .env:
BOT_TOKEN=your_bot_token_here
DEEPL_API_KEY=your_deepl_key_here
DEEPL_FREE_API=true
MAX_VOICE_MESSAGE_DURATION=60- run the app
cd src
python main.py
# or python ./src/main.py, whatever you prefer- right-click (or long-press on mobile) a voice message
- select apps → voice message
- use
/transcribecommand - optionally add a language code to translate (e.g.,
enfor english,esfor spanish)
/transcribe [language]- transcribe the selected voice message, optionally translate to specified language/languages- view all supported languages and their codes/help- show command help and usage examples
GPL-3.0
authored by @dromzeh <marcel@originoid.co>