Skip to main content

Wyoming Microsoft STT

Wyoming protocol server for Microsoft Azure speech-to-text.

This Python package provides a Wyoming integration for Microsoft Azure speech-to-text and can be directly used with Home Assistant voice and Rhasspy.

Azure Speech Service

This program uses Microsoft Azure Speech Service. You can sign up to a free Azure account which comes with free tier of 5 audio hours per month, this should be enough for running a voice assistant as each command is relatively short. Once this amount is exceeded Azure could charge you for each second used (Current pricing is $0.36 per audio hour). I am not responsible for any incurred charges and recommend you set up a spending limit to reduce your exposure. However, for normal usage the free tier could suffice and the resource should not switch to a paid service automatically.

If you have not set up a speech resource, you can follow the instructions below. (you only need to do this once and works both for Speech-to-Text and Text-to-Speech)

  1. Sign in or create an account on portal.azure.com.
  2. Create a subscription by searching for subscription in the search bar. Consult Microsoft Learn for more information.
  3. Create a speech resource by searching for speech service.
  4. Select the subscription you created, pick or create a resource group, select a region, pick an identifiable name, and select the pricing tier (you probably want Free F0)
  5. Once created, copy one of the keys from the speech service page. You will need this to run this program.

Usage

Depending on the installation method parameters are parsed differently. However, the same options are used for each of the installation methods and can be found in the table below. Your service region and subscription key can be found on the speech service resource page (step 5 the Azure Speech service instructions).

For the bare-metal Python install the program is run as follows:

python -m wyoming-microsoft-stt --<key> <value>
Key Optional Description
service-region No Azure service region e.g., uksouth
subscription-key No Azure subscription key
language Yes Default language to set for transcription, default: en-GB. For auto-detection provide multiple languages.
uri No Uri where the server will be broadcasted e.g., tcp://0.0.0.0:10300
download-dir Yes Directory to download models into (default: )
update-languages Yes Download latest languages.json during startup
debug Yes Log debug messages

Multi-language support

This add-on can also auto-detect the spoken language from a list of pre-defined languages (max. 10). To do this in Home Assistant provide the languages separated by semi-colons like so: Screenshot 2025-05-04 at 11 59 55

[!NOTE] Setting multiple languages will override the options set by Home Assistant's Voice configuration! It will prompt you to select a language but the option is ignored when speech is processed.

Installation

Depending on your use case there are different installation options.

  • Using pip Clone the repository and install the package using pip. Please note the platform requirements as noted here.

    pip install .
    
  • Home Assistant Add-On Add the following repository as an add-on repository to your Home Assistant, or click the button below. https://github.com/hugobloem/homeassistant-addons

    Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.

  • Docker container To run as a Docker container use the following command:

    docker run ghcr.io/hugobloem/wyoming-microsoft-stt-noha:latest --<key> <value>
    

    For the relevant keys please look at the table below

  • docker compose

    Below is a sample for a docker compose file. The azure region + subscription key can be set in environment variables. Everything else needs to be passed via command line arguments.

    wyoming-proxy-azure-stt:
      image: ghcr.io/hugobloem/wyoming-microsoft-stt-noha
      container_name: wyoming-azure-stt
      ports:
        - "10300:10300"
      environment:
        AZURE_SERVICE_REGION: swedencentral
        AZURE_SUBSCRIPTION_KEY: XXX
      command: --language=en-GB,nl-NL --uri=tcp://0.0.0.0:10300
    

Metadata

Release files for wyoming-microsoft-stt 1.3.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wyoming-microsoft-stt 1.3.10
File Size Uploaded
wyoming_microsoft_stt-1.3.10.tar.gz 15.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wyoming-microsoft-stt 1.3.10
File Interpreter ABI Platform
wyoming_microsoft_stt-1.3.10-py3-none-any.whl Python 3 none any Details

Total release size: 30.9 kB

Release files / wyoming_microsoft_stt-1.3.10.tar.gz

Download URL wyoming_microsoft_stt-1.3.10.tar.gz
Size 15.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b2d2392f73298fc85adf9356599becc0ec29ef2b19496318985715eca0b0d7b3
BLAKE2b-256 checksum
How to use checksums
373810a538de0d77ed23b37a0e7d38a3d943bd95acdc1036f68b9c8d45239e2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / wyoming_microsoft_stt-1.3.10-py3-none-any.whl

Download URL wyoming_microsoft_stt-1.3.10-py3-none-any.whl
Size 15.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
38b4d504f83252fe944d29fc33d24584cd48241a70b74c337f1afbe16758aacd
BLAKE2b-256 checksum
How to use checksums
49b2a369027132611023e8bf59ccf4340577b720d7ae9c1e1bedcccf25cc80fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

1.3.10 This release

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page