Skip to content

Releases: itzabhishekgour/VoxPulse

v1.0.4 - Automated CI/CD Publishing

15 Jun 09:32

Choose a tag to compare

[1.0.4] - 2026-06-15

Added

  • Added GitHub Actions CI/CD workflow (publish.yml) for automated PyPI publishing via Trusted Publisher (OIDC) on every GitHub Release.

VoxPulse v1.0.0 - Initial Release

12 Jun 01:41

Choose a tag to compare

VoxPulse v1.0.0 - First Official Release

We are thrilled to announce the initial public release of VoxPulse (v1.0.0) – a lightweight, offline, and 100% private DIY custom wake-word detection library for Python.

With VoxPulse, you no longer have to rely on cloud-based corporate wake words. Developers can now build, train, and run their own custom voice triggers locally using any name or language.


Key Features

🔹 Plug-and-Play Auto-Pipeline

Simplifies dataset pre-processing. The trainer automatically executes:

  • Data augmentation (pitch shifting & time stretching)
  • Background noise mixing
  • Mel-Spectrogram feature extraction

🔹 RMS Silence Gating

Optimizes power and CPU usage by calculating the Root Mean Square (RMS) energy of microphone input.

The engine automatically:

  • Sleeps during quiet periods
  • Invokes the CNN model only when active voice is detected

🔹 Lightweight TFLite Inference

Automatically compiles trained 2D Convolutional Neural Network (CNN) models into highly optimized TensorFlow Lite (.tflite) format for fast inference on low-power devices.

🔹 100% Private & Offline

Runs completely on-device.

  • No cloud dependency
  • No external API calls
  • No voice data leaves the user's machine

Quick Installation

Install VoxPulse directly from PyPI:

pip install voxpulse

Quick Start

1. Train Your Custom Wake Word

from voxpulse.model import VoxPulseTrainer

# Initialize trainer and train custom wake word
trainer = VoxPulseTrainer(dataset_dir="dataset")
trainer.train_and_export(
    epochs=20,
    export_name="my_custom_model.tflite"
)

2. Run the Detector

from voxpulse.inference import VoxPulseEngine

def my_callback_action():
    print("Wake word detected! Executing action...")

# Load model and start listening in the background
engine = VoxPulseEngine(
    model_path="my_custom_model.tflite",
    threshold=0.70
)

engine.start_listening(
    on_detect_callback=my_callback_action
)

Contributing

We welcome contributions from the community!

Feel free to:

  • Open issues
  • Submit pull requests
  • Share custom wake-word datasets and triggers

Check out the project's README.md for complete developer documentation, training guides, and dataset preparation instructions.


Thank You

Thank you for trying VoxPulse!

We look forward to seeing the custom voice assistants, automation systems, and embedded AI projects you build with it.


Acknowledgements

VoxPulse is an independent open-source project created and maintained by Abhishek Gour.

Thank you to everyone who tests, contributes, reports issues, and helps improve the project.

Happy Building!