All Projects → MycroftAI → Mycroft Core

MycroftAI / Mycroft Core

Licence: apache-2.0
Mycroft Core, the Mycroft Artificial Intelligence platform.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
QML
638 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Mycroft Core

Openvoiceos
OpenVoiceOS is a minimalistic linux OS bringing the open source voice assistant Mycroft A.I. to embbeded, low-spec headless and/or small (touch)screen devices.
Stars: ✭ 64 (-98.83%)
Mutual labels:  artificial-intelligence, ai, personal-assistant, raspberry-pi, open-source
Enclosure Picroft
Mycroft interface for Raspberry Pi environment
Stars: ✭ 649 (-88.18%)
Mutual labels:  artificial-intelligence, personal-assistant, hacktoberfest, raspberry-pi, open-source
Olivia
💁‍♀️Your new best friend powered by an artificial neural network
Stars: ✭ 3,114 (-43.27%)
Mutual labels:  artificial-intelligence, ai, natural-language-processing, voice-assistant
Cocoaai
🤖 The Cocoa Artificial Intelligence Lab
Stars: ✭ 134 (-97.56%)
Mutual labels:  artificial-intelligence, ai, natural-language-processing
Ultimatemrz Sdk
Machine-readable zone/travel document (MRZ / MRTD) detector and recognizer using deep learning
Stars: ✭ 66 (-98.8%)
Mutual labels:  artificial-intelligence, ai, raspberry-pi
Warriorjs
🏰 An exciting game of programming and Artificial Intelligence
Stars: ✭ 8,673 (+58.01%)
Mutual labels:  artificial-intelligence, ai, skills
Awesome Ai Ml Dl
Awesome Artificial Intelligence, Machine Learning and Deep Learning as we learn it. Study notes and a curated list of awesome resources of such topics.
Stars: ✭ 831 (-84.86%)
Mutual labels:  artificial-intelligence, ai, natural-language-processing
Pai
Resource scheduling and cluster management for AI
Stars: ✭ 2,223 (-59.5%)
Mutual labels:  artificial-intelligence, ai, hacktoberfest
Nlpaug
Data augmentation for NLP
Stars: ✭ 2,761 (-49.7%)
Mutual labels:  artificial-intelligence, ai, natural-language-processing
Free Ai Resources
🚀 FREE AI Resources - 🎓 Courses, 👷 Jobs, 📝 Blogs, 🔬 AI Research, and many more - for everyone!
Stars: ✭ 192 (-96.5%)
Mutual labels:  artificial-intelligence, ai, hacktoberfest
Catalyst
🚀 Catalyst is a C# Natural Language Processing library built for speed. Inspired by spaCy's design, it brings pre-trained models, out-of-the box support for training word and document embeddings, and flexible entity recognition models.
Stars: ✭ 224 (-95.92%)
Mutual labels:  artificial-intelligence, ai, natural-language-processing
Lda
LDA topic modeling for node.js
Stars: ✭ 262 (-95.23%)
Mutual labels:  artificial-intelligence, ai, natural-language-processing
Coursera Natural Language Processing Specialization
Programming assignments from all courses in the Coursera Natural Language Processing Specialization offered by deeplearning.ai.
Stars: ✭ 39 (-99.29%)
Mutual labels:  artificial-intelligence, natural-language-processing, natural-language
Ml
A high-level machine learning and deep learning library for the PHP language.
Stars: ✭ 1,270 (-76.86%)
Mutual labels:  artificial-intelligence, ai, natural-language-processing
Riceteacatpanda
repo with challenge material for riceteacatpanda (2020)
Stars: ✭ 18 (-99.67%)
Mutual labels:  artificial-intelligence, ai, natural-language-processing
Fixy
Amacımız Türkçe NLP literatüründeki birçok farklı sorunu bir arada çözebilen, eşsiz yaklaşımlar öne süren ve literatürdeki çalışmaların eksiklerini gideren open source bir yazım destekleyicisi/denetleyicisi oluşturmak. Kullanıcıların yazdıkları metinlerdeki yazım yanlışlarını derin öğrenme yaklaşımıyla çözüp aynı zamanda metinlerde anlamsal analizi de gerçekleştirerek bu bağlamda ortaya çıkan yanlışları da fark edip düzeltebilmek.
Stars: ✭ 165 (-96.99%)
Mutual labels:  artificial-intelligence, ai, natural-language-processing
Spacy
💫 Industrial-strength Natural Language Processing (NLP) in Python
Stars: ✭ 21,978 (+300.4%)
Mutual labels:  artificial-intelligence, ai, natural-language-processing
Ciphey
⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡
Stars: ✭ 9,116 (+66.08%)
Mutual labels:  artificial-intelligence, hacktoberfest, natural-language-processing
Thinc
🔮 A refreshing functional take on deep learning, compatible with your favorite libraries
Stars: ✭ 2,422 (-55.88%)
Mutual labels:  artificial-intelligence, ai, natural-language-processing
Botlibre
An open platform for artificial intelligence, chat bots, virtual agents, social media automation, and live chat automation.
Stars: ✭ 412 (-92.49%)
Mutual labels:  artificial-intelligence, natural-language-processing, natural-language

