Speech AI - Pronunciation, STT & TTS

io.github.fasuizu-br由 GitHub 帳號 fasuizu-br 發布v2.3.0更新於 Oct 24, 2026

Pronunciation scoring, speech-to-text, and text-to-speech for language learning

已驗證Streamable HTTP可網頁執行媒體與設計AI 與機器學習

概覽

AI 產生的概覽

遠端語音 AI 伺服器,提供英語發音評分、語音轉文字與文字轉語音合成。

可以做什麼
依音訊評估英語發音,給出整體、句子、單字與音素四個層級的評分,音素以 IPA 與 ARPAbet 表示,並可列出支援的音素清單。將音訊轉寫為文字,附單字級時間戳與信心分數,另有多語言 Whisper 模式,支援語言偵測與可選的說話者分離。將英語文字合成為語音,並列出可用語音與其詮釋資料。檢查發音、STT、Whisper 與 TTS 服務的健康狀態與就緒情況。
適用情境
適合語言學習或語音相關工具:助理需要為學習者的發音評分、轉寫錄音或產生語音,而不必自行部署語音模型。
執行需求
遠端 MCP 端點,不需本機執行環境或安裝套件。README 說明目前 API 需要 Brainiall 帳戶的 Authorization Bearer API 金鑰,並指出本條目中的閘道位址已停用。音訊以 base64 資料傳入。
安裝前請注意
README 標明本條目所列閘道為舊版,並稱不要使用這些位址,連線前請確認目前端點。目前 API 需要 Brainiall API 金鑰,切勿提交或外流。送出的音訊會傳送至第三方服務。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Speech AI - Pronunciation, STT & TTS,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.fasuizu-br%2Fspeech-ai/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "speech-ai-pronunciation-stt-tts": {
      "type": "http",
      "url": "https://apim-ai-apis.azure-api.net/mcp/pronunciation/mcp"
    }
  }
}

README

Brainiall Speech AI examples — migration notice

[Current TTS health] [Current TTS repository]

This repository is legacy. The former apim-ai-apis.azure-api.net gateway and the old Speech AI MCP URLs documented in earlier revisions have been retired. Do not use those URLs. The other files in this repository are retained only as historical source and may no longer run.

Current supported surfaces

NeedCurrent surface
Text-to-speech MCP serverhttps://api.brainiall.com/mcp/tts/mcp
Text-to-speech REST endpointPOST https://api.brainiall.com/v1/tts/synthesize
TTS health checkhttps://api.brainiall.com/mcp/tts/health
TTS setup, OpenAPI and maintained examplesfasuizu-br/brainiall-tts-mcp
Brazilian Portuguese transcriptionTranscreve BR
Speech-to-text API overviewBrainiall Speech-to-Text
Account and API keyBrainiall app
Offline contract compatibility checkscompatibility-pack/

Authentication for the current API uses an Authorization: Bearer YOUR_BRAINIALL_API_KEY header. Never commit a real key.

For TTS examples for Claude, Cursor, VS Code, n8n, Postman and raw REST clients, use the maintained TTS repository linked above. It is the canonical source for current voices, prices and request schemas.

The small compatibility pack is different from the historical examples. It is an offline-only contract test for buffered TTS, generic diarized-STT review artifacts, a synthetic diarization canary and local-by-default usage planning. It performs no API call during tests, contains no key, copies no third-party source, and does not claim streaming, cancellation, OpenAI drop-in compatibility, completed third-party integration or billing. Read its kill gates before reusing it.

Why this notice exists

External directories and search engines may still link to this repository. This notice prevents an old listing from sending developers to endpoints that no longer work and points them to the maintained production surfaces.

License

MIT — Brainiall

C112 — hosted STT contract fixture

The Whisper-WebUI OpenAI-compatible fixture is a provider-neutral, synthetic request/response example for maintainers evaluating an external speech-to-text path. It does not claim that Whisper-WebUI has adopted the contract, and it never includes a key or private audio.

來源:README.md,提交 eab44aa

工具

10

assess_pronunciation

Assess Pronunciation

Assess English pronunciation quality from audio. Scores pronunciation at four levels: overall, sentence, word, and phoneme. Each score is 0-100. Phonemes are returned in both IPA and ARPAbet notation. Sub-300ms inference latency. Args: audio_base64: Base64-encoded audio data. Supports WAV, MP3, OGG, and WebM formats. text: The reference English text that the speaker was expected to read aloud. audio_format: Audio format hint — one of 'wav', 'mp3', 'ogg', 'webm'. Defaults to 'wav'. Returns: dict with keys: - overallScore (int 0-100): Overall pronunciation quality - sentenceScore (int 0-100): Sentence-level fluency and accuracy - words (list): Per-word scores, each containing: - word (str): The word - score (int 0-100): Word pronunciation score - phonemes (list): Per-phoneme scores with IPA/ARPAbet notation - decodedTranscript (str): What the model heard (ASR transcript) - transcript (str): Reference text - confidence (float 0-1): Scoring confidence - warnings (list[str]): Quality warnings if any - audioQuality (dict): Audio metrics (SNR, peak/RMS dB, etc.)

