SEPIA: Difference between revisions

From Voice Technology Wiki
Jump to navigation Jump to search
m (Fixed typo)
(Added components section. More references.)
Line 1: Line 1:
== Introduction: S.E.P.I.A. Open Assistant Framework ==
== Introduction: S.E.P.I.A. Open Assistant Framework ==
S.E.P.I.A. is an acronym for: '''s'''elf-hosted, '''e'''xtendable, '''p'''ersonal, '''i'''ntelligent '''a'''ssistant. It is a modular, open-source framework equipped with all the required tools to build your own, full-fledged digital voice-assistant, including speech recognition ([[:Category:STT|STT]]), wake-word detection, text-to-speech ([[:Category:TTS|TTS]]), [[Natural language understanding|natural-language-understanding]], dialog-management, SDK(s), a cross-platform client app and much more.
[https://sepia-framework.github.io/ S.E.P.I.A.] is an acronym for: '''s'''elf-hosted, '''e'''xtendable, '''p'''ersonal, '''i'''ntelligent '''a'''ssistant. It is a modular, open-source framework equipped with all the required tools to build your own, full-fledged digital voice-assistant, including [[:Category:STT|speech recognition]] ([[:Category:STT|STT]]), [[:Category:Wake words|wake-word]] detection, [[:Category:TTS|text-to-speech]] ([[:Category:TTS|TTS]]), [[Natural language understanding|natural-language-understanding (NLU)]], dialog-management, SDK(s), a cross-platform client app and much more.


The framework consists of several, highly customizable micro-services that work together seamlessly to form the SEPIA Open Assistant. It follows the '''client-server principle using a lightweight Java server and Elasticsearch DB as "brain"''' and a Javascript based client that works for example as '''smart-speaker, smart-display or full-fledged digital assistant app'''.
The framework consists of several, highly customizable micro-services that work together seamlessly to form the SEPIA Open Assistant. It follows the '''client-server principle using a lightweight Java server and Elasticsearch DB as "brain"''' and a JavaScript based client that works for example as '''smart-speaker, smart-display or full-fledged digital assistant app'''.


All components work on Linux, Windows and Mac and have been optimized to even '''run smoothly on a Raspberry Pi'''.
All components work on Linux, Windows and Mac and have been optimized to even '''run smoothly on a Raspberry Pi'''.


Out-of-the-box SEPIA currently has smart-services for: news, music (radio), timers, alarms, reminders, to-do and shopping lists, smart home (e.g. using open-source tools like openHAB), navigation, places, weather, Wikipedia, web-search, soccer-results (Bundesliga), a bit of small-talk and more. To build custom services there is a Java SDK and a code editor integrated into the SEPIA Control HUB web-app. The client can be extended with custom HTML widgets.
Out-of-the-box SEPIA currently has smart-services for: news, music (radio), timers, alarms, reminders, to-do and shopping lists, smart home (e.g. using open-source tools like openHAB), navigation, places, weather, Wikipedia, web-search, soccer-results (Bundesliga), a bit of small-talk and more. To build custom services there is a Java SDK and a code editor integrated into the SEPIA Control HUB web-app. The client can be extended with custom HTML widgets.<ref>https://github.com/SEPIA-Framework/sepia-docs</ref>


== Components ==
==Components==
Under construction
Some of the core SEPIA framework components:


== Installation ==
*[https://github.com/SEPIA-Framework/sepia-assist-server SEPIA Assist-Server] - The "brain" of SEPIA responsible for: user-accounts, database integration, [[Natural language understanding|NLU]], dialog-management, open-source [[:Category:TTS|TTS]], smart-services (weather, navigation, alarms, news etc.), remote actions and more<ref>https://github.com/SEPIA-Framework/sepia-assist-server</ref>.
Under construction
*[https://github.com/SEPIA-Framework/sepia-websocket-server-java SEPIA Chat-Server] - A [[wikipedia:WebSocket|WebSocket]] based Chat-Server that takes care of real-time, asynchronous user-to-user and user-to-assistant communication<ref>https://github.com/SEPIA-Framework/sepia-websocket-server-java</ref>.
*[https://github.com/SEPIA-Framework/sepia-html-client-app SEPIA Cross-Platform Client] - The primary SEPIA client based on HTML5 web technology that runs on all modern browsers (mobile and desktop) and communicates with other SEPIA components via HTTP or WebSocket connections<ref>https://github.com/SEPIA-Framework/sepia-html-client-app</ref>. It supports headless- and kiosk-mode via [https://github.com/bytemind-de/nodejs-client-extension-interface CLEXI server] to build independent smart-speaker or smart-display like devices<ref>https://github.com/SEPIA-Framework/sepia-installation-and-setup/tree/master/sepia-client-installation</ref>. The client is available as Android app as well via [https://play.google.com/store/apps/details?id=de.bytemind.sepia.app.web Play Store] or [https://github.com/SEPIA-Framework/sepia-installation-and-setup/releases direct download].
*[[SEPIA Speech-To-Text Server|SEPIA STT-Server]] - A WebSocket based, full-duplex Python server for real-time [[:Category:STT|automatic speech recognition]] (ASR) supporting [https://github.com/SEPIA-Framework/sepia-stt-server multiple open-source ASR engines]. It can receive a stream of audio chunks via the secure WebSocket connection and return transcribed text almost immediately as partial and final results<ref>https://github.com/SEPIA-Framework/sepia-stt-server</ref>.
There are many more SEPIA components and tools to discover on the [https://github.com/SEPIA-Framework official GitHub project page].
 
==Installation==
The [https://github.com/SEPIA-Framework/sepia-docs official documentation page] has the most recent installation guides.


[[Category:Open Voice Assistants]]
[[Category:Open Voice Assistants]]
[[Category:Project]]
[[Category:Project]]
<references />

Revision as of 12:17, 3 December 2021

Introduction: S.E.P.I.A. Open Assistant Framework

S.E.P.I.A. is an acronym for: self-hosted, extendable, personal, intelligent assistant. It is a modular, open-source framework equipped with all the required tools to build your own, full-fledged digital voice-assistant, including speech recognition (STT), wake-word detection, text-to-speech (TTS), natural-language-understanding (NLU), dialog-management, SDK(s), a cross-platform client app and much more.

The framework consists of several, highly customizable micro-services that work together seamlessly to form the SEPIA Open Assistant. It follows the client-server principle using a lightweight Java server and Elasticsearch DB as "brain" and a JavaScript based client that works for example as smart-speaker, smart-display or full-fledged digital assistant app.

All components work on Linux, Windows and Mac and have been optimized to even run smoothly on a Raspberry Pi.

Out-of-the-box SEPIA currently has smart-services for: news, music (radio), timers, alarms, reminders, to-do and shopping lists, smart home (e.g. using open-source tools like openHAB), navigation, places, weather, Wikipedia, web-search, soccer-results (Bundesliga), a bit of small-talk and more. To build custom services there is a Java SDK and a code editor integrated into the SEPIA Control HUB web-app. The client can be extended with custom HTML widgets.[1]

Components

Some of the core SEPIA framework components:

  • SEPIA Assist-Server - The "brain" of SEPIA responsible for: user-accounts, database integration, NLU, dialog-management, open-source TTS, smart-services (weather, navigation, alarms, news etc.), remote actions and more[2].
  • SEPIA Chat-Server - A WebSocket based Chat-Server that takes care of real-time, asynchronous user-to-user and user-to-assistant communication[3].
  • SEPIA Cross-Platform Client - The primary SEPIA client based on HTML5 web technology that runs on all modern browsers (mobile and desktop) and communicates with other SEPIA components via HTTP or WebSocket connections[4]. It supports headless- and kiosk-mode via CLEXI server to build independent smart-speaker or smart-display like devices[5]. The client is available as Android app as well via Play Store or direct download.
  • SEPIA STT-Server - A WebSocket based, full-duplex Python server for real-time automatic speech recognition (ASR) supporting multiple open-source ASR engines. It can receive a stream of audio chunks via the secure WebSocket connection and return transcribed text almost immediately as partial and final results[6].

There are many more SEPIA components and tools to discover on the official GitHub project page.

Installation

The official documentation page has the most recent installation guides.