Local-first transcription and semantic analysis tool
Project description
Audio-Transkriber
Lokales, datenschutzkonformes Tool für Audio-Transkription, Speaker-Diarization und semantisches Post-Processing auf macOS.
Kurzbeschreibung (für GitHub-Repository)
Lokales Transkriptions-Tool mit WhisperX (MPS), Speaker-Diarization und optionalem Ollama-Post-Processing für Summary und Action Items.
Was das Tool macht
- Transkribiert Audio-Dateien lokal (kein Cloud-Zwang)
- Unterstützt Speaker-Diarization für Sprechertrennung
- Erstellt Exporte als JSON, Markdown und TXT
- Ergänzt bei Bedarf Ollama-basierte Summary + Action Items
- Legt Ergebnisse pro Lauf in separaten Output-Ordnern ab
Voraussetzungen
- macOS (Apple Silicon empfohlen)
- Python 3.10+
ffmpeginstalliert (brew install ffmpeg)- Optional für Post-Processing: lokales Ollama
Schnellstart
- Repository klonen und ins Verzeichnis wechseln.
- Launcher ausführbar machen und starten.
chmod +x scripts/launch_audio_transkriber.command
./scripts/launch_audio_transkriber.command
- UI im Browser öffnen:
http://127.0.0.1:8501
Stoppen:
./stop_audio_transkriber.command
Typischer Ablauf in der UI
- Audio-Datei hochladen (
.wav,.mp3,.m4a). - Optional Sprache setzen (
auto-detect,de,en). - Transkription starten.
- Optional Ollama-Post-Processing ausführen (Summary + Action Items).
- Exporte im Output-Ordner prüfen.
Output und Ordnerstruktur
- Laufzeitdaten (nicht für Git):
data/output/,data/processed/ - Exporte pro Lauf in eigenen Session-Unterordnern unter
data/output/ - Typische Artefakte:
*.json(strukturierte Segmente + Metadaten)*.md(Frontmatter + Summary + Transkript)*.txt(Summary + Transkript)
Security-Hinweise
- Upload-Dateinamen werden beim Speichern in temporäre Dateien sanitisiert.
- Der Launcher bevorzugt reproduzierbare Basis-Dependencies aus
requirements.lock.txt. - Laufzeit- und Launcher-Logs liegen unter
data/logs/und sind für Git ausgeschlossen.
Häufige Probleme
command not foundbei Start/Stop:
chmod +x scripts/install_shell_commands.sh
./scripts/install_shell_commands.sh
-
Ollama nicht erreichbar:
- In der UI:
Ollama-Status aktualisierenoderOllama starten - Alternativ im Terminal:
./scripts/start_ollama.command
- In der UI:
-
Port
8501belegt:
AUDIO_TRANSKRIBER_PORT=8502 ./scripts/launch_audio_transkriber.command
Dokumentation
- Nutzung (macOS/Launchpad):
docs/usage/macos-launchpad-start.md - Projekt-Manifest:
docs/project-manifest-audio-transkriber-v1-0.md - ADR-001:
docs/adr/ADR-001_local-first-transcription-stack-whisperx-mps-ollama.md - ADR-002:
docs/adr/ADR-002_ollama-availability-ui-and-service-start-strategy.md - Struktur-Blueprint:
docs/architecture/project-structure.md - Feature-Erweiterungen:
docs/architecture/feature-expansion-proposals.md
Distribution (Maintainer)
B) Python-Package (PyPI)
- Packaging-Metadaten sind in
pyproject.tomlhinterlegt. - Lokaler Build-Test:
python3 -m pip install --upgrade build twine
python3 -m build
python3 -m twine check dist/*.whl dist/*.tar.gz
- Publish erfolgt automatisiert über GitHub Actions Workflow
.github/workflows/publish-pypi.ymlbei Tag-Push (v*). - Für Veröffentlichung auf PyPI wird empfohlen, Trusted Publishing für das Repository in PyPI zu konfigurieren.
C) macOS-App-Artefakt für GitHub Releases
- Workflow
.github/workflows/release-macos-app.ymlbaut beim GitHub-Release (published) ein macOS-App-Bundle. - Das Artefakt wird als ZIP (
Audio-Transkriber-macOS-<tag>.zip) an das Release angehängt. - Aktuell ohne Code Signing/Notarization (lokaler Use-Case / Gatekeeper-Warnung möglich).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file audio_transkriber-0.1.0.tar.gz.
File metadata
- Download URL: audio_transkriber-0.1.0.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7b6a5eaacab096159966a6cf48f9ca11891d5c6117be0ead27682c1fb1437ec
|
|
| MD5 |
caaaccabece262c3f7032146ceb601eb
|
|
| BLAKE2b-256 |
f45457b28094a019d08ad8d6b0b44a3f830a2b53e79f46e1c2a8b17c8b4450b6
|
Provenance
The following attestation bundles were made for audio_transkriber-0.1.0.tar.gz:
Publisher:
publish-pypi.yml on boehmert/Audio-Transkriber
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
audio_transkriber-0.1.0.tar.gz -
Subject digest:
d7b6a5eaacab096159966a6cf48f9ca11891d5c6117be0ead27682c1fb1437ec - Sigstore transparency entry: 959090191
- Sigstore integration time:
-
Permalink:
boehmert/Audio-Transkriber@c752b5a15bcb4b0db5f92ba4b16afdff064e757e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/boehmert
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@c752b5a15bcb4b0db5f92ba4b16afdff064e757e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file audio_transkriber-0.1.0-py3-none-any.whl.
File metadata
- Download URL: audio_transkriber-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a89e5ac403efd22c63cfac0add19698bfe4ee7cbebd1bab403229656ed37e55
|
|
| MD5 |
1fc0a3534663f4510dcb65bc38d67027
|
|
| BLAKE2b-256 |
337f81cb1c375d2d2c61141a057181cfca0c5d4159e27f669a6f3a6bde729bd4
|
Provenance
The following attestation bundles were made for audio_transkriber-0.1.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on boehmert/Audio-Transkriber
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
audio_transkriber-0.1.0-py3-none-any.whl -
Subject digest:
0a89e5ac403efd22c63cfac0add19698bfe4ee7cbebd1bab403229656ed37e55 - Sigstore transparency entry: 959090237
- Sigstore integration time:
-
Permalink:
boehmert/Audio-Transkriber@c752b5a15bcb4b0db5f92ba4b16afdff064e757e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/boehmert
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@c752b5a15bcb4b0db5f92ba4b16afdff064e757e -
Trigger Event:
workflow_dispatch
-
Statement type: