June: A Local Voice Chatbot
June is a local voice chatbot that combines three powerful tools: Ollama, Hugging Face Transformers, and the Coqui TTS Toolkit. Its primary purpose is to facilitate voice-assisted interactions on your local machine while maintaining privacy, as it does not send any data to external servers.
Interaction Modes
June offers several interaction modes to cater to different user preferences:
- Text Input/Output: Users can type in their queries and receive text responses.
- Voice Input/Text Output: Speak through a microphone, and read text responses.
- Text Input/Audio Output: Type in queries and hear audio responses along with text.
- Voice Input/Audio Output (Default): Speak through a microphone and receive both spoken and text responses.
Installation
To get started with June, users need to install some prerequisites depending on their operating system:
- Ollama and Python (version 3.10 or greater)
- Development packages for GNU/Linux or macOS
- Microsoft Visual C++ for Windows
June can be installed directly from its GitHub repository or by cloning the repository and installing it locally.
Usage
Before running June, users must pull a language model using Ollama. By default, the model used is llama3.1:8b-instruct-q4_0
. Running June is straightforward, and it supports customization through a JSON configuration file.
Customization
June's behavior can be tailored using a configuration file. This JSON file allows users to:
- Disable or modify chat history.
- Change the speech-to-text or text-to-speech models.
- Switch between using a local or remote Ollama instance.
For detailed configuration options such as adjusting the device used for processing models or modifying interaction settings, users can refer to the default configuration settings provided.
Frequently Asked Questions
Q: How does voice input work?
When the system indicates it is listening, users can speak directly into the microphone without needing a wake command. Silence for 3 seconds signals the end of input, prompting the assistant to process the voice data.
Q: Can voices be cloned?
Voice cloning is supported by many of the Coqui TTS models. Users can provide a short audio clip to have June mimic a particular voice.
Q: Can a remote Ollama instance be used?
Yes, users can configure June to connect to a remote Ollama instance by setting the OLLAMA_HOST
environment variable to the URL of the remote instance.
Overall, June provides a versatile, private, and customizable solution for voice interactions on personal computers using local resources.