{ // Definition and documentation of all variables used by mycroft-core. // // Settings seen here are considered DEFAULT. Settings can also be // overridden at the REMOTE level (set by the user via // https://home.mycroft.ai), at the SYSTEM level (typically in the file // '/etc/mycroft/mycroft.conf'), or at the USER level (typically in the // file '~/.config/mycroft/mycroft.conf'). // // The load order of settings is: // DEFAULT // REMOTE // SYSTEM // USER // // The Override: comments below indicates where these settings are generally // set outside of this file. The load order is always followed, so an // individual systems can still apply changes at the SYSTEM or USER levels. // Language used for speech-to-text and text-to-speech. // Code is a BCP-47 identifier (https://tools.ietf.org/html/bcp47), lowercased // TODO: save unmodified, lowercase upon demand "lang": "en-us", // Measurement units, either 'metric' or 'english' // Override: REMOTE "system_unit": "metric", // Time format, either 'half' (e.g. "11:37 pm") or 'full' (e.g. "23:37") // Override: REMOTE "time_format": "half", // Date format, either 'MDY' (e.g. "11-29-1978") or 'DMY' (e.g. "29-11-1978") // Override: REMOTE "date_format": "MDY", // Whether to opt in to data collection // Override: REMOTE "opt_in": false, // Play a beep when system begins to listen? "confirm_listening": true, // File locations of sounds to play for system events "sounds": { "start_listening": "snd/start_listening.wav", "end_listening": "snd/end_listening.wav", "acknowledge": "snd/acknowledge.mp3" }, // Mechanism used to play WAV audio files // Override: SYSTEM "play_wav_cmdline": "paplay %1 --stream-name=mycroft-voice", // Mechanism used to play MP3 audio files // Override: SYSTEM "play_mp3_cmdline": "mpg123 %1", // Mechanism used to play OGG audio files // Override: SYSTEM "play_ogg_cmdline": "ogg123 -q %1", // Location where the system resides // NOTE: Although this is set here, an Enclosure can override the value. // For example a mycroft-core running in a car could use the GPS. // Override: REMOTE "location": { "city": { "code": "Lawrence", "name": "Lawrence", "state": { "code": "KS", "name": "Kansas", "country": { "code": "US", "name": "United States" } } }, "coordinate": { "latitude": 38.971669, "longitude": -95.23525 }, "timezone": { "code": "America/Chicago", "name": "Central Standard Time", "dstOffset": 3600000, "offset": -21600000 } }, // Also change in scripts/prepare-msm.sh "data_dir": "/opt/mycroft", // General skill values "skills": { "msm": { // Relative to "data_dir" "directory": "skills", "versioned": true, "repo": { // Relative to "data_dir" "cache": ".skills-repo", "url": "https://github.com/MycroftAI/mycroft-skills", "branch": "21.02" } }, "upload_skill_manifest": true, // Directory to look for user skills "directory": "~/.local/share/mycroft/skills", // Enable auto update by msm "auto_update": true, // blacklisted skills to not load // NB: This is the basename() of the directory where the skill lives, so if // the skill you want to blacklist is in /opt/mycroft/skills/mycroft-alarm.mycroftai/ // then you should write `["mycroft-alarm.mycroftai"]` below. "blacklisted_skills": [], // priority skills to be loaded first "priority_skills": ["mycroft-pairing", "mycroft-volume"], // Time between updating skills in hours "update_interval": 1.0 }, // Address of the REMOTE server "server": { "url": "https://api.mycroft.ai", "version": "v1", "update": true, "metrics": false, "sync_skill_settings": true }, // The mycroft-core messagebus websocket "websocket": { "host": "0.0.0.0", "port": 8181, "route": "/core", "ssl": false }, // The GUI messagebus websocket. Once port is created per connected GUI "gui_websocket": { "host": "0.0.0.0", "base_port": 18181, "route": "/gui", "ssl": false }, // URIs to use for testing network connection. "network_tests": { "dns_primary": "8.8.8.8", "dns_secondary": "8.8.4.4", "web_url": "https://www.google.com", "ncsi_endpoint": "http://www.msftncsi.com/ncsi.txt", "ncsi_expected_text": "Microsoft NCSI" }, // Settings used by the wake-up-word listener // Override: REMOTE "listener": { "sample_rate": 16000, // Set 'save_path' to configure the location of files stored if // 'record_wake_words' and/or 'save_utterances' are set to 'true'. // WARNING: Make sure that user 'mycroft' has write-access on the // directory! // "save_path": "/tmp", // Set 'record_wake_words' to save a copy of wake word triggers // as .wav files under: /'save_path'/mycroft_wake_words "record_wake_words": false, // Set 'save_utterances' to save each sentence sent to STT -- by default // they are only kept briefly in-memory. This can be useful for for // debugging or other custom purposes. Recordings are saved // under: /'save_path'/mycroft_utterances/.wav "save_utterances": false, "wake_word_upload": { "disable": false, "url": "https://training.mycroft.ai/precise/upload" }, // Override as SYSTEM or USER to select a specific microphone input instead of // the PortAudio default input. // "device_name": "somename", // can be regex pattern or substring // or // "device_index": 12, // Stop listing to the microphone during playback to prevent accidental triggering // This is enabled by default, but instances with good microphone noise cancellation // can disable this to listen all the time, allowing 'barge in' functionality. "mute_during_output" : true, // How much (if at all) to 'duck' the speaker output during listening. A // setting of 0.0 will not duck at all. A 1.0 will completely mute output // while in a listening state. Values in between will lower the volume // partially (this is optional behavior, depending on the enclosure). "duck_while_listening" : 0.3, // In milliseconds "phoneme_duration": 120, "multiplier": 1.0, "energy_ratio": 1.5, "wake_word": "hey mycroft", "stand_up_word": "wake up", // Settings used by microphone to set recording timeout "recording_timeout": 10.0, "recording_timeout_with_silence": 3.0 }, // Settings used for any precise wake words "precise": { "use_precise": true, "dist_url": "https://github.com/MycroftAI/precise-data/raw/dist/{arch}/latest", "model_url": "https://raw.githubusercontent.com/MycroftAI/precise-data/models/{wake_word}.tar.gz" }, // Hotword configurations "hotwords": { "hey mycroft": { "module": "precise", "phonemes": "HH EY . M AY K R AO F T", "threshold": 1e-90, "lang": "en-us" // Specify custom model via: // "local_model_file": "~/.local/share/mycroft/precise/models/something.pb" // Precise options: // "sensitivity": 0.5, // Higher = more sensitive // "trigger_level": 3 // Higher = more delay & less sensitive }, "wake up": { "module": "pocketsphinx", "phonemes": "W EY K . AH P", "threshold": 1e-20, "lang": "en-us" } }, // Mark 1 enclosure settings // Override: SYSTEM (e.g. Picroft) "enclosure": { // Platform name // Options: 'picroft', 'mycroft_mark_1' // Override: SYSTEM (set by specific enclosures) // "platform": "picroft", // "platform_enclosure_path": "/etc/myenclosure/code.py", // COMM params to the Arduino/faceplate "port": "/dev/ttyAMA0", "rate": 9600, "timeout": 5.0, // ?? "update": true, // Run a self test at bootup? "test": false }, // Level of logs to store, one of "CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG" // NOTE: This configuration setting is special and can only be changed in the // SYSTEM or USER configuration file, it will not be read if defined in the // DEFAULT (here) or in the REMOTE mycroft config. // If not defined, the default log level is INFO. //"log_level": "INFO", // Format of logs to store. // NOTE: This configuration setting is special and can only be changed in the // SYSTEM or USER configuration file, it will not be read if defined in the // DEFAULT (here) or in the REMOTE mycroft config. // If not defined, the default log format is: // {asctime} | {levelname:8} | {process:5} | {name} | {message} //"log_format": "{asctime} | {levelname:8} | {process:5} | {name} | {message}", // Messagebus types that will NOT be output to logs "ignore_logs": ["enclosure.mouth.viseme", "enclosure.mouth.display"], // Settings related to remote sessions // Overrride: none "session": { // Time To Live, in seconds "ttl": 180 }, // Speech to Text parameters // Override: REMOTE "stt": { // Engine. Options: "mycroft", "google", "wit", "ibm", "kaldi", "bing", // "houndify", "deepspeech_server", "govivace", "yandex" "module": "mycroft" // "deepspeech_server": { // "uri": "http://localhost:8080/stt" // }, // "kaldi": { // "uri": "http://localhost:8080/client/dynamic/recognize" // }, //"govivace": { // "uri": "https://services.govivace.com:49149/telephony", // "credential": { // "token": "xxxxx" // } //} }, // Text to Speech parameters // Override: REMOTE "tts": { // Engine. Options: "mimic", "mimic2", "google", "marytts", "fatts", "espeak", // "spdsay", "yandex", "polly", "mozilla" "pulse_duck": false, "module": "mimic", "polly": { "voice": "Matthew", "region": "us-east-1", "access_key_id": "", "secret_access_key": "" }, "mimic": { "voice": "ap" }, "mimic2": { "lang": "en-us", "url": "https://mimic-api.mycroft.ai/synthesize?text=", "preloaded_cache": "/opt/mycroft/preloaded_cache/Mimic2" }, "espeak": { "lang": "english-us", "voice": "m1" }, "mozilla": { "url": "http://0.0.0.0:5002" } }, "padatious": { "intent_cache": "~/.local/share/mycroft/intent_cache", "train_delay": 4, "single_thread": false }, "Audio": { "backends": { "local": { "type": "simple", "active": true }, "vlc": { "type": "vlc", "active": true, "duck": true } }, "default-backend": "local" }, "debug": false }