Không có mô tả

subDesTagesMitExtraKaese ee554b4de2 Create LICENSE 1 tháng trước cách đây
.github 3b255ce27e update models list 1 tháng trước cách đây
whisper.cpp @ fc7b1ee521 9b5326daaa update whisper.cpp 1 tháng trước cách đây
.dockerignore e4de1a1d0a big bang 2 năm trước cách đây
.gitignore a6b423ceaa update dependencies 1 năm trước cách đây
.gitmodules 26f403c679 migrate to native cpp implementation 2 năm trước cách đây
Dockerfile bc5dd0b605 Merge remote-tracking branch 'origin/renovate/matrix-nio-0.x' 1 tháng trước cách đây
LICENSE ee554b4de2 Create LICENSE 1 tháng trước cách đây
README.md 40b9765fea add allowlist parameter 1 năm trước cách đây
main.py 994fac4858 handle all errors without exiting 7 tháng trước cách đây
renovate.json e29743a756 Add renovate.json 1 năm trước cách đây
requirements.txt 8e0784ecca remove direct reference to matrix-nio 1 tháng trước cách đây
speech_recognition.py 135d6b2c49 update build commands 1 tháng trước cách đây

README.md

Matrix Speech-To-Text Bot

Transcribes audio messages using OpenAI Whisper.

This bot is based on Simple-Matrix-Bot-Lib and whisper.cpp. It downloads audio messages from your homeserver, transcribes them locally and responds with the result as a text message.

Usage

The bot is available as an image on DockerHub. You can deploy it using docker-compose:

version: "3.7"

services:
  matrix-stt-bot:
    image: ftcaplan/matrix-stt-bot
    restart: on-failure
    volumes:
      - ./data/:/data/
    environment:
      - "HOMESERVER=https://matrix.example.com"
      - "USERNAME=@stt-bot:example.com"
      - "PASSWORD=<password>"
      - "ASR_MODEL=tiny"
      - "ASR_LANGUAGE=en"

Configuration

The bot will download the model file on first run to reduce image size. Available models are tiny.en, tiny, base.en, base, small.en, small, medium.en, medium, and large. The default is ASR_MODEL=tiny.

You can authenticate using tokens instead of a password by setting LOGIN_TOKEN=<login-token> or ACCESS_TOKEN=<access-token> instead of PASSWORD=<password>.

  • ASR_MODEL: You can choose a docker tag with the corresponding model pre downloaded or set it with ASR_MODEL. Available models are tiny.en, tiny, base.en, base, small.en, small, medium.en, medium, and large. The default is ASR_MODEL=tiny.

  • Authentication:

    • You can authenticate using tokens instead of a password:
    • Set LOGIN_TOKEN=<login-token> or ACCESS_TOKEN=<access-token> instead of PASSWORD=<password>.
  • Allowlist:

    • To restrict commands to specific users, you can set up an allowlist using regular expressions of Matrix user IDs. This feature allows you to specify which users are allowed to send commands to the bot.
    • If the ALLOWLIST environment variable is defined, the bot will parse it and use it as the allowlist.
    • Example: ALLOWLIST=^@user1:example.com$,^@user2:example.com$
    • If ALLOWLIST is not defined, the bot will only allow commands from users of the bot's homeserver.