microsoft-foundry / microsoft-foundry/forgebook

MAI-Transcribe-1.5 recipe omits documented word and segment timestamps

Open
#84 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
37
Forks
12
Avg merge
3d 16h
Merged PRs (30d)
2

Description

Page URL

https://microsoft-foundry.github.io/forgebook/notebook/mai-transcribe-1-5/

What happened?

The recipe's example response for mai-transcribe-1.5 shows a single phrase with offsetMilliseconds: 0 and no words array. That matches the live API behavior, but conflicts with the Microsoft Learn LLM Speech feature table, which lists both segment-level and word-level timestamps as supported for MAI Transcribe:

https://learn.microsoft.com/azure/ai-services/speech-service/llm-speech

Using the documented endpoint and request shape returns HTTP 200, but no usable timestamps:

  • A 3.642-second synthetic clip returned one phrase with offset 0, duration 3642, and no words property.
  • A 10.010-second synthetic clip containing 2 seconds of leading silence and 3 seconds of internal silence returned one phrase with offset 0, duration 10009, and no words property.

The phrase timing spans the complete input, including silence, so it is an input-duration envelope rather than a recognized speech segment. There are no word timestamps.

Expected behavior: either the response should contain actual phrase boundaries and a words array with per-word offsets and durations, or the Forgebook recipe and Microsoft Learn feature table should clearly state that these timestamps are not currently available for mai-transcribe-1.5.

The Azure OpenAI parameters response_format=verbose_json and timestamp_granularities[] do not apply to this Speech LLM endpoint, and the MAI-specific documentation does not identify another timestamp-enabling property:

https://learn.microsoft.com/azure/ai-services/speech-service/mai-transcribe

Steps to reproduce
  1. Create a mono 16 kHz PCM WAV containing synthetic speech and silence.
  2. Send it to:
    POST /speechtotext/transcriptions:transcribe?api-version=2025-10-15
  3. Use this definition:
{
  "locales": ["en-US"],
  "enhancedMode": {
    "enabled": true,
    "model": "mai-transcribe-1.5",
    "transcribeStyle": "verbatim"
  }
}
  1. Inspect phrases. The response contains one whole-file phrase and no words array.

Tested against an AIServices resource in North Europe on 2026-08-30 using synthetic audio only.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the notebook page at notebook/mai-transcribe-1-5/ and compare its example with the linked Microsoft Learn MAI Transcribe and LLM Speech documentation. Reproduce the request against the documented endpoint, then determine whether the recipe or the linked feature table needs correction. Done means the Forgebook example and referenced documentation clearly agree about phrase and word timestamps.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, jupyter-notebook
Domain
ai, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.