Giter Club home page Giter Club logo

chatgptvoice's Introduction

ChatGPTVoice

中文

Base on whisper and PyQT(PySide6), a RealTime Voice GPT chat tool, supporting historical conversations. Enjoy chatting with GPT voice without relying on ChatGPT Plus. 🐔🐔

Requirement

python >= 3.10

OS

win10+, Linux(Just test in Ubuntu, works), Mac(Based on Linux as reference, theoretically feasible, but not tested.)

GPU

Running the whisper base model requires less than 1GB of available memory, and the results are passable with no noise and an accuracy rate around 90% in accurate spoken language situations. The whisper large model requires over 8GB of available memory, yet it provides excellent performance. Even my poor English speaking skills are recognized fairly accurately. Moreover, it handles long speech segments and interruptions quite effectively.

In summary, the base model is more user-friendly, but if conditions allow, it's recommended to use the large model. In cases of recognition errors, modifications can be directly made to the recognized results in the GUI.

Install

Clone repo

git clone https://github.com/QureL/ChatGPTVoice.git
cd ChatGPTVoice

Create and activate a virtual environment.(powershell. In Bash, you may need to run scripts like activate.)

mkdir venv
python -m venv .\venv\
.\venv\Scripts\Activate.ps1

Install dependencies.

pip install -r requirements.txt

In Linux, you need to run the following command to install the required dependencies.

apt install portaudio19-dev python3-pyaudio
apt install espeak

Run

Execute directly within the virtual env.

python ./main.py

whisper run remotely

I have a Linux host with 12GB of GPU memory and a laptop with a weak 1650 GPU. To run the Whisper large model, you can host Whisper on Linux and use websocket communication between the client and Whisper.

Linux:

python scrpit/whisper_server.py --model large-v2

client:

python .\main.py --whisper_mode remote --whisper_address ws://{You Linux IP}:3001

Proxy for openai

python .\main.py --proxy http://127.0.0.1:10809

After enabling the proxy, all OpenAI GPT requests and model downloads will pass through the proxy node.

Thanks

PyQt-Fluent-Widgets A fluent design widgets library based on PyQt5

TODO LIST

  • 国际化支持
  • 聊天ui优化
  • 导入其他TTS
  • 消息编辑
  • 本地langchain向量库

chatgptvoice's People

Contributors

qurel avatar

Stargazers

 avatar  avatar  avatar kunkunqaq avatar  avatar  avatar  avatar  avatar  avatar Fei avatar Liangyi Murong avatar  avatar

Watchers

Kostas Georgiou avatar  avatar  avatar

Forkers

hadesjaky

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.