Starting
Reading time ~3 minutes
Starting the WebSpeechToText Service
There are two ways to start the WebSpeechToText service.
The simplest method is to launch the service directly with the WebSpeechToText.exe file from the folder where it was extracted. However, this approach may be less reliable in the event of abnormal startup conditions, especially during the first launch. If the service fails to start, you can check the log file at the following location: C:\ProgramData\Cinegy\WebSpeechtotext
Alternatively, you can start the service using the Windows terminal. Although this method requires additional steps, it provides full visibility into the process and allows better control over service behavior. So, using the terminal is recommended for initial setup and troubleshooting.
To start the service via terminal, follow these steps:
1. Open the Windows terminal
Press Win+R and type cmd
in the Run window. Then press Enter.
2. Navigate to the WebSpeechtotext application folder
In the Windows terminal, type the following command:
cd [path to the folder where the WebSpeechtotext service files are extracted]
Press Enter.
For example: cd C:\WebSpeechtotext
3. Run the application executable
In the Windows terminal, type the following command:
WebSpeechtotext.exe
Press Enter.
4. Allow network access if prompted
If prompted by Windows Firewall, allow the application to access the network to ensure it can function properly.
Result
Following is an example of the Terminal output:
Runtime Identifier: win-x64
OS Description: Microsoft Windows 10.0.19045
Working folder [C:\WebSpeechtotext\]
Log folder [C:\ProgramData\Cinegy\WebSpeechtotext]
2025-05-23 13:08:17.2943 (INFO) Program LOCAL IP: "List of interfaces. Like this: [192.168.0.2] [127.0.0.1]"
2025-05-23 13:08:17.3142 (INFO) Core Settings: Set model path ["./models"]
2025-05-23 13:08:17.3142 (INFO) Core Settings: Set model name ["ggml-large-v3.bin"]+
2025-05-23 13:08:17.4701 (INFO) Program Run test...
2025-05-23 13:08:17.7021 (DEBUG) Core Library loaded successfully
2025-05-23 13:08:17.7021 (DEBUG) Core Create(empty)...
2025-05-23 13:08:17.7483 (DEBUG) Core Whisper Wrapper created.
2025-05-23 13:08:17.7483 (DEBUG) Core Destroy Whisper Wrapper [NULL]
2025-05-23 13:08:17.7483 (INFO) Program End test. Ok
2025-05-23 13:08:19.9013 (INFO) Lifetime Now listening on: http://[::]:55000
2025-05-23 13:08:19.9372 (INFO) Lifetime Application started. Press Ctrl+C to shut down.
2025-05-23 13:08:19.9674 (INFO) Lifetime Hosting environment: Release
2025-05-23 13:08:19.9674 (INFO) Lifetime Content root path: C:\WebSpeechtotext
2025-05-23 13:08:20.9657 (INFO) SpeechToTextControll Observer connect [::1]
2025-05-23 13:08:20.9675 (INFO) Core Startup model settings ["C:\WebSpeechtotext\models\ggml-large-v3.bin"]
2025-05-23 13:08:20.9675 (DEBUG) Core Create...
2025-05-23 13:08:20.9675 (DEBUG) Core Whisper Wrapper created.
At this point, the WebSpeechtotext service is running and ready to accept requests.
WebSpeechtotext Default Settings
The appsettings.json and appsettings.Production.json configuration files are provided with the WebSpeechtotext installation package. They contain a basic set of values that must be adjusted for your environment before the initial launch of the WebSpeechtotext service.
Below is a version of the appsettings.json configuration file with some example values:
{
"override_keys": {
"model_search_path": "./models",
"model_name": "ggml-large-v3.bin",
"timeout_ms" : 0
}
}
The model_search_path
parameter defines the directory path where the speech recognition models are located. You can use a relative or absolute path.
The model_name
parameter defines the filename of a model that will be used for speech recognition.
The timeout_ms
parameter specifies a processing timeout in milliseconds. When "0" is defined, it means no timeout. This feature is considered experimental.
Below is a version of the appsettings.Production.json configuration file with some example values:
"AllowedHosts": "*",
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://*:55000"
}
}
}
The AllowedHosts
parameter controls which hosts are allowed to connect. Here, * means that all hosts are allowed.
The Kestrel
parameter defines the configuration for the Kestrel web server that hosts the application.
The Endpoints
parameter defines network endpoints, while Http
– HTTP endpoint configuration.
The Url
parameter defines IP_Address:Port to establish a TCP connection with the Cinegy Subtitling Service.
In the default configuration, the WebSpeechtotext service listens on port 55000 on all network interfaces. Please make sure that the port defined here is the same as you defined for the Endpoint parameter in the "RecognitionSource" section in the Cinegy Subtitling Service configuration.