Open-source Python tool

Turn recordings into transcripts, analysis and recommendations

Audio Analyser records or reads your audio, transcribes it with Azure AI Speech, analyses the text with Azure AI Language, and asks the language model of your choice for a summary and recommendations.

  • Azure AI Speech
  • Azure AI Language
  • Azure AI Translator
  • OpenAI, Anthropic, Gemini
  • Ollama, locally

What it does

From a recording to a report

Each card opens its section on the features page.

Recording

Record from the microphone, ten seconds of mono 44.1 kHz audio by default, or with settings from a JSON file.

Recording settings

Speech to text

Transcribe audio files with Azure AI Speech, saving text, JSON and a row in a SQLite database.

How transcription works

Text analysis

Sentiment, named entities, key phrases and language for each transcript, from Azure AI Language.

What is analysed

Recommendations

Summaries and recommendations from OpenAI, Anthropic, Gemini, a local Ollama model or a signed-in CLI.

Choose a provider

Translation and speech

Translate transcripts with Azure AI Translator, and turn text back into speech with Azure AI Speech.

Translation and speech

A local dashboard

A web UI and REST API on port 8080 for recording, transcribing, analysing and reading reports.

The dashboard

Providers

Pick where the text goes

Three of the six providers, with their default models. LLM_MODEL overrides any of them.

openai

The default

gpt-4.1-mini unless you set another model. Needs an OpenAI API key.

All six providers

anthropic

Claude

claude-opus-5 by default, with the optional anthropic dependencies and an API key.

All six providers

ollama

On your machine

llama3.1 by default, through a local Ollama server: no key, and transcripts stay on the machine.

All six providers

Install

Run it from a clone

Clone the repository, install the pinned requirements and put your Azure keys in a .env file. Audio Analyser needs Python 3.10 or newer, and PortAudio for recording.

  • python -m audioanalyser -s
  • python -m audioanalyser -sum
terminal
git clone https://github.com/sebastienrousseau/audioanalyser.github.io.git
cd audioanalyser.github.io
pip install -r requirements.txt
cp env.example .env   # then fill in your keys

# Transcribe, analyse, then summarise
python -m audioanalyser -stt meeting.wav
python -m audioanalyser -ta
python -m audioanalyser -sum
Security

Your keys, your files

Audio Analyser runs on your machine and sends audio and text only to the services you configure.

Keys live in a local .env file. Audio goes to Azure for transcription; transcripts go to Azure for analysis and to the language-model provider you choose, or nowhere at all with Ollama. The security page lists every outbound call.

Tests passing
306
Coverage floor in CI
95%
Static analysis
flake8, pylint, bandit
Licence
Apache-2.0 or MIT

In numbers

What the repository ships

Counted from the repository's main branch in October 2026.

Commands
7
Language-model providers
6
Azure AI services
3
Minimum Python
3.10
  • Source: main branch on GitHub
  • PyPI: 0.0.6, February 2024
  • GitHub release: v0.0.7

What is Audio Analyser?

Audio Analyser is a free, open-source Python application by Sebastien Rousseau. From the command line or a local web dashboard it records audio, transcribes audio files with Azure AI Speech, runs sentiment analysis, entity recognition, key-phrase extraction and language detection with Azure AI Language, translates transcripts with Azure AI Translator, reads text aloud, and writes summaries and recommendations with OpenAI, Anthropic, Google Gemini, a local Ollama model, or a signed-in Claude Code or Agy CLI.

What do I need?

Python 3.10 or newer, an Azure subscription with Speech and Language resources, and a key for the recommendation provider you choose (none for Ollama or the CLI providers). The getting started guide walks through the setup.

Where does my data go?

Audio goes to Azure AI Speech to be transcribed, and transcripts go to Azure AI Language and to your recommendation provider. Results are written to local folders and a local SQLite database. The security page lists every outbound call.

Is it on PyPI?

The audioanalyser package on PyPI is version 0.0.6, from February 2024. It predates the provider choice and the current dashboard, so install from a clone of the repository instead, as the guide shows.