Transcription
Audio transcription with streaming support
Basic Transcription
final result = model.transcribe('/path/to/audio.wav');
print(result.text);// 16kHz mono PCM
final pcmData = Uint8List.fromList([...]);
final result = model.transcribePcm(pcmData);
print(result.text);val result = model.transcribe("/path/to/audio.wav")
println(result.text)val pcmData: ByteArray = ... // 16kHz mono PCM
val result = model.transcribe(pcmData)
println(result.text)# Transcribe an audio file
cactus transcribe openai/whisper-small --file recording.mp3
# Live microphone transcription
cactus transcribe UsefulSensors/moonshine-baseStreaming Transcription
Real-time transcription with incremental results.
final stream = model.createStreamTranscriber();
stream.insert(audioChunk1);
stream.insert(audioChunk2);
final partial = stream.process();
print('Partial: ${partial.text}');
final finalResult = stream.finalize();
print('Final: ${finalResult.text}');
stream.dispose();model.createStreamTranscriber().use { stream ->
stream.insert(audioChunk1)
stream.insert(audioChunk2)
val partial = stream.process()
println("Partial: ${partial.text}")
val final = stream.finalize()
println("Final: ${final.text}")
}Supported Models
- Whisper Small/Medium - OpenAI Whisper with Apple NPU support
- Moonshine-Base - Lightweight transcription model
Performance Tips
- NPU Acceleration - Whisper models support Apple NPU for significantly faster transcription
- Model Selection - Whisper Small is faster, Whisper Medium is more accurate
- Streaming - Use streaming transcription for real-time applications
- Memory - Always call
dispose()/close()when done to free resources