Release 2.1.1a1 - #174
Open
github-actions[bot] wants to merge 28 commits into
Open
Conversation
Updates the requirements on [phoonnx](https://github.com/TigreGotico/phoonnx) to permit the latest version. - [Release notes](https://github.com/TigreGotico/phoonnx/releases) - [Changelog](https://github.com/TigreGotico/phoonnx/blob/dev/CHANGELOG.md) - [Commits](TigreGotico/phoonnx@0.5.4...1.3.3) --- updated-dependencies: - dependency-name: phoonnx dependency-version: 1.3.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Raise the upper version cap so this repo accepts the new major(s), matching the semver-major caps used across the OVOS ecosystem (bus-client <3.0.0, plugin-manager <3.0.0). Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…, STOP-1 §5.3) (#158) * feat: consume both bus namespaces for speak and stop (PIPELINE-1 §9.6, STOP-1 §5.3) ovos-audio is a subscriber, so it listens on BOTH namespaces (only one is ever emitted): ovos.utterance.speak beside speak (§9.6), and ovos.stop beside mycroft.stop / mycroft.audio.service.stop for TTS and media playback (§5.3). Adds dual-namespace end2end tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: document spec/legacy bus topics (OVOS-PIPELINE-1 §9.6, OVOS-STOP-1 §5.3) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat!: migrate audio output to OVOS spec bus namespace Consume and emit on the ovos.* spec topics via SpecMessage instead of the legacy mycroft/recognizer_loop names (PIPELINE-1 §9.6): - speak -> SpecMessage.SPEAK (ovos.utterance.speak) - recognizer_loop:audio_output_start -> SpecMessage.AUDIO_OUTPUT_STARTED - recognizer_loop:audio_output_end -> SpecMessage.AUDIO_OUTPUT_ENDED - mycroft.mic.listen -> SpecMessage.MIC_LISTEN ovos-audio now subscribes to speak on a SINGLE namespace (SpecMessage.SPEAK); the bus client's modernize flag bridges legacy 'speak' emitters onto the spec topic, so the previous dual-listen + dedup is no longer needed. handle_speak reads its payload defensively. The stop handshake (mycroft.stop / ovos.stop / mycroft.audio.speech.stop), ovos.utterance.handled, and mycroft.audio.service.* are intentionally left unchanged. Depends on ovos-bus-client>=2.2.0a1 and ovos-spec-tools>=0.9.0a1 (stacked, unpublished); CI stays red until those release. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: bump ovos-plugin-manager floor to 2.5.0a1 for bus-client 2.x; require py>=3.10 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…source pyproject (#167) * fix: replace deprecated audio-plugin backends with media plugins; single-source pyproject The ovos-audio-plugin-* local backends are deprecated; the ovos-media-plugin-* plugins supersede them with compatible endpoints: - ovos_audio_plugin_simple -> ovos-media-plugin-simple (test + extras) - ovos-audio-plugin-mpv -> ovos-media-plugin-vlc (local playback; published + bus-client-2.x clean. ovos-media-plugin-mpv is the direct successor but is not yet on PyPI) Also drop the archived ovos-tts-plugin-piper (phoonnx already provides offline TTS), floor ovos_plugin_common_play[extractors]>=1.3.3a1 (first release allowing ovos-bus-client 2.x), and delete the vestigial requirements/*.txt (duplicated the pyproject [project] dependencies; dynamic sets version only). * fix: use ovos-media-plugin-mpv (not vlc) as the default local-playback backend ovos-media-plugin-mpv is now on PyPI (workflows modernized) and is the policy-clean local backend: it drives mpv over subprocess JSON-IPC, no (L)GPL linkage. VLC is an explicit exception to the permissive-by-default policy — python-vlc links libvlc ((L)GPL) — so ovos-media-plugin-vlc is NOT bundled; users opt in explicitly.
…ses (#169) * fix: floor media-plugin chromecast/spotify to bus-client-2.x prereleases Stable ovos-media-plugin-chromecast (0.1.2) and -spotify (0.2.7) cap ovos-plugin-manager<2.0, so a consumer of ovos-audio[extras] backtracks onto them and dies. Floor at the cap-free prereleases (chromecast>=0.1.4a8, spotify>=0.2.8a5) per prerelease-floor-pin. * fix: floor tts-plugin-server + dialog-normalizer to opm-2.x prereleases Stable ovos-tts-plugin-server (0.0.4) and ovos-dialog-normalizer-plugin cap ovos-plugin-manager<2.0; floor at the cap-free prereleases (server>=0.0.6a1, dialog-normalizer>=0.0.3a1).
* feat: adopt AUDIO-1 spec output topics (dual-namespace) Subscribe to the OVOS-AUDIO-1 spec-named topics additively, alongside the legacy mycroft.*/speak:* names, so both namespaces drive the same handlers: - ovos.utterance.speak.b64 (SpecMessage.SPEAK_B64, §3.4) + legacy speak:b64_audio - ovos.audio.queue (SpecMessage.AUDIO_QUEUE, §4.1) + legacy mycroft.audio.queue - ovos.audio.play_sound (SpecMessage.AUDIO_PLAY_SOUND, §4.2) + legacy mycroft.audio.play_sound - ovos.audio.is_speaking (SpecMessage.AUDIO_IS_SPEAKING, §5.3) + legacy mycroft.audio.speak.status - ovos.audio.stop (SpecMessage.AUDIO_STOP, §6) + legacy mycroft.audio.speech.stop The b64 handler now also emits ovos.audio.speech (SpecMessage.AUDIO_SPEECH, §3.4/§4.3) with the synthesised audio and ovos.mic.listen on listen=True, in addition to the legacy correlated .response. The speaking-status handler replies on ovos.audio.is_speaking and guards against answering its own reply (shared query/reply topic name). The universal ovos.stop broadcast stays wired (§6). Floor-pin ovos-spec-tools>=0.16.1a2 (first release carrying the six new SpecMessage members). Tests drive the service over a FakeBus and assert each of the six topics works under BOTH the legacy and the spec name. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: don't hand-emit the legacy b64 reply — the bus client mirrors it handle_b64_audio emitted both ovos.audio.speech (AUDIO_SPEECH) AND the legacy speak:b64_audio.response (via message.response). The bus client's emit_legacy flag already mirrors ovos.audio.speech onto speak:b64_audio.response (ovos-spec-tools MIGRATION_MAP), so the legacy reply went on the wire twice. Emit the spec topic only and let the migration bridge legacy. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: bump bus-client + spec-tools floors for AUDIO-1 dual-namespace handle_b64_audio relies on the bus-client emit_legacy migration and the AUDIO MIGRATION_MAP entries (added to ovos-spec-tools in the 0.17.x line, PR#55). Pin prerelease floors that guarantee the dual-namespace behavior is present, resolved by pip without --pre: ovos_bus_client >=2.2.0a1 -> >=2.5.1a1,<3.0.0 ovos-spec-tools >=0.16.1a2 -> >=0.17.3a1,<1.0.0 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * test: ovoscope e2e for b64 synthesised-audio dual-namespace delivery OVOS-AUDIO-1 §3.4/§4.3: handle_b64_audio now emits the synthesised audio on the spec topic ovos.audio.speech only; the bus client mirrors it onto the legacy speak:b64_audio.response (ovos-spec-tools MIGRATION_MAP). Add an additive ovoscope end-to-end test booting a real PlaybackService over a real bus with an offline MockTTS, driving both the legacy (speak:b64_audio) and the spec (ovos.utterance.speak.b64) input topics, and asserting the reply reaches a subscriber on BOTH ovos.audio.speech and speak:b64_audio.response with the expected b64 payload. Also covers listen=True re-opening the mic via ovos.mic.listen. Floor the ovoscope test dep to >=1.0.1a1 (first line whose transitive ovos-core no longer caps ovos-bus-client<2.0.0) and wire the gh-automations ovoscope.yml end-to-end workflow. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * test: bump ovoscope floor to >=1.0.2a1 for the MockTTS shutdown fix ovoscope 1.0.2a1 ships the MockTTS.__del__ no-op fix (OpenVoiceOS/ovoscope#100): a garbage-collected mock from an earlier PlaybackServiceHarness no longer stops the shared TTS.playback thread owned by a later harness, which had been flaking the test/end2end/ suite (TimeoutError on the 2nd+ speak). Floor-pinned (>=) so pip resolves the prerelease with no --pre. Full test/end2end/ now green (57/57). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
spec-tools crossed to 1.x; bus-client 2.6.0a1 and the rest of the stack now require ovos-spec-tools>=1.1.0a1. Drop the <1.0.0 cap (keep the floor) so the stack resolves. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Human review requested!