From 4a781d61e683677f750c0630c63ab0e383e6d6df Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Thu, 8 Feb 2024 11:09:06 -0800 Subject: [PATCH] Initial implementation with NeonVoiceClient (#1) * Initial implementation with NeonVoiceClient * Fix typo in setup.py Update license tests * Update dependencies Add public IP to network_info * Add watchdog thread to catch service exceptions * Fix error hook to raise numeric exception for SystemD * Refactor to try and handle exceptions in service thread * Fix logical error in watchdog checks * Testing fix in neon-utils * Add cli entrypoint for pipx installation support * Refactor CLI entrypoint to use Click for future expandability * Update dependencies to test sounddevice plugin * Fix typo in requirements * Add default configuration Read device_description from config * Add method docstrings Add missing `requests` dependency * Remove CLI entrypoint and related dependencies to reduce package size Update bundled configuration Remove configured sound resource file paths and use bundled resources --------- Co-authored-by: Daniel McKnight --- .github/workflows/license_tests.yml | 12 + .github/workflows/propose_release.yml | 28 +++ .github/workflows/publish_release.yml | 24 ++ .github/workflows/publish_test_build.yml | 21 ++ .github/workflows/unit_tests.yml | 10 + LICENSE.md | 21 ++ README.md | 9 + neon_nodes/__init__.py | 25 ++ neon_nodes/configuration/system.yaml | 41 ++++ neon_nodes/res/error.wav | Bin 0 -> 189942 bytes neon_nodes/res/start_listening.wav | Bin 0 -> 67090 bytes neon_nodes/version.py | 29 +++ neon_nodes/voice_client.py | 277 +++++++++++++++++++++++ requirements/voice_client.txt | 10 + setup.py | 83 +++++++ 15 files changed, 590 insertions(+) create mode 100644 .github/workflows/license_tests.yml create mode 100644 .github/workflows/propose_release.yml create mode 100644 .github/workflows/publish_release.yml create mode 100644 .github/workflows/publish_test_build.yml create mode 100644 .github/workflows/unit_tests.yml create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 neon_nodes/__init__.py create mode 100644 neon_nodes/configuration/system.yaml create mode 100644 neon_nodes/res/error.wav create mode 100644 neon_nodes/res/start_listening.wav create mode 100644 neon_nodes/version.py create mode 100644 neon_nodes/voice_client.py create mode 100644 requirements/voice_client.txt create mode 100644 setup.py diff --git a/.github/workflows/license_tests.yml b/.github/workflows/license_tests.yml new file mode 100644 index 0000000..fb193b4 --- /dev/null +++ b/.github/workflows/license_tests.yml @@ -0,0 +1,12 @@ +name: Run License Tests +on: + push: + workflow_dispatch: + pull_request: + branches: + - master +jobs: + license_tests: + uses: neongeckocom/.github/.github/workflows/license_tests.yml@master + with: + packages-exclude: '^(neon-nodes|dnspython).*' diff --git a/.github/workflows/propose_release.yml b/.github/workflows/propose_release.yml new file mode 100644 index 0000000..e10b4f0 --- /dev/null +++ b/.github/workflows/propose_release.yml @@ -0,0 +1,28 @@ +name: Propose Stable Release +on: + workflow_dispatch: + inputs: + release_type: + type: choice + description: Release Type + options: + - patch + - minor + - major +jobs: + update_version: + uses: neongeckocom/.github/.github/workflows/propose_semver_release.yml@master + with: + branch: dev + release_type: ${{ inputs.release_type }} + update_changelog: True + version_file: "neon_nodes/version.py" + pull_changes: + uses: neongeckocom/.github/.github/workflows/pull_master.yml@master + needs: update_version + with: + pr_reviewer: neonreviewers + pr_assignee: ${{ github.actor }} + pr_draft: false + pr_title: ${{ needs.update_version.outputs.version }} + pr_body: ${{ needs.update_version.outputs.changelog }} \ No newline at end of file diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml new file mode 100644 index 0000000..2cd2be9 --- /dev/null +++ b/.github/workflows/publish_release.yml @@ -0,0 +1,24 @@ +# This workflow will generate a release distribution and upload it to PyPI + +name: Publish Build and GitHub Release +on: + push: + branches: + - master + +jobs: + tag_release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Get Version + run: | + VERSION=$(python setup.py --version) + echo "VERSION=${VERSION}" >> $GITHUB_ENV + - uses: ncipollo/release-action@v1 + with: + token: ${{secrets.GITHUB_TOKEN}} + tag: ${{env.VERSION}} + build_and_publish_docker: + uses: neongeckocom/.github/.github/workflows/publish_docker.yml@master + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/publish_test_build.yml b/.github/workflows/publish_test_build.yml new file mode 100644 index 0000000..a48881c --- /dev/null +++ b/.github/workflows/publish_test_build.yml @@ -0,0 +1,21 @@ +# This workflow will generate a distribution and upload it to PyPI + +name: Publish Alpha Build +on: + push: + branches: + - dev + paths-ignore: + - 'neon_nodes/version.py' + +jobs: + publish_alpha_release: + uses: neongeckocom/.github/.github/workflows/publish_alpha_release.yml@master + secrets: inherit + with: + version_file: "neon_nodes/version.py" + publish_prerelease: true + build_and_publish_docker: + needs: publish_alpha_release + uses: neongeckocom/.github/.github/workflows/publish_docker.yml@master + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml new file mode 100644 index 0000000..2ffca45 --- /dev/null +++ b/.github/workflows/unit_tests.yml @@ -0,0 +1,10 @@ +name: Run Unit Tests +on: + pull_request: + workflow_dispatch: + +jobs: + py_build_tests: + uses: neongeckocom/.github/.github/workflows/python_build_tests.yml@master + with: + python_version: "3.9" diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..307a15b --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +# NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System +# All trademark and other rights reserved by their respective owners +# Copyright 2008-2021 Neongecko.com Inc. +# BSD-3 + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the +following conditions are met: +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following +disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following +disclaimer in the documentation and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products +derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..de32b82 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Neon Nodes +Clients for connecting to a server running Hana. These are minimal classes that +are responsible for collecting a user's input, sending it to a remote system for +processing, and presenting a response to the user. + +## Voice Client +The voice client will start a service that listens for a wake word on the local +system, sends recorded speech to a HANA endpoint for processing, and plays back +the response. diff --git a/neon_nodes/__init__.py b/neon_nodes/__init__.py new file mode 100644 index 0000000..d782cbb --- /dev/null +++ b/neon_nodes/__init__.py @@ -0,0 +1,25 @@ +# NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System +# All trademark and other rights reserved by their respective owners +# Copyright 2008-2021 Neongecko.com Inc. +# BSD-3 +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/neon_nodes/configuration/system.yaml b/neon_nodes/configuration/system.yaml new file mode 100644 index 0000000..ee4bf1d --- /dev/null +++ b/neon_nodes/configuration/system.yaml @@ -0,0 +1,41 @@ +neon_node: + description: Neon Node +microphone: + module: ovos-microphone-plugin-alsa +listener: + wake_word: hey_mycroft + stand_up_word: "" + VAD: + silence_method: vad_only + speech_seconds: 0.1 + silence_seconds: 0.5 + before_seconds: 0.5 + min_seconds: 1 + max_current_ratio_threshold: 2 + initial_energy_threshold: 1000.0 + module: ovos-vad-plugin-silero + mute_during_output: true + instant_listen: false + enable_stt_api: false + # amount of time to wait for speech to start after WW detection + speech_begin: 0.5 + # amount of time without speech to wait before stopping listening + silence_end: 0.9 + # number of audio chunks from WW detection to include in STT audio + utterance_chunks_to_rewind: 1 + wakeword_chunks_to_save: 15 +hotwords: + hey_mycroft: + module: ovos-ww-plugin-precise-lite + model: /opt/neon/hey_mycroft.tflite + expected_duration: 3 + trigger_level: 3 + sensitivity: 0.5 + listen: true + wake_up: + enabled: false + wake_up_vosk: + enabled: false +logs: + path: stdout + level: DEBUG \ No newline at end of file diff --git a/neon_nodes/res/error.wav b/neon_nodes/res/error.wav new file mode 100644 index 0000000000000000000000000000000000000000..758435e763cb21211fe8a45ca99abbb6bb18699e GIT binary patch literal 189942 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 literal 0 HcmV?d00001 diff --git a/neon_nodes/res/start_listening.wav b/neon_nodes/res/start_listening.wav new file mode 100644 index 0000000000000000000000000000000000000000..c3202189162c402152ea2e3ddc6184e8f4c9c871 GIT binary patch literal 67090 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%0AZDfaoFE^R3&MWr4d?%qG7OaT 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 vYKK${sS^ AudioSegment: + """ + Get an AudioSegment representation of the configured listening sound + """ + if not self._listening_sound: + res_file = Configuration().get('sounds').get('start_listening') + if not isfile(res_file): + res_file = join(dirname(__file__), "res", "start_listening.wav") + self._listening_sound = AudioSegment.from_file(res_file, + format="wav") + return self._listening_sound + + @property + def error_sound(self) -> AudioSegment: + """ + Get an AudioSegment representation of the configured error sound + """ + if not self._error_sound: + res_file = Configuration().get('sounds').get('error') + if not isfile(res_file): + res_file = join(dirname(__file__), "res", "error.wav") + self._error_sound = AudioSegment.from_file(res_file, format="wav") + return self._error_sound + + @property + def network_info(self) -> dict: + """ + Get networking information about this client, including IP addresses and + MAC address. + """ + if not self._network_info: + self._network_info = get_adapter_info() + public_ip = requests.get('https://api.ipify.org').text + self._network_info["public"] = public_ip + LOG.debug(f"Resolved network info: {self._network_info}") + return self._network_info + + @property + def node_data(self): + """ + Get information about this node from configuration and networking status + """ + if not self._node_data: + self._node_data = {"device_description": self._node_data.get( + 'description', 'node voice client'), + "networking": { + "local_ip": self.network_info.get('ipv4'), + "public_ip": self.network_info.get('public'), + "mac_address": self.network_info.get('mac')} + } + LOG.info(f"Resolved node_data: {self._node_data}") + return self._node_data + + @property + def user_profile(self) -> dict: + """ + Get a user profile from local disk + """ + return get_default_user_config() + + def run(self): + """ + Start the voice thread as a daemon and return + """ + try: + self._voice_thread = Thread(target=self._voice_loop.run, + daemon=True) + self._voice_thread.start() + except Exception as e: + self.error_hook(repr(e)) + raise e + + def watchdog(self): + """ + Runs in a loop to make sure the voice loop is running. If the loop is + unexpectedly stopped, raise an exception to kill this process. + """ + try: + while not self._watchdog_event.wait(30): + if not self._voice_thread.is_alive(): + self.error_hook("11") + raise RuntimeError("Voice Thread not alive") + if not self._voice_loop._is_running: + self.error_hook("12") + raise RuntimeError("Voice Loop not running") + except KeyboardInterrupt: + self.shutdown() + + def on_stt_audio(self, audio_bytes: bytes, context: dict): + """ + Callback when there is a recorded STT segment. + @param audio_bytes: bytes of recorded audio + @param context: dict context associated with recorded audio + """ + LOG.debug(f"Got {len(audio_bytes)} bytes of audio") + wav_data = AudioData(audio_bytes, self._mic.sample_rate, + self._mic.sample_width).get_wav_data() + try: + self.get_audio_response(wav_data) + except ServerException as e: + LOG.error(e) + play(self.error_sound) + + def on_hotword_audio(self, audio: bytes, context: dict): + """ + Callback when a hotword is detected. + @param audio: bytes of detected hotword audio + @param context: dict context associated with recorded hotword + """ + payload = context + msg_type = "recognizer_loop:wakeword" + play(self.listening_sound) + LOG.info(f"Emitting hotword event: {msg_type}") + # emit ww event + self.bus.emit(Message(msg_type, payload, context)) + # TODO: Optionally save/upload hotword audio + + def get_audio_response(self, audio: bytes): + """ + Handle recorded audio input and get/speak a response. + @param audio: bytes of STT audio + """ + audio_data = b64encode(audio).decode("utf-8") + transcript = request_backend("neon/get_stt", + {"encoded_audio": audio_data, + "lang_code": self.lang}) + transcribed = transcript['transcripts'][0] + LOG.info(transcribed) + response = request_backend("neon/get_response", + {"lang_code": self.lang, + "user_profile": self.user_profile, + "node_data": self.node_data, + "utterance": transcribed}) + answer = response['answer'] + LOG.info(answer) + audio = request_backend("neon/get_tts", {"lang_code": self.lang, + "to_speak": answer}) + audio_bytes = b64decode(audio['encoded_audio']) + play(AudioSegment.from_file(io.BytesIO(audio_bytes), format="wav")) + LOG.info(f"Playback completed") + + def shutdown(self): + """ + Cleanly stop all threads and shutdown this service + """ + self.stopping_hook() + self._watchdog_event.set() + self._voice_loop.stop() + self._voice_thread.join(30) + + +def main(*args, **kwargs): + client = NeonVoiceClient(*args, **kwargs) + client.watchdog() + + +if __name__ == "__main__": + # environ.setdefault("OVOS_CONFIG_BASE_FOLDER", "neon") + # environ.setdefault("OVOS_CONFIG_FILENAME", "diana.yaml") + main() diff --git a/requirements/voice_client.txt b/requirements/voice_client.txt new file mode 100644 index 0000000..8d3dccb --- /dev/null +++ b/requirements/voice_client.txt @@ -0,0 +1,10 @@ +neon-utils[network]~=1.8,>=1.8.3a4 +ovos-dinkum-listener~=0.0.2,>=0.0.3a27 +ovos-vad-plugin-silero~=0.0.1 +ovos-microphone-plugin-alsa~=0.0.0 +# ovos-microphone-plugin-sounddevice Not working on Mark2 where alsa is +ovos-ww-plugin-precise-lite[tflite]~=0.1 +pydub~=0.25 +SpeechRecognition~=3.10 +sdnotify~=0.3 +requests~=2.28 \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..9f295fc --- /dev/null +++ b/setup.py @@ -0,0 +1,83 @@ +# NEON AI (TM) SOFTWARE, Software Development Kit & Application Framework +# All trademark and other rights reserved by their respective owners +# Copyright 2008-2022 Neongecko.com Inc. +# Contributors: Daniel McKnight, Guy Daniels, Elon Gasper, Richard Leeds, +# Regina Bloomstine, Casimiro Ferreira, Andrii Pernatii, Kirill Hrymailo +# BSD-3 License +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +from setuptools import setup, find_packages +from os import getenv, path + +BASE_PATH = path.abspath(path.dirname(__file__)) + + +def get_requirements(requirements_filename: str): + requirements_file = path.join(BASE_PATH, "requirements", requirements_filename) + with open(requirements_file, 'r', encoding='utf-8') as r: + requirements = r.readlines() + requirements = [r.strip() for r in requirements if r.strip() and not r.strip().startswith("#")] + + for i in range(0, len(requirements)): + r = requirements[i] + if "@" in r: + parts = [p.lower() if p.strip().startswith("git+http") else p for p in r.split('@')] + r = "@".join(parts) + if getenv("GITHUB_TOKEN"): + if "github.com" in r: + requirements[i] = r.replace("github.com", f"{getenv('GITHUB_TOKEN')}@github.com") + return requirements + + +with open(path.join(BASE_PATH, "README.md"), "r") as f: + long_description = f.read() + +with open(path.join(BASE_PATH, "neon_nodes", + "version.py"), "r", encoding="utf-8") as v: + for line in v.readlines(): + if line.startswith("__version__"): + if '"' in line: + version = line.split('"')[1] + else: + version = line.split("'")[1] + + +setup( + name='neon-nodes', + version=version, + description='Neon node clients for Hana', + long_description=long_description, + long_description_content_type="text/markdown", + url='https://github.com/NeonGeckoCom/neon-nodes', + author='NeonGecko', + author_email='developers@neon.ai', + license='BSD-3-Clause', + packages=find_packages(), + extras_require={"voice-client": get_requirements("voice_client.txt")}, + package_data={'neon_nodes': ['res/*']}, + zip_safe=True, + classifiers=[ + 'Intended Audience :: Developers', + 'Programming Language :: Python :: 3', + ] +)