Corti Symphony is an API-first platform. Unlike legacy dictation tools (i.e., an end-user desktop application), Symphony is embedded by developers into clinical applications and workflows.Some feature differences reflect this architectural distinction rather than capability gaps.
Feature Comparison
Legend:
✅ Supported natively
☑️ Enabled with developer implementation
🔜 Coming soon
❌ Not supported
For Clinicians and End Users
This section explains what your day-to-day dictation experience will look like after migration, and what to expect from each feature you may rely on today.What works the same
What is not supported
For IT administrators and developers
This section covers the technical and architectural differences relevant to deploying and configuring Corti Symphony as a replacement for legacy dictation apps.Architecture overview
Client desktop applications are installed on Windows or Mac workstations that either process speech recognition locally on the device or via connection to the native vendor’s cloud services. Configuration is managed through an administration portal and pushed to user profiles. Corti Symphony is an API platform. All integration is done at the application level, either by embedding the Dictation Web Component for rapid deployment, integrating with the Symphony SDK, or by building a custom integration against the Transcribe WebSocket endpoint. Corti also offers two additional speech-to-text endpoints, Streams and Transcripts, for conversational transcript/facts extraction and recorded audio file processing, respectively.There is no Symphony equivalent for a desktop dictation application. Speech input and command handling are entirely managed within your clinical application, but the Symphony SDK and Dictation Web Component simplify the effort for integrating with the API - see details here.
Choosing the right endpoint
The
/transcribe endpoint is the closest functional equivalent to desktop dictation mode. It supports real-time transcription, commands, spoken and automatic punctuation, text formatting, and interim results.
Language support
Symphony supports 14+ languages across its endpoints. Feature availability varies by language; consult the languages documentation and transcribe endpoint overview for a full feature details.Transcripts: inserting text, handling casing and spacing
Desktop dictation clients handle text insertion at cursor location. Such logic must be replicated by your client application integrated with Symphony speech to text. See more best practice details outlined here.Commands: replacing auto-texts and step-by-step commands
Auto-texts and step-by-step commands are replaced in Symphony by the Commands API, available on the/transcribe endpoint.
Each command is defined with:
- ID: a unique identifier your application uses to trigger the right action
- Phrases: the spoken words that activate the command
- Variables: optional enum lists for commands that accept spoken parameters (e.g., a command that navigates to a named section)
command object instead of, or in addition to, a transcript object over the WebSocket. Your application is responsible for executing the corresponding action: inserting a template, moving focus, deleting content, etc.
Key differences from legacy dictation apps:
- Commands do not simulate keystrokes at the OS level. All actions must be handled within your application’s own logic.
- There is no shared cross-application command registry. Commands are registered when opening the web socket as part of the configuration.
Punctuation configuration
Symphony offers two mutually exclusive punctuation modes, configured per session:spokenPunctuation: true: users speak punctuation marks by name (recommended)automatedPunctuation: true: the model inserts punctuation automatically
true, spokenPunctuation takes priority. Do not enable both unless you intend for spoken punctuation to be the active mode.
Some EHR text fields apply “smart punctuation” transformations (e.g., converting straight quotes to curly quotes). This can interfere with Symphony’s output. Review the Smart Punctuation Integration Guide before deploying into rich-text environments.
Text formatting
Formatting of dates, times, numbers, measurements, and ordinals is configurable per session on the/transcribe endpoint. When no formatting parameters are supplied, sensible locale-aware defaults are applied automatically by the server (e.g., en defaults to 12-hour time and “February 3, 2025” date format; en-GB defaults to 24-hour time and “3 February 2025).
See detailed available formatting options here.
Custom vocabulary
Legacy dictation apps allows administrators to deploy custom word lists and preferred spellings via the admin portal. Symphony supports terminology management as part of transcribe configuration - see details here. Additional considerations:- For terms that are consistently mis-recognized, use the Submit Feedback form to flag errors and make requests.
- For terms that require a specific spelling or formatting, consider whether a replacement rule or command can supplement recognition performance and workflow needs.
Diarization
Diarization is not available on/transcribe. If your use case involves multi-speaker audio capture (e.g., telehealth consultations, ward rounds), Symphony’s diarization and multichannel are available on the /streams and /transcripts endpoints.
User profiles and cloud access
Legacy dictation apps typically store user profiles (voice model, auto-texts, settings, etc.) in a local cache or the host vendor cloud environment, accessible from any workstation with the desktop dictation client installed. Symphony does not have a user profile concept in the traditional sense. Configuration (commands, formatting, punctuation) is applied at the session level by the integrating application. This means:- There are no per-user settings to migrate to Symphony.
- Personalization is handled by the application layer, not the Symphony API.
- Cross-device consistency is ensured by your application’s own session management.
Connectivity requirements
Symphony transcribe API requires a stable internet connection. There is no offline or local processing mode. Assess network reliability at all clinical sites before migration, particularly in environments that previously relied on local fallback capabilities of legacy dictation apps.Migration checklist
Use this checklist to structure your migration project. Before go-live- Confirm target EHR/application has Symphony integration in place and tested, especially in regards to transcript text insertion
- Configure punctuation mode (spoken vs. automated) appropriate to clinical workflows
- Test text formatting output against locale requirements (date, time, number formats)
- Audit existing command and auto-text library and map to Symphony commands
- Test commands which require application-layer implementation operate successfully
- Prepare a command reference sheet for end users/ train clinical users on any changes to command phrases
- Verify network connectivity meets Symphony’s requirements at all sites
- Monitor session feedback submissions and escalate recurring mis-recognitions to Corti using the Feedback form
- Confirm custom vocabulary requirements and migrate word lists to Symphony configuration
- Review interim results behaviour with end users and confirm display settings are appropriate
- Collect clinician feedback on command coverage and add missing commands as needed
Getting help
- For technical documentation, see the API reference.
- To report issues or submit feedback, use the feedback form.
- For support, contact us.