Introduction to Mycroft-core
Mycroft-core is an open-source voice assistant platform that was once renowned for its adaptability and ease for developers looking to create voice-activated applications. While it is no longer actively maintained, its legacy lives on through projects like Open Voice OS and Neon-core, which continue the vision of a flexible, community-driven virtual assistant.
Getting Started
To begin with Mycroft-core, developers could clone the project's repository using Git:
cd ~/
git clone https://github.com/MycroftAI/mycroft-core.git
cd mycroft-core
bash dev_setup.sh
This setup script installed all necessary dependencies and created a virtual environment for running Mycroft. Users on operating systems other than Ubuntu/Debian, Arch, or Fedora might have needed to install certain packages manually.
Running Mycroft
After installation, Mycroft-core could be run using a simple command line script:
cd ~/mycroft-core
./start-mycroft.sh debug
The "debug" command initiated a text-based CLI along with all essential background services needed for voice interactions, such as microphone listening, skill processing, and audio management. Alternatively, developers could start all services without the CLI.
Stopping the services collectively was just as easy:
./stop-mycroft.sh
Using Mycroft
Mycroft Home Device and Account Manager
Mycroft AI provided a device and account management system called Mycroft Home, accessible at home.mycroft.ai. Users were prompted to pair their devices using a 6-digit code provided by Mycroft after initiating a voice request like "Hey Mycroft, pair my device.” Paired devices gained access to Mycroft API functionalities, such as Speech-to-Text (STT) processing and skill integrations.
Skills
The true power of Mycroft-core lay in its skills—modules that enhanced its capabilities. While some default skills came pre-installed, users could explore and install additional skills from the Mycroft Skill Repository. This encouraged a community of developers to share their innovations and contribute to Mycroft's growing library of functionalities.
Behind the Scenes
Configuration
Mycroft's configuration was incredibly flexible, utilizing four different sources for configuration files, ranging from local machine settings to the Mycroft Home settings. This allowed for a hierarchical approach to configuring Mycroft to suit user preferences and needs.
Using Mycroft Without Home
For those preferring not to use Mycroft Home, a simple configuration file adjustment disabled default skills related to Mycroft Home, allowing users to operate Mycroft entirely independently.
{
"skills": {
"blacklisted_skills": [
"mycroft-configuration.mycroftai",
"mycroft-pairing.mycroftai"
]
}
}
API Key Services
Mycroft-core also provided access to several API key services, essential for specialized tasks like weather reports and computational knowledge retrieval via Wolfram-Alpha. Users without Mycroft Home needed their own API keys or alternative services to access such features.
Using Mycroft Behind a Proxy
Organizations behind a network proxy could adapt Mycroft-core to work seamlessly by setting environment variables to specify proxy details. This configuration catered for both authenticated and non-authenticated proxy environments.
Community and Evolution
Despite its current inactive status, Mycroft-core contributed significantly to the open-source voice assistant ecosystem. Its influence continues through its successors and serves as an inspiration for developers committed to creating open and customizable voice assistants.