License CLA Team Status

Unit Tests codecov PRs Welcome Join chat

Mycroft

Mycroft is a hackable open source voice assistant.

Table of Contents

Getting Started

First, get the code on your system! The simplest method is via git (git installation instructions):

  • cd ~/
  • git clone https://github.com/MycroftAI/mycroft-core.git
  • cd mycroft-core
  • bash dev_setup.sh

This script sets up dependencies and a virtualenv. If running in an environment besides Ubuntu/Debian, Arch or Fedora you may need to manually install packages as instructed by dev_setup.sh.

NOTE: The default branch for this repository is 'dev', which should be considered a work-in-progress. If you want to clone a more stable version, switch over to the 'master' branch.

Running Mycroft

Mycroft provides start-mycroft.sh to perform common tasks. This script uses a virtualenv created by dev_setup.sh. Assuming you installed mycroft-core in your home directory run:

  • cd ~/mycroft-core
  • ./start-mycroft.sh debug

The "debug" command will start the background services (microphone listener, skill, messagebus, and audio subsystems) as well as bringing up a text-based Command Line Interface (CLI) you can use to interact with Mycroft and see the contents of the various logs. Alternatively you can run ./start-mycroft.sh all to begin the services without the command line interface. Later you can bring up the CLI using ./start-mycroft.sh cli.

The background services can be stopped as a group with:

  • ./stop-mycroft.sh

Using Mycroft

Home Device and Account Manager

Mycroft AI, Inc. maintains a device and account management system known as Mycroft Home. Developers may sign up at: https://home.mycroft.ai

By default, mycroft-core is configured to use Home. By saying "Hey Mycroft, pair my device" (or any other request verbal request) you will be informed that your device needs to be paired. Mycroft will speak a 6-digit code which you can enter into the pairing page within the Mycroft Home site.

Once paired, your unit will use Mycroft API keys for services such as Speech-to-Text (STT), weather and various other skills.

Skills

Mycroft is nothing without skills. There are a handful of default skills that are downloaded automatically to your /opt/mycroft/skills directory, but most need to be installed explicitly. See the Skill Repo to discover skills made by others. Please share your own interesting work!

Behind the scenes

Pairing Information

Pairing information generated by registering with Home is stored in: ~/.config/mycroft/identity/identity2.json <-- DO NOT SHARE THIS WITH OTHERS!

Configuration

Mycroft's configuration consists of 4 possible locations:

  • mycroft-core/mycroft/configuration/mycroft.conf(Defaults)
  • Mycroft Home (Remote)
  • /etc/mycroft/mycroft.conf (Machine)
  • $XDG_CONFIG_DIR/mycroft/mycroft.conf (which is by default $HOME/.config/mycroft/mycroft.conf) (USER)

When the configuration loader starts, it looks in these locations in this order, and loads ALL configurations. Keys that exist in multiple configuration files will be overridden by the last file to contain the value. This process results in a minimal amount being written for a specific device and user, without modifying default distribution files.

Using Mycroft Without Home

If you do not wish to use the Mycroft Home service, before starting Mycroft for the first time, create $HOME/.config/mycroft/mycroft.conf with the following contents:

{
  "skills": {
    "blacklisted_skills": [
      "mycroft-configuration.mycroftai",
      "mycroft-pairing.mycroftai"
    ]
  }
}

API Key Services

The Mycroft backend provides access to a range of API keys for specific services. Without pairing with the Mycroft backend, you will need to add your own API keys, install a different Skill or Plugin to perform that function, or not have access to that functionality.

These are the keys currently used in Mycroft Core through the Mycroft backend:

Using Mycroft behind a proxy

Many schools, universities and workplaces run a proxy on their network. If you need to type in a username and password to access the external internet, then you are likely behind a proxy.

If you plan to use Mycroft behind a proxy, then you will need to do an additional configuration step.

NOTE: In order to complete this step, you will need to know the hostname and port for the proxy server. Your network administrator will be able to provide these details. Your network administrator may want information on what type of traffic Mycroft will be using. We use https traffic on port 443, primarily for accessing ReST-based APIs.

Using Mycroft behind a proxy without authentication

If you are using Mycroft behind a proxy without authentication, add the following environment variables, changing the proxy_hostname.com and proxy_port for the values for your network. These commands are executed from the Linux command line interface (CLI).

$ export http_proxy=http://proxy_hostname.com:proxy_port
$ export https_port=http://proxy_hostname.com:proxy_port
$ export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com,0.0.0.0,::1"

Using Mycroft behind an authenticated proxy

If you are behind a proxy which requires authentication, add the following environment variables, changing the proxy_hostname.com and proxy_port for the values for your network. These commands are executed from the Linux command line interface (CLI).

$ export http_proxy=http://user:password@proxy_hostname.com:proxy_port
$ export https_port=http://user:password@proxy_hostname.com:proxy_port
$ export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com,0.0.0.0,::1"

Getting Involved

This is an open source project. We would love your help. We have prepared a contributing guide to help you get started.

If this is your first PR, or you're not sure where to get started, say hi in Mycroft Chat and a team member would be happy to mentor you. Join the Mycroft Forum for questions and answers.

Links

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].