OpenVoiceOS / ovos-installer

Open Voice OS and/or HiveMind installer using Ansible with an intuitive and easy Text-based User Interface
https://www.openvoiceos.org
80 stars 22 forks source link

feat: use new autoconfigure command #157

Closed JarbasAl closed 1 month ago

JarbasAl commented 1 month ago

from https://github.com/OpenVoiceOS/ovos-config/pull/158

(.venv) [miro@miro-asustufgamingf15fx506hmfx506hm lang_configs]$ ovos-config autoconfigure --lang ca-nw --male --online
Standardized lang-code: ca-NW
Merged config: /home/miro/PycharmProjects/ovos-config/ovos_config/recommends/base/ca-es.conf
Merged config: /home/miro/PycharmProjects/ovos-config/ovos_config/recommends/online_stt/ca-es.conf
Merged config: /home/miro/PycharmProjects/ovos-config/ovos_config/recommends/online_male/ca-nw.conf
2024-09-26 00:21:50.315 - OVOS - ovos_plugin_manager.utils:find_plugins:136 - ERROR - Failed to load plugin entry point EntryPoint(name='ovos-tts-plugin-mimic', value='ovos_tts_plugin_mimic:MimicTTSPlugin', group='mycroft.plugin.tts'): No module named 'ovos_utils.configuration'
Available STT plugins:
  - 'ovos-stt-plugin-vosk'
  - 'ovos-stt-plugin-vosk-streaming'
  - 'ovos-stt-plugin-chromium'
  - 'ovos-stt-plugin-server'
  - 'ovos-stt-plugin-dummy'
Available TTS plugins:
  - 'ovos-tts-plugin-server'
  - 'ovos-tts-plugin-polly'
  - 'ovos-tts-plugin-dummy'
Config updated: /home/miro/.config/mycroft/mycroft.conf
{
  "lang": "ca-NW",
  "tts": {
    "ovos-tts-plugin-server": {
      "host": [
        "https://tts.smartgic.io/matxa",
        "https://matxa.ziggyai.online"
      ],
      "voice": "nord-occidental/pere"
    },
    "module": "ovos-tts-plugin-server",
    "fallback_module": ""
  },
  "system_unit": "metric",
  "time_format": "full",
  "date_format": "DMY",
  "stt": {
    "ovos-stt-plugin-server": {
      "url": [
        "https://stt.smartgic.io/citrinet",
        "https://citrinetstt.ziggyai.online"
      ]
    },
    "module": "ovos-stt-plugin-server",
    "fallback_module": ""
  },
  "spoken_time_format": "half",
  "temperature_unit": "celsius",
  "windspeed_unit": "km/h",
  "precipitation_unit": "mm"
}
suvanbanerjee commented 1 month ago

@JarbasAl @goldyfruit I’d love to give this a try! It’s been a while since I have not contributed to installer

If I'm correct this issue has two parts

goldyfruit commented 1 month ago

@JarbasAl @goldyfruit I’d love to give this a try! It’s been a while since I have not contributed to installer

Sure

  • Writing Ansible roles to run the autoconfigure command

This is not gonna be a new role but just a new task (maybe two).

  • Adding an option in the TUI to select the default language (I’m unsure if we should provide a selection menu with options, allow the user to input an ISO language code, or both).

There is already a TUI for selecting the language and based on the selected language, the ISO code is generated; https://github.com/OpenVoiceOS/ovos-installer/blob/main/tui/language.sh

suvanbanerjee commented 1 month ago

@goldyfruit @JarbasAl I have a couple of questions:

  1. We currently have the supported configs listed here. If a user selects English, how do we determine whether it's en-au, en-gb, or en-us? The TUI defaults to en-us since it's the default for
  2. This might be a basic question, but in which file should I write the Ansible roles finalize.yaml or inside the venv folder?
goldyfruit commented 1 month ago
  1. We currently have the supported configs listed here. If a user selects English, how do we determine whether it's en-au, en-gb, or en-us? The TUI defaults to en-us since it's the default for

We can't for now maybe in the future.

  1. This might be a basic question, but in which file should I write the Ansible roles finalize.yaml or inside the venv folder?

I would add the task to https://github.com/OpenVoiceOS/ovos-installer/blob/main/ansible/roles/ovos_installer/tasks/ovos.yml