SkyWriter uses Azure Cognitive Services speech-to-text to generate captions and send them to OBS. It will automatically start recognition when it's connected to OBS and detects that a stream is active & your primary microphone source is unmuted. If you mute that source or stop streaming, the session will automatically end.
- Windows 10, 1607+ or Windows 11
- OBS 28.0+
- An active Azure Cognitive Services instance
Running the app requires a few settings to be configured in appsettings.json:
AzureSpeechRegion: The Azure region where your Cognitive Services instance. You can find this in your Cognitive Service under Keys and Endpoint. The default iseastus.AzureSpeechKey: The key used to connect to your Cognitive Services instance. You can find this in your Cognitive Service under Keys and Endpoint.AzureSpeechProfanityLevel: The level for how you want profanity to be handled. Levels and their corresponding numeric values can be found here. The default is0(Masked).ObsWebsocketHost: The hostname for your OBS Websocket connection. The default islocalhost.ObsWebsocketPort: The port for your OBS Websocket connection. The default is4455.ObsWebsocketPassword: The password for your OBS Websocket connection.ObsMicrophoneSourceName: The name of your primary microphone source in OBS. The default isMicrophone.SpeechLanguage: The language code for speech to be recognized. Supported language codes can be found here. The default isen-US.UseLocalSpeechEngine:trueif you want to use the Windows local speech recognition engine instead of Azure. NOTE: This ONLY works on Windows systems, you'll need to setup Voice Recognition in Windows before using this, and it is NOT as good as Azure.