whisper.cpp/examples/talk
Georgi Gerganov 09d7d2b68e
examples : refactor in order to reuse code and reduce duplication (#482)
* examples : refactor common code into a library

* examples : refactor common SDL code into a library

* make : update Makefile to use common libs

* common : fix MSVC M_PI ..

* addon.node : link common lib
2023-02-15 19:28:10 +02:00
..
.gitignore talk : talk with AI in the terminal 2022-12-10 16:51:58 +02:00
CMakeLists.txt examples : refactor in order to reuse code and reduce duplication (#482) 2023-02-15 19:28:10 +02:00
gpt-2.cpp examples : fix memory leak on failure to load gpt2 model (#323) 2022-12-23 20:19:07 +02:00
gpt-2.h talk : talk with AI in the terminal 2022-12-10 16:51:58 +02:00
README.md talk : improve prompting 2022-12-12 23:44:36 +02:00
speak.sh talk : talk with AI in the terminal 2022-12-10 16:51:58 +02:00
talk.cpp examples : refactor in order to reuse code and reduce duplication (#482) 2023-02-15 19:28:10 +02:00

talk

Talk with an Artificial Intelligence in your terminal

Demo Talk

Web version: examples/talk.wasm

Building

The talk tool depends on SDL2 library to capture audio from the microphone. You can build it like this:

# Install SDL2 on Linux
sudo apt-get install libsdl2-dev

# Install SDL2 on Mac OS
brew install sdl2

# Build the "talk" executable
make talk

# Run it
./talk -p Santa

GPT-2

To run this, you will need a ggml GPT-2 model: instructions

Alternatively, you can simply download the smallest ggml GPT-2 117M model (240 MB) like this:

wget --quiet --show-progress -O models/ggml-gpt-2-117M.bin https://huggingface.co/datasets/ggerganov/ggml/raw/main/ggml-model-gpt-2-117M.bin

TTS

For best experience, this example needs a TTS tool to convert the generated text responses to voice. You can use any TTS engine that you would like - simply edit the speak.sh script to your needs. By default, it is configured to use espeak, but you can use whatever you wish.