Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/s-emanuilov/whispercpp_kit

A wrapper on whisper.cpp with additional helper features like model management capabilities.
https://github.com/s-emanuilov/whispercpp_kit

asr whisper

Last synced: 11 days ago
JSON representation

A wrapper on whisper.cpp with additional helper features like model management capabilities.

Awesome Lists containing this project

README

        

# WhisperCPP Kit ๐ŸŽ™๏ธ

[![PyPI version](https://badge.fury.io/py/whispercpp-kit.svg)](https://badge.fury.io/py/whispercpp-kit)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

> ๐Ÿš€ A Python wrapper around [whisper.cpp](https://github.com/ggerganov/whisper.cpp) with model management and helper features.

## โœจ Features

- ๐Ÿ”„ Automatic building and setup of whisper.cpp
- ๐ŸŽฏ Simple, intuitive Python API
- ๐Ÿ”ง Built-in model management
- ๐Ÿšฆ Clear error messages and dependency checks
- ๐ŸŽต Automatic audio format conversion
- ๐Ÿงต Multi-threading support
- ๐Ÿณ Docker support
- ๐ŸŽฏ Support for custom and fine-tuned models
- โšก Cached builds for faster subsequent inference

## ๐Ÿ“‹ System Requirements

Before installing `whispercpp_kit`, ensure you have these system-level dependencies:

### Required dependencies ๐Ÿ› ๏ธ

- `git`
- `cmake`
- `ffmpeg`
- `make`
- `g++`/`gcc` (C++ compiler)
- Build essentials

### Installation commands ๐Ÿ“ฆ

Ubuntu/Debian

```bash
sudo apt update
sudo apt install git cmake ffmpeg build-essential
```

MacOS

```bash
brew install git cmake ffmpeg gcc make
```

CentOS/RHEL

```bash
sudo yum update
sudo yum groupinstall "Development Tools"
sudo yum install git cmake ffmpeg gcc-c++ make
```

> โš ๏ธ Windows is currently not supported. Please use WSL (Windows Subsystem for Linux) with Ubuntu.

## ๐Ÿš€ Quick start

### Installation

```bash
pip install whispercpp_kit
```

### Basic usage

```python
from whispercpp_kit import WhisperCPP

# Initialize with default model
whisper = WhisperCPP(model_name="tiny.en")

# Transcribe audio
text = whisper.transcribe("audio.mp3")
print(text)
```

### Advanced configuration

```python
# Using standard models
whisper = WhisperCPP(
model_name="tiny.en",
num_threads=8, # Control threads number
verbose=True, # Enable verbose output
cache_dir="./cache" # Custom cache directory
)

# Using custom or fine-tuned models
whisper = WhisperCPP(model_path="/path/to/your/fine-tuned-model.bin")

# The library caches the built whisper.cpp source code
# This means subsequent runs will be faster as compilation is skipped
```

## ๐Ÿณ Docker support

Docker Instructions

```bash
git clone https://github.com/s-emanuilov/whispercpp_kit
cd whispercpp_kit/examples/docker

# Build the image
docker build -t whispercpp_kit .

# Run with default model (base.en)
docker run -v $(pwd):/app/audio whispercpp_kit your_audio.mp3

# Using specific model
docker run -v $(pwd):/app/audio whispercpp_kit your_audio.mp3 tiny.en
```

See [examples/docker/README.md](examples/docker/README.md) for more details.

## ๐Ÿ“ License

MIT License - feel free to use in your projects!

## ๐Ÿค Contributing

Contributions are welcome! Feel free to submit issues and pull requests.

##