https://github.com/amanvirparhar/weebo

A real-time speech-to-speech chatbot powered by Whisper Small, Llama 3.2, and Kokoro-82M.

https://github.com/amanvirparhar/weebo

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.1%) to scientific vocabulary

Keywords

kokoro llama speech-to-speech whisper
Last synced: 10 months ago · JSON representation

Repository

A real-time speech-to-speech chatbot powered by Whisper Small, Llama 3.2, and Kokoro-82M.

Basic Info
  • Host: GitHub
  • Owner: amanvirparhar
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage: https://amanvir.com/weebo
  • Size: 9 MB
Statistics
  • Stars: 224
  • Watchers: 3
  • Forks: 34
  • Open Issues: 6
  • Releases: 0
Topics
kokoro llama speech-to-speech whisper
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Weebo

A real-time speech-to-speech chatbot powered by Whisper Small, Llama 3.2, and Kokoro-82M.

Works on Apple Silicon.

Learn more here.

Features

  • Continuous speech recognition using Whisper MLX
  • Natural language responses via Llama
  • Real-time text-to-speech synthesis with Kokoro-82M
  • Support for different voices
  • Streaming response generation

Setup

Download required models:

  • kokoro-v0_19.onnx (TTS model): wget https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files/kokoro-v0_19.onnx
  • Pull the llama3.2 model using Ollama: ollama pull llama3.2
  • for Mac: brew install espeak-ng
  • for Mac: export ESPEAK_DATA_PATH=/opt/homebrew/share/espeak-ng-data

Usage

Run the chatbot:

bash uv run --python 3.12 --with-requirements requirements.txt main.py

The program will start listening for voice input. Speak naturally and wait for a brief pause - the bot will respond with synthesized speech. Press Ctrl+C to stop.

Alternatively, create an environment and install the requirements:

bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt python main.py

Owner

  • Name: Amanvir Parhar
  • Login: amanvirparhar
  • Kind: user
  • Location: California

builder, cs @ umd

GitHub Events

Total
  • Issues event: 6
  • Watch event: 227
  • Issue comment event: 16
  • Push event: 7
  • Pull request review comment event: 1
  • Pull request review event: 1
  • Pull request event: 11
  • Fork event: 32
  • Create event: 2
Last Year
  • Issues event: 6
  • Watch event: 227
  • Issue comment event: 16
  • Push event: 7
  • Pull request review comment event: 1
  • Pull request review event: 1
  • Pull request event: 11
  • Fork event: 32
  • Create event: 2

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 6
  • Total pull requests: 12
  • Average time to close issues: 3 days
  • Average time to close pull requests: 7 days
  • Total issue authors: 4
  • Total pull request authors: 4
  • Average comments per issue: 1.83
  • Average comments per pull request: 0.17
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 12
  • Average time to close issues: 3 days
  • Average time to close pull requests: 7 days
  • Issue authors: 4
  • Pull request authors: 4
  • Average comments per issue: 1.83
  • Average comments per pull request: 0.17
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • scalar27 (3)
  • dxcore35 (1)
  • miaohf (1)
  • anastalaz (1)
Pull Request Authors
  • jonmrjr (4)
  • miaohf (4)
  • rosmur (2)
  • tahmidefaz (2)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • Jinja2 ==3.1.5
  • Markdown ==3.7
  • MarkupSafe ==3.0.2
  • PyYAML ==6.0.2
  • annotated-types ==0.7.0
  • anyio ==4.8.0
  • attrs ==24.3.0
  • babel ==2.16.0
  • bibtexparser ==2.0.0b8
  • certifi ==2024.12.14
  • cffi ==1.17.1
  • charset-normalizer ==3.4.1
  • clldutils ==3.24.0
  • colorama ==0.4.6
  • coloredlogs ==15.0.1
  • colorlog ==6.9.0
  • csvw ==3.5.1
  • dlinfo ==1.2.1
  • espeakng-loader ==0.2.2
  • exceptiongroup ==1.2.2
  • filelock ==3.16.1
  • flatbuffers ==24.12.23
  • fsspec ==2024.12.0
  • h11 ==0.14.0
  • httpcore ==1.0.7
  • httpx ==0.27.2
  • huggingface-hub ==0.27.1
  • humanfriendly ==10.0
  • idna ==3.10
  • importlib_metadata ==8.5.0
  • isodate ==0.7.2
  • joblib ==1.4.2
  • jsonschema ==4.23.0
  • jsonschema-specifications ==2024.10.1
  • language-tags ==1.2.0
  • lightning-whisper-mlx ==0.0.10
  • llvmlite ==0.43.0
  • lxml ==5.3.0
  • mlx ==0.22.0
  • more-itertools ==10.6.0
  • mpmath ==1.3.0
  • networkx ==3.2.1
  • numba ==0.60.0
  • numpy ==2.0.2
  • ollama ==0.4.6
  • onnxruntime ==1.19.2
  • packaging ==24.2
  • phonemizer ==3.3.0
  • phonemizer-fork ==3.3.1
  • protobuf ==5.29.3
  • pycparser ==2.22
  • pydantic ==2.10.5
  • pydantic_core ==2.27.2
  • pylatexenc ==2.10
  • pyparsing ==3.2.1
  • python-dateutil ==2.9.0.post0
  • rdflib ==7.1.2
  • referencing ==0.35.1
  • regex ==2024.11.6
  • requests ==2.32.3
  • rfc3986 ==1.5.0
  • rpds-py ==0.22.3
  • scipy ==1.13.1
  • segments ==2.2.1
  • six ==1.17.0
  • sniffio ==1.3.1
  • sounddevice ==0.5.1
  • sympy ==1.13.1
  • tabulate ==0.9.0
  • tiktoken ==0.3.3
  • torch ==2.5.1
  • tqdm ==4.67.1
  • typing_extensions ==4.12.2
  • uritemplate ==4.1.1
  • urllib3 ==2.3.0
  • zipp ==3.21.0