SEPIA is a self-hosted, extendable, personal, intelligent assistant framework. It provides a modular, open-source solution for building custom digital voice assistants, targeting users who want control over their data and functionality. The framework offers a comprehensive suite of tools, including speech recognition, wake-word detection, TTS, NLU, and dialog management, enabling the creation of sophisticated voice-controlled applications.
How It Works
SEPIA operates on a client-server architecture. The SEPIA Client handles user interactions (voice, text, touch) and manages the dialog flow, while the Assist-Server acts as the "brain," processing natural language understanding, integrating smart services, and managing user accounts. A separate SEPIA STT Server provides real-time speech-to-text capabilities, supporting various open-source ASR models for flexibility and privacy. This modular design allows components to run on diverse hardware, including low-power devices like the Raspberry Pi.
Quick Start & Requirements
- Server Installation: Requires Java JDK 8 or 11. Download the SEPIA-Home bundle, extract, and run the setup script (
.bat
for Windows, .sh
for Linux/Mac).
- Client Access: Use the web client (https://sepia-framework.github.io/app/) or the Android app, connecting to your SEPIA server by specifying the hostname.
- Raspberry Pi Installation: Specific instructions and an automated script are available.
- API Keys: Some services require API keys for functionality (e.g., navigation). Instructions for obtaining them are provided.
- Resources: Optimized to run on Raspberry Pi, suggesting low resource requirements for basic operation.
Highlighted Details
- Supports a wide range of smart services out-of-the-box, including news, music, timers, smart home integration (openHAB), navigation, weather, and more.
- Includes a Control HUB for server management, headless clients, and smart home configuration, along with an integrated code editor for custom services and widgets.
- Offers a Java SDK for developing custom services and supports custom commands in German and English, with basic support for other languages.
- The SEPIA STT Server supports custom, dynamic ASR models using tools like Kaldi, Vosk, or Zamia speech.
Maintenance & Community
- Users are encouraged to post questions and bug reports in the issues section.
- Links to Wiki, Blog, Twitter, and Mastodon feeds are provided for news and detailed descriptions.
- Discussions can be initiated via provided links.
Licensing & Compatibility
- The framework is open-source. Specific license details (e.g., MIT, Apache) are not explicitly stated in the provided text, but the emphasis on self-hosting and customization suggests a permissive approach.
- Components are compatible with Linux, Windows, and Mac, including Raspberry Pi.
Limitations & Caveats
- Some services are optimized for German, potentially leading to mixed-language results for certain queries (e.g., news, soccer results).
- Users running public servers are responsible for security and data privacy policies due to handling potentially sensitive personal information.