85 lines
2.1 KiB
Markdown
85 lines
2.1 KiB
Markdown
## Necesario para el funcionamiento del server
|
|
|
|
### 1. Crear entorno virtual
|
|
|
|
```bash
|
|
py -3.11 -m venv realtime-env311
|
|
```
|
|
|
|
### 2. Activar el entorno virtual
|
|
|
|
**En Windows:**
|
|
```bash
|
|
.\realtime-env311\Scripts\activate
|
|
```
|
|
|
|
---
|
|
|
|
### 3. Instalar dependencias
|
|
|
|
> ⚠️ Asegúrase de tener los **drivers CUDA** correctamente instalados en el sistema para la aceleración por GPU.
|
|
|
|
```bash
|
|
pip install openwakeword
|
|
pip install "ctranslate2[cuda]" faster-whisper openai websockets sounddevice numpy
|
|
pip install pyaudio
|
|
pip install soundfile
|
|
pip install pvporcupine
|
|
pip install webrtcvad-wheels
|
|
pip install --upgrade torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
|
|
```
|
|
|
|
---
|
|
|
|
### 4. Notas adicionales
|
|
|
|
- `openwakeword`: Modelo de activación por palabra clave.
|
|
- `ctranslate2[cuda]` + `faster-whisper`: Transcripción optimizada en tiempo real.
|
|
- `sounddevice`, `pyaudio`, `soundfile`: Manejo de entrada/salida de audio.
|
|
- `pvporcupine`: Wake word detection alternativo.
|
|
- `webrtcvad-wheels`: Detección de voz activa (VAD).
|
|
- `torch`, `torchaudio`: Backend de redes neuronales y audio.
|
|
|
|
---
|
|
|
|
## Ejemplo para iniciar el server
|
|
|
|
Dentro de minimal_server
|
|
```bash
|
|
python -m server.stt_server --model large-v2 --rt-model tiny --initial_prompt=''
|
|
```
|
|
|
|
---
|
|
## whisper.cpp (C++)
|
|
whisper.cpp es una implementación en C++ del modelo Whisper. Es ligera, rápida, no requiere Python y puede correr en tiempo real en CPU.
|
|
|
|
### Instalación y compilación
|
|
Clonar el repositorio:
|
|
|
|
```bash
|
|
git clone https://github.com/ggerganov/whisper.cpp
|
|
cd whisper.cpp
|
|
```
|
|
|
|
Compilar el binario:
|
|
```bash
|
|
make
|
|
```
|
|
|
|
Esto genera el binario main en la carpeta `/build/bin/`.
|
|
|
|
### Descargar modelos
|
|
```bash
|
|
# Modelo pequeño (rápido, menos preciso)
|
|
wget https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin
|
|
|
|
# Modelo más preciso
|
|
wget https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v2.bin
|
|
```
|
|
|
|
### Ejemplo de uso desde consola
|
|
Este comando transcribe el archivo audio.wav usando el modelo tiny.bin.
|
|
```bash
|
|
./build/bin/whisper-cli -m models/ggml-tiny.bin -f ejemplo/audio.wav -l es
|
|
```
|