Skip to content

6ixGODD/audex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

489 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Audex Logo

Audex

PyPI version Python License GitHub stars

Derived from "Audio Exchange", Smart Medical Recording & Transcription System with voice recognition and speaker identification.

DocumentationInstallation GuideAPI Reference

English | 简体中文


System Requirements

  • Python 3.10-3.13
  • uv (package manager)
  • PortAudio
  • FFmpeg
  • SQLite3
  • PyQt6 (Linux: install from system packages)
  • NetworkManager (Linux: for WiFi connectivity)

System Dependencies

Ubuntu/Debian:

sudo apt-get install python3-pyqt6 python3-pyqt6.qtwebengine \
    portaudio19-dev ffmpeg sqlite3 network-manager \
    libfcitx5-qt6-1 alsa-utils gcc build-essential

macOS:

brew install portaudio ffmpeg sqlite3
pip install PyQt6 PyQt6-WebEngine

Windows:


Installation

From PyPI

pip install audex

From Source

git clone https://github.com/6ixGODD/audex.git
cd audex
uv sync

DEB Package (Debian/Ubuntu/Raspberry Pi)

Download the appropriate DEB package for your architecture from Releases.

For detailed installation instructions, see Installation Guide.

Quick Install:

# Download and install
sudo dpkg -i audex_{version}_arm64.deb
sudo apt-get install -f

# Run configuration wizard
sudo audex-setup

# Start application
sudo audex

Usage

Run Application

# Start with config file
audex -c config.yaml

# Using installed package
python -m audex -c config.yaml

Initialize Configuration

# Generate default configuration
audex init gencfg --format yaml --output config.yaml

# Generate system configuration (Linux)
audex init gencfg --format system --output /etc/audex/config.yml --platform linux

Initialize VPR Group

# Initialize voice print recognition group
audex init vprgroup --config config.yaml

File Export Server

# Start file export server
audex serve --config config.yaml

Configuration

Configuration file structure:

core:
  app:
    app_name: Audex
    native: true
  logging:
    targets:
      - logname: stdout
        loglevel: info
  audio:
    sample_rate: 16000

provider:
  transcription:
    provider: dashscope
    dashscope:
      credential:
        api_key: <YOUR_API_KEY>

  vpr:
    provider: xfyun
    xfyun:
      credential:
        app_id: <YOUR_APP_ID>
        api_key: <YOUR_API_KEY>
        api_secret: <YOUR_API_SECRET>

infrastructure:
  sqlite:
    uri: "sqlite+aiosqlite:///path/to/audex.db"
  store:
    type: localfile
    base_url: /path/to/store

See config.example.yml for complete configuration options.


Development

Install Development Dependencies

# Development environment
uv sync --extra dev

# Testing environment
uv sync --extra test

# Documentation environment
uv sync --extra docs

Build Package

# Build wheel and sdist
uv build

# Output: dist/audex-{version}-py3-none-any.whl

Run Tests

uv sync --extra test
uv run pytest

Documentation

uv sync --extra docs
uv run mkdocs serve

# Visit: http://127.0.0.1:8000

DEB Package Development

Build DEB Package

Prerequisites:

  • Docker

Build:

cd packaging/linux

# Build for ARM64 (Raspberry Pi)
./build.sh

# Build for AMD64
./build.sh amd64

Output: dist/audex_{version}_{arch}.deb

Test DEB Package

cd packaging/linux
./test.sh arm64

Inside test container:

# Install package
dpkg -i /tmp/audex.deb
apt-get install -f

# Verify installation
which audex
audex --version

# View configurations
cat /etc/audex/config.system.yml
cat /etc/audex/config.example.yml

# Run configuration wizard
audex-setup

# Exit container
exit

Project Structure

audex/
├── audex/                 # Main package
│   ├── cli/               # Command-line interface
│   ├── service/           # Business layer
│   ├── entity/            # Entities
│   ├── filters/           # Data filters
│   ├── valueobj/          # Value objects
│   ├── view/              # View layer
│   └── lib/               # Shared libraries
├── packaging/
│   └── linux/             # DEB packaging
│       ├── templates/     # Package templates
│       ├── build.sh       # Build script
│       └── test.sh        # Test script
├── scripts/               # Development scripts
├── tests/                 # Test suite
└── pyproject.toml         # Project configuration

Links


About

Smart Medical Recording & Transcription System with voice recognition and speaker identification.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors