Releases: nethesis/satellite
0.2.0
What's Changed
- chore(deps): update aquasecurity/trivy-action action to v0.34.0 [security] by @renovate[bot] in #35
- chore(deps): update actions/upload-artifact action to v7 by @renovate[bot] in #34
- chore(deps): update docker/login-action action to v4 by @renovate[bot] in #36
- chore(deps): update aquasecurity/trivy-action action to v0.34.2 by @renovate[bot] in #30
- chore(deps): update aquasecurity/trivy-action action to v0.35.0 by @renovate[bot] in #40
- chore(deps): update docker/metadata-action action to v6 by @renovate[bot] in #39
- chore(deps): update docker/build-push-action action to v7 by @renovate[bot] in #38
- chore(deps): update docker/setup-buildx-action action to v4 by @renovate[bot] in #37
- chore(deps): update dependency python to 3.14 by @renovate[bot] in #22
- feat(transcription): implement start and stop control for realtime by @tommaso-ascani in #33
New Contributors
- @tommaso-ascani made their first contribution in #33
Full Changelog: 0.1.0...0.2.0
TTS
Release 0.1.0
Highlights
This release introduces Text-to-Speech (TTS) support via Deepgram, adding two new HTTP API endpoints and significantly expanding test coverage.
New Features
-
POST /api/get_speech— Text-to-Speech endpoint that synthesizes text into MP3 audio using Deepgram TTS voices (da8a4d8, 599b6a4)- Accepts
text(orinput),model,language,sample_rate,bit_rateparameters - Automatic text chunking (≤2000 chars) via
RecursiveCharacterTextSplitterfor long inputs - MP3 chunk concatenation and volume boost (+8 dB) via ffmpeg post-processing
- Language-based model auto-selection when
modelis omitted - Uses Deepgram Python SDK (
deepgram-sdk) instead of raw HTTP calls - Returns
StreamingResponsewithaudio/mpegcontent type
- Accepts
-
GET /api/get_models— Returns available Deepgram TTS voice models, with optionallanguagefilter (22d6dc3)- Ships with 100+ built-in Aura/Aura-2 voice models (en, it, es, de, fr, nl, ja)
Bug Fixes
- Accept
audio/mpegcontent type inPOST /api/get_transcriptionfor MP3 file uploads (ae50981) - Enforce MP3-only output in TTS endpoint — reject non-MP3
encodingorcontainerparams with 400 (2151bb9) - Use Deepgram SDK for TTS instead of raw HTTP/curl, improving error handling and timeout management (599b6a4, 3483948)
Tests
- Added comprehensive
TestGetSpeechtest class with 13 new tests covering: (8663f59, 3483948)- MP3 response format and filename validation
- Text chunking and concatenation for long inputs
- Unknown parameter filtering
- Language-based model selection and explicit model precedence
- Missing text → 400, unsupported language → 400, non-MP3 encoding/container → 400
- Deepgram timeout → 504, Deepgram API error propagation
- TTS → STT roundtrip integration test (Italian, requires
DEEPGRAM_API_KEY)
- Updated existing test to use
video/avifor rejected file type instead ofaudio/mp3
Documentation
Chores
- Added AGENTS.md to .gitignore (3d36b35)
- Added
ffmpegto container image (Containerfile)
Fix memory leak whe Deepgram connection fails
Fix: Outbound caller ID resolution
When Asterisk reports the trunk instead of the endpoint as the connected number/name on outbound calls, Satellite now falls back to CALLERIDNUMINTERNAL and CALLERIDNAMEINTERNAL.
If present, these values are used to correctly update the caller details.
NethServer/dev#7795
API Authentication
0.0.7 feature(db): Add deleted_at db field (#26)
Transcription API persistence
The get_transcription API now allow to persist transcriptions in a pgsql database
0.0.5
Full Changelog: 0.0.4...0.0.5
0.0.4
What's Changed
- fix: concurrent call handling and dynamic speaker mapping by @edospadoni in #6
New Contributors
- @edospadoni made their first contribution in #6
Full Changelog: 0.0.2...0.0.4
Fix delay and speaker information
Merge pull request #5 from nethesis/Stell0-patch-3 fix: add speaker counterpart information to transcription