Simple Telegram bot to varify Automatic Speech Recognition (ASR) dataset annotations
I know that there exist a great number of annotation tools including the ones written by me, but I feel tired from configuring them and telling annotators how to use them. So I wanted to use an interface that is familiar and accessible to anyone and anytime. And, Telegram did a great job. It didn't take even 20 mins to write the whole code (in fact, it was shorter than the time spent to publish this repo). I'm sharing this simple code hoping that it may be an inspiration for others to develop Telegram bots to annotate data for other machine learning tasks.
The only dependency is python-telegram-bot
which is pip-installable:
pip install python-telegram-bot
the code is simple and self-explanatory with short and useful comments. Basically you need to obtain an API token from Bot Father on Telegram and update TOKEN
variable with that one in annotationbot.py
. Second, prepare your dataset in a LJSpeech-like format with a few changes:
- Audio files should be kept in Opus format as Telegram excepts voice files in this format.
metadata.csv
file should contain one sample on a line with file name and unvarified annotation separated with a single pipe character (|).
After everythin is ready, you can simply run:
python annotationbot.py
Go to Telegram and send /start
to start talking to your bot.
You may also want to take a look at my other audio annotation tool called label-snd.