29 lines
883 B
Markdown
29 lines
883 B
Markdown
# Conversation
|
|
This proof of concept is for implementing conversational loop with AI at a low level with raw C.
|
|
|
|
## How it works
|
|
This simple program:
|
|
1. Captures audio samples for x seconds into a local file using alsa
|
|
2. Sends the raw pcm data to Deepgram STT API for transcription
|
|
3. Uses the transcript to call Anthropic to get an assistant's response
|
|
4. Converts Anthropic's response to audio using Deepgram's TTS
|
|
5. Plays back the generated audio from Deepgram using alsa
|
|
6. Quits. _There is no conversational loop at the time of this writing._
|
|
|
|
## Requirements
|
|
Platform: the project is meant for Linux, specifically Ubuntu desktop.
|
|
|
|
* libcurl
|
|
* build-essential
|
|
* libasound2-dev
|
|
|
|
_See more deps in Makefile `install-deps` command._
|
|
|
|
## Getting started
|
|
1. Add `DEEPGRAM_API_KEY` and `ANTHROPIC_API_KEY` to `.bashrc` as environment variables.
|
|
2. Build & run
|
|
```sh
|
|
make
|
|
./main
|
|
```
|