Recording
-rec records from the default microphone into INPUT_FOLDER. By default it records ten seconds of mono, 16-bit audio at 44.1 kHz. Pass a JSON file to change the channels (one or two), the sample rate (8,000 to 48,000 Hz), the sample format and the duration:
Recording uses PyAudio, which needs the PortAudio library on the machine.
Speech to text
-stt transcribes an audio file with Azure AI Speech. It handles long recordings through continuous recognition, and saves each transcript as text and JSON in TRANSCRIPTS_FOLDER, with a row in a SQLite database.
Text analysis
-ta analyses every .txt transcript in TRANSCRIPTS_FOLDER with Azure AI Language: sentiment, named entities, key phrases and the language of the text. Results go to REPORTS_FOLDER as text and JSON, with a summary in SQLite.
Recommendations
-sum sends each transcript to a language model and writes a summary with recommendations to RECOMMENDATIONS_FOLDER. The provider is chosen with LLM_PROVIDER: openai (the default), anthropic, gemini, ollama, claude-cli or agy-cli. The providers page covers each one.
Translation and text to speech
-t translates transcripts with Azure AI Translator into the languages you list, for example -t fr de, writing them to TRANSLATIONS_FOLDER. -tts reads text aloud with Azure AI Speech and saves the audio file:
The dashboard
-s starts a local web server on port 8080 with a dashboard for recording, transcribing, analysing, generating recommendations and reading the results, and the same actions as HTTP endpoints. It serves the dashboard/ folder of the repository, so run it from a clone.
Where it stops
- It needs Azure: transcription, analysis, translation and text to speech have no offline alternative in the code.
- The command line handles one task per run; there is no single command for the whole pipeline.
- Folders and keys come from environment variables, usually a
.envfile; there is no configuration file of its own.