# Look how Open Voice OS is running on a 2017 Lenovo X270 laptop 💻

**URL:** https://community.openconversational.ai/t/look-how-open-voice-os-is-running-on-a-2017-lenovo-x270-laptop/16379
**Category:** OpenVoiceOS's Voice AI Platform
**Tags:** laptop, hardware, ovos
**Created:** [October 18, 2024, 9:02pm UTC](https://community.openconversational.ai/t/look-how-open-voice-os-is-running-on-a-2017-lenovo-x270-laptop/16379 "2024-10-18T21:02:15Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![goldyfruit](https://community.openconversational.ai/user_avatar/community.openconversational.ai/goldyfruit/32/2741_2.png) [@goldyfruit](https://community.openconversational.ai/u/goldyfruit)
#### Post date: [October 19, 2024, 1:02pm UTC](https://community.openconversational.ai/t/look-how-open-voice-os-is-running-on-a-2017-lenovo-x270-laptop/16379/2 "2024-10-19T13:02:10Z")

</div>

_More information about this video._

Skills used:

- [GitHub - OpenVoiceOS/skill-ovos-date-time: Mycroft AI official Date and Time Skill, providing the current time, date and day of week for cities around the world.](https://github.com/OpenVoiceOS/skill-ovos-date-time)
- [GitHub - OpenVoiceOS/skill-ovos-personal: OpenVoiceOS official Personality Skill - answers basic personality questions around OVOS](https://github.com/OpenVoiceOS/skill-ovos-personal)
- [GitHub - OpenVoiceOS/ovos-skill-ddg: duck duck go skill](https://github.com/OpenVoiceOS/ovos-skill-ddg)
- [GitHub - OpenVoiceOS/ovos-skill-wolfie: wolfram alpha spoken answers skill](https://github.com/OpenVoiceOS/ovos-skill-wolfie)
- [GitHub - OpenVoiceOS/ovos-skill-pyradios: Pyradios skill for OpenVoiceOS](https://github.com/OpenVoiceOS/ovos-skill-pyradios)
- [GitHub - OpenVoiceOS/ovos-skill-wordnet: wordnet skill](https://github.com/OpenVoiceOS/ovos-skill-wordnet)
- [GitHub - OpenVoiceOS/skill-ovos-fallback-chatgpt](https://github.com/OpenVoiceOS/skill-ovos-fallback-chatgpt)
- [GitHub - OpenVoiceOS/ovos-skill-icanhazdadjokes: i can haz dad joke skill](https://github.com/OpenVoiceOS/ovos-skill-icanhazdadjokes)

The fallback ChatGPT skill interacts with a local AI as demonstrated in [this video](https://community.openconversational.ai/t/open-voice-os-running-on-a-mark-ii-with-its-local-ai-running-mistral/14572).

Here is the `fastfetch` for the laptop specs _(hardware and software)_.

 ![image](https://community.openconversational.ai/uploads/default/original/2X/a/a199008567f316a66153d73cd6947412b9dbecb7.jpeg)

Below is the Waybar module I wrote which interacts with Open Voice OS bus.

```auto
#!/bin/env bash
#
# This module listens to the Open Voice OS message bus and display
# a JSON object based on the message type. This JSON object has to
# be compatible with the expected output by Waybar.
# websocat and jq must be installed before running the script.
#
# Documentation: https://openvoiceos.github.io/message_spec/

# Variables
sleep_utterance=1
sleep_speak=3
main_unicode="✨"
websocket_url="ws://127.0.0.1:8181"

# Kill websocat if already running
if pgrep websocat &>/dev/null; then
    killall websocat
fi

# Initial printed message
printf '{"text": "%s Open Voice OS"}\n' "$main_unicode"

# Connection to the bus via websocat
websocat -t - -U autoreconnect:"$websocket_url" | while read -r line; do
    # JSON parsing
    message_type="$(echo "$line" | jq -r .type)"
    message_utterance="$(echo "$line" | jq -r '. | select(.type=="'"$message_type"'") | .data.utterance')"
    message_utterances="$(echo "$line" | jq -r '. | select(.type=="'"$message_type"'") | .data.utterances[0]')"

    # Check for specific messages
    case "$message_type" in
    recognizer_loop:wakeword)
        printf '{"text": "%s Open Voice OS", "class": "listen"}\n' "$main_unicode"
        ;;
    recognizer_loop:record_end)
        printf '{"text": "%s Open Voice OS"}\n' "$main_unicode"
        ;;
    recognizer_loop:utterance)
        printf '{"text": "⭐ %s"}\n' "${message_utterances^}"
        sleep "$sleep_utterance"
        ;;
    speak)
        printf '{"text": "💫 %s"}\n' "${message_utterance^}"
        sleep "$sleep_speak"
        ;;
    recognizer_loop:audio_output_end)
        printf '{"text": "%s Open Voice OS"}\n' "$main_unicode"
        ;;
    esac
done

```

---

_[View the full topic](https://community.openconversational.ai/t/look-how-open-voice-os-is-running-on-a-2017-lenovo-x270-laptop/16379)._
