Giter VIP home page Giter VIP logo

snips-app-keep-quiet's Introduction

Keep quiet app for Snips

Build status Maintainability Code quality Python versions GitHub license Languages Snips App Store

Important information: Following the acquisition of Snips by Sonos, the Snips Console is not available anymore after January 31, 2020. As such, we have exported all data of the English and German version of this app from the Snips Console and made these available in the directory console with the same MIT license as the rest of this project. This project has been archived. If you're searching for an alternative to Snips, I believe that Rhasspy is currently the best choice for an offline open source voice assistant.

With this Snips app, you can ask your assistant to stop replying to your voice commands until you ask it to talk to you again.

Installation

The easiest way to install this app is by adding the corresponding Snips app to your assistant in the Snips Console:

To be able to use this app, you need Snips 1.1.2 (0.62.3).

For disabling and enabling intents, the snips-injection service should be running, because the names of the installed intents are injected in the vocabulary of Snips.

Usage

This app recognizes the following intents:

  • DisableIntent - You ask your assistant to disable an intent.
  • EnableIntent - You ask your assistant to enable an intent.
  • Quiet - You ask your assistant to stop replying to your voice commands.
  • Talk - You ask your assistant to talk again.

Copyright

This app is provided by Koen Vervloesem as open source software. See LICENSE for more information.

snips-app-keep-quiet's People

Contributors

koenvervloesem avatar pepebc avatar philipp2310 avatar sanlokii avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

fossabot pepebc

snips-app-keep-quiet's Issues

Test on other platforms than Raspbian

Currently this app is only tested on Raspbian.

It would be helpful if someone could test the app on other platforms supported by Snips, such as other Linux distributions (especially Ubuntu), macOS and other ARM systems than the Raspberry Pi. I'd love to hear the result, positive or negative.

Fix: Only re-enable intents that were enabled before

Currently the app is doing this:

  • koan:Quiet - I disable all intents except koan:Talk.
  • koan:Talk - I re-enable all intents that are enabled by default and I disable the other ones.

However, at any time other apps could have enabled intents that are disabled by default and/or disabled intents that are enabled by default. So to play nice with other apps, I really should do the following:

  • koan:Quiet - Store the currently enabled intents in a list, and disable all these intents except koan:Talk.
  • koan:Talk - Re-enable all intents that were enabled before receiving koan:Quiet. The ones that were disabled before are not in our list, so they stay disabled.

According to snipsco/hermes-protocol#78, Snips will probably add a way to get the currently enabled intents, but as it's MQTT based, it will be an asynchronous API.

When the proposed MQTT topic hermes/dialogueManager/configuration (and, I suppose, an equivalent Hermes Python callback) and the new behaviour of the hermes/dialogueManager/configure topic is added to the Snips platform, I could use the following approach in my app:

  1. Subscribe to hermes/dialogueManager/configuration and store the list of enabled intents every time this topic is published. This means every time the dialogue configuration is changed or requested. However, it would be helpful if hermes/dialogueManager/configuration would make it clear it's published because of a change or a request, because we only have to store the list in the former situation.
  2. Make a copy of this list in koan:Quiet
  3. Use this list in koan:Talk to only enable the intents that are enabled in this list.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.