Plugin Development

Naomi's core strength is the plugin system. This means that for almost anything you would like to change about Naomi, you only need to write a plugin. Plugins allow you to quickly and easily test a variety of audio engines, speech to text engines, text to speech engines, text to intent engines, voice activity detection engines, etc. without having to change anything in the Naomi core.

Plugins work by defining a standard interface that plugins of the class must conform to. That way they become interchangeable within Naomi.

To make plugin development easier we have created a web based editor that returns a properly formatted framework for a developer to build off of. You can find more information on the NPEeditor here.

Current plugin categories and classes include:

Plugin type Category Parent Class
Audio Engine audioengine plugin.AudioEnginePlugin
Speech Handler speechhandler plugin.SpeechHandlerPlugin
Text to Intent tti plugin.TTIPlugin
Text to Speech tts plugin.TTSPlugin
Speech to Text stt plugin.STTPlugin
Speech to Text Trainer stt_trainer plugin.STTTrainerPlugin
Voice Activity Detection vad plugin.VADPlugin
Visualizations visualizations plugin.VisualizationsPlugin

Click on a plugin type above for more detailed development information.