輸入參數text必填audio_base64必填audio_format

check_pronunciation_service

Check Pronunciation Service

Check if the pronunciation assessment service is healthy and ready. Returns: dict with keys: - status (str): 'healthy' or error state - modelLoaded (bool): Whether the scoring model is loaded - version (str): API version

無需輸入參數。

get_phoneme_inventory

Get Phoneme Inventory

Get the full phoneme inventory supported by the pronunciation scorer. Returns a list of all English phonemes the engine can assess, including ARPAbet symbol, IPA equivalent, example word, and phoneme category (vowel, consonant, diphthong). Returns: list of dicts, each with keys: - arpabet (str): ARPAbet symbol (e.g. 'AA', 'TH') - ipa (str): IPA notation - example (str): Example word containing the phoneme - category (str): vowel, consonant, or diphthong

無需輸入參數。

transcribe_audio

Transcribe Audio

Transcribe audio to text with word-level timestamps. Converts spoken English audio into text with optional word-level timestamps and per-word confidence scores. Args: audio_base64: Base64-encoded audio data (WAV, MP3, OGG, FLAC, WebM). audio_format: Audio format hint. Auto-detected from magic bytes if omitted. include_timestamps: Whether to include word-level timing (default: true). Returns: dict with keys: - text (str): Full decoded transcript - words (list): Per-word results with timestamps, each containing: - word (str): The transcribed word - start (float): Start time in seconds - end (float): End time in seconds - confidence (float 0-1): Word-level confidence - audioDurationMs (int): Audio duration in milliseconds - metadata (dict): Processing time, audio length, model version - audioQuality (dict): Audio metrics (SNR, peak/RMS dB, etc.)

輸入參數audio_base64必填audio_formatinclude_timestamps

check_stt_service

Check STT Service

Check if the speech-to-text service is healthy and ready. Returns: dict with keys: - status (str): 'healthy' or error state - modelLoaded (bool): Whether the STT model is loaded - version (str): API version

無需輸入參數。

synthesize_speech

Synthesize Speech

Generate natural speech audio from English text. Produces high-quality speech with 12 English voices. Returns base64-encoded WAV audio (16-bit PCM, 24kHz mono) along with metadata. Available voices: - af_heart (default), af_bella, af_nicole, af_sarah, af_sky (American female) - am_adam, am_michael (American male) - bf_emma, bf_isabella (British female) - bm_george, bm_lewis, bm_daniel (British male) Args: text: English text to synthesize (1-5000 characters). voice: Voice ID. See list above. Defaults to 'af_heart'. speed: Speed multiplier from 0.5 to 2.0 (default: 1.0). Returns: dict with keys: - audio_base64 (str): Base64-encoded WAV audio (16-bit PCM, 24kHz) - duration_ms (str): Audio duration in milliseconds - voice (str): Voice ID used - text_length (str): Input text character count - processing_ms (str): Synthesis time in milliseconds

輸入參數text必填speedvoice

list_tts_voices

List TTS Voices

List all available text-to-speech voices with metadata. Returns: dict with keys: - voices (list): Available voices, each with id, name, gender, accent, grade - defaultVoice (str): Default voice ID

無需輸入參數。

check_tts_service

Check TTS Service

Check if the text-to-speech service is healthy and ready. Returns: dict with keys: - status (str): 'healthy' or error state - modelLoaded (bool): Whether the TTS model is loaded - version (str): API version

無需輸入參數。

transcribe_audio_pro

Transcribe Audio Pro (Whisper)

Transcribe audio with Whisper Large V3 Turbo — multilingual STT. Supports 99 languages with automatic language detection, word-level timestamps, per-word confidence scores, and optional speaker diarization (identifies who spoke each word). Best-in-class WER (~2%). Args: audio_base64: Base64-encoded audio (WAV, MP3, OGG, FLAC, WebM). language: Language code. Auto-detected if omitted. Supports 99 languages. diarize: Enable speaker diarization (default: false). When true, each word includes a speaker label (e.g. SPEAKER_00, SPEAKER_01). Returns: dict with keys: - text (str): Full decoded transcript - words (list): Per-word results with timestamps, each containing: - word (str), start (float), end (float), confidence (float 0-1) - speaker (str|null): Speaker label when diarize=true - speakers (dict|null): Speaker info with count and labels - audioDurationMs (int): Audio duration in milliseconds - metadata (dict): Processing time, language, languageProbability - audioQuality (dict): Audio metrics (SNR, peak/RMS dB, etc.)

輸入參數diarizelanguageaudio_base64必填

check_whisper_service

Check Whisper Service

Check if the Whisper STT Pro service is healthy and ready. Returns: dict with keys: - status (str): 'healthy' or error state - modelLoaded (bool): Whether the Whisper model is loaded - diarizeLoaded (bool): Whether the diarization pipeline is loaded - version (str): API version - modelName (str): Whisper model name (e.g. 'large-v3-turbo')

無需輸入參數。

版本歷史

1
  1. v2.3.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分