speech-recognition

Transcribe live microphone input and audio files via iOS Speech APIs.

Updated May 10, 2026
One-click install
npx skills add https://github.com/FelixRauch/medat-figuren --skill speech-recognition-felixrauch
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: speech-recognition
Source: https://github.com/FelixRauch/medat-figuren/tree/main/.agents/skills/speech-recognition
Command: npx skills add https://github.com/FelixRauch/medat-figuren --skill speech-recognition-felixrauch

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Speech-to-text conversion is unreliable when authorization, audio capture, and API differences (live vs file, iOS 10+ vs iOS 26+) are not handled correctly, causing recording failures or incomplete transcripts.

Core Features & Use Cases

  • Live microphone transcription: Capture audio with AVAudioEngine and stream results as partial and final transcriptions for responsive dictation.
  • Pre-recorded audio file recognition: Transcribe existing audio files using URL-based recognition flows for repeatable batch processing.
  • On-device vs server recognition control: Force offline recognition where supported to reduce latency and avoid server constraints.
  • Modern iOS 26+ SpeechAnalyzer support: Use async/await and module-based analysis for composable, concurrency-friendly transcription.

Quick Start

Ask the AI assistant to implement live microphone transcription with Speech on iOS, including both speech recognition and microphone permission requests, and returning partial and final text updates.

Frequently Asked Questions about speech-recognition

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement live speech-to-text transcription for microphone input in iOS?

Live speech-to-text transcription on iOS uses AVAudioEngine to capture microphone audio and stream it to the Speech framework, providing continuous partial and final text results. You must manage audio session categories and request microphone permissions before starting real-time dictation.

How do I transcribe a pre-recorded audio file using the iOS Speech framework?

Pre-recorded audio file transcription uses URL-based recognition flows within the iOS Speech framework to process existing audio files. This offline batch processing method bypasses live AVAudioEngine streaming, returning complete text results for recorded audio assets.

Can I force on-device speech recognition to avoid server constraints in Swift?

Yes, you can force on-device speech recognition in Swift to reduce latency and avoid server-side limitations. This locale-specific approach uses the Speech framework's built-in support for offline transcription, provided the target language has an available on-device recognizer.

Does iOS 26 SpeechAnalyzer work with async/await for speech-to-text tasks?

The iOS 26 SpeechAnalyzer module supports async/await for speech-to-text tasks, enabling concurrency-friendly transcription workflows. This modern API replaces older SFSpeechRecognizer callbacks with composable module-based analysis for streaming live microphone input or file recognition.

Why does my iOS speech-to-text recognition fail with missing authorization errors?

Speech-to-text recognition fails when required Speech framework and microphone authorization requests are not properly handled before audio capture. You must explicitly request user permissions for both speech recognition and microphone access through AVAudioEngine to prevent recording failures.

What is the difference between partial and final speech recognition results in iOS?

Partial speech recognition results provide real-time intermediate text updates during live dictation, while final results represent the completed transcription for a spoken segment. Correctly handling both states in your Swift code ensures responsive and accurate text streaming from AVAudioEngine input.