Skip to content

Repository files navigation

llm_tts_stt_conversation

Speak with multiple llm's with tts input, stt output or just let them talk to each other.

06/17/25 - Added some code I wrote quite some time ago

Have two local llm's having a conversation or have a conversation with a local model through voice and/or typing

This was llama 2 era but might still be the way to do it locally on a low budget rig

  • Sharing this because it's comedy gold
  • Works best with uncensored models for comedy purposes but would also work with regular models and I've personally built whole conversational/research/multi-llm-generation stuff of it(ahead of it's time what can I say)
  • I only used ollama at the time but this will work with any local llm provider
    • I've added an example of a custom llm_studio_client example that will work the same way as ChatOllama does.
  • Also sharing this because this can teach you quite a bit about how low-tier rigs can mess around with local models in real time without big/any cost

When used with certain models/modelfiles, voices and prompts will solve llm-fatique

Features

  • Contains snippet to have two models having a conversation in real time using:
    • RealtimeTTS - with CoquiEngine and/or SystemEngine, read install guide there and shoutout koljab
  • Contains snippet user voice to llm voice using both
  • Contains alternative user voice to llm voice snippet using whispermic + tts + playsound
  • Contains type to voice snippet using only RTTS

System requirements

  • I was able to run two models at same time having a conversation using realtimeTTS with:
    • 32gig ram ddr4
    • Undisputed king of budget cuda cards: rtx 3050 (I've upgraded since then but it on my wall)
    • If it's too system heavy:
      • running two instances of llama2, wizard-vicuna or dolphin should be fine(16gigs of ram would be enough for that)
      • use whisper_mic / tts.api > playsound
      • look for modern/alternative ways

The audio functionalities can be very heavy on your system but just wait for engine to get up and pc getting ready for liftoff before judgement, worse case scenario switch to alternative ways or run two SystemEngine instances

I vaguely remember something about CoquiEngine shutting it's repository down but there should be a fork up somewhere, otherwise again refer to installguide of RealtimeTTS, I think that's what I used to create the bane.wav example among other voices.

Install guide

  • I ran it using venv with python 3.9
  • I'd focus on installing RTTS and/or STT first.
  • langchain is completely optional and yes it uses old methods, I just put the versions I used back then in requirements.txt.
  • If pip and langchaing put red letters in terminal: just uninstall all langchain related, pip install langchain and create ollama instance simulair to the llm studio example

About

Speak with multiple llm's with tts input, stt output or just let them talk to each other.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages