Skip to content

Releases: TechnikWeber/EtherDigits

v0.7.1

v0.7.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Oct 13:41

EtherDigits 0.7.1 fixes Kerstin's German pronunciation and stale voice clips in schedule previews.

Fixed

  • Rebuilt all Kerstin clips with sentence context. The previous isolated-word generation collapsed phoneme durations and produced unintelligible digits. Words are now extracted using the model's phoneme boundaries; the surrounding sentence is not included in the clips.
  • Saved schedule previews and transmissions load the current voice pack for each render. A running station no longer keeps old recordings indefinitely under language aliases such as de or voice IDs such as de-kerstin.
  • Voice-pack generation rejects invalid alignments and collapsed durations, and records the model checksum and generation settings for reproducibility.

Upgrade

  • Stop the running station and replace the application with this version, keeping your existing data folder. No additional database migration is needed for this patch.
  • Reload the browser and click Listen / Probe anhören again. Audio already loaded in a player remains the old recording until a new preview is generated.
  • Piper and the alignment tools are only needed to rebuild voice packs. The downloads contain the corrected WAV files and need no additional speech model or internet connection for playback.

Validation

  • 178 automated tests passed locally, including replacement of a same-sized WAV after warming saved previews under both a language alias and a voice ID.
  • The actual saved-schedule API response and browser player audio were compared byte for byte with a fresh render from the corrected Kerstin pack.
  • Independent local speech recognition recovered all ten digits and six announcement words in the corrected reference sequence. Recognition is an additional check, not a guarantee of perfect intelligibility in every listening condition.
  • The release workflow tests and smoke-tests the packaged program on Windows x64, macOS ARM64, Linux x64 and Linux ARM64.

This remains a pre-release. Physical radio output has not yet been tested with hardware. The license is unchanged; see LICENSE and NOTICE.md.

Downloads

File For
etherdigits-windows-x64.zip Windows 10/11
etherdigits-macos-arm64.zip macOS on Apple silicon
etherdigits-linux-x64.zip Linux PCs (glibc 2.35+, PortAudio needed for sound card output)
etherdigits-linux-arm64.zip Raspberry Pi OS 64-bit and other ARM64 Linux

Unzip and start etherdigits (etherdigits.exe on Windows). The packaged programs are unsigned.

v0.7.0

v0.7.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 14:03

EtherDigits 0.7.0 adds agents with their own listening schedules and fixes three delivery problems found during review.

New

  • Agents tab: create, rename and delete recipients. Each agent can have several schedules with their own fixed times or windows, weekdays, time zone, transmission interval, voice, callsign, radio frequency and mode.
  • Messages: select one or several agents. Each recipient gets an independent queue entry and transmission count. A message for one agent never goes out on another agent's schedule.
  • Example: Agent A receives every 15 minutes from 13:00–14:00, Agent B every 30 minutes from 18:00–19:00. Both windows can use Europe/Berlin or another time zone.
  • API: agent_id or agent_ids on message submission, and authenticated /api/agents management. Existing single-message API responses remain compatible.
  • Warnings for identical schedule start times in the next eight days, shown under Agents and Schedules.

Fixed

  • Message IDs are never reused after deletion. Deleting an agent and their message during a running transmission can no longer cause a new, unsent message to be marked as sent or burned. Late completion also preserves cancelled and expired states.
  • At identical slots, real messages take precedence over filler; equally ready schedules take turns according to the last successful transmission, including after restart. A second agent no longer loses every shared slot to the first agent's filler.
  • Invalid transmission counts, priorities, recipient selections and dates are rejected before encryption consumes a pad page. Encrypted groups are validated before the updated pad is saved.
  • Schedule forms accept the default 0.18-second digit pause and freely chosen fractional frequencies.
  • Planning ahead no longer expires other messages before their actual deadline.

Upgrade and operation

  • Existing databases are upgraded automatically, preserving schedules, message IDs and queue contents. Back up the data folder before upgrading; stop older station processes before starting this version.
  • One transmitter still handles only one schedule at a time. A conflicting slot is logged as busy and its messages remain queued. Use separate start times with enough space for each transmission; the warning detects equal starts, not duration overlaps.
  • Identical encrypted groups require the matching pad at every recipient. For separate pads, encrypt and submit separately for each agent.
  • Frequency changes require CAT enabled under Settings.
  • This remains a pre-release. Real-radio output has not yet been tested with physical hardware.

Validation

  • 173 automated tests pass locally. Browser checks cover the complete agent/message flow, conflict warnings, German/English text and mobile layout.
  • Regression tests cover delivery during deletion, database migration, slot fairness across restart, conflict detection, per-agent routing, atomic multi-recipient submission and pad preservation after invalid inputs.
  • The release workflow runs the test suite and JavaScript syntax check on every target platform before packaging.

Downloads

File For
etherdigits-windows-x64.zip Windows 10/11
etherdigits-macos-arm64.zip macOS on Apple silicon
etherdigits-linux-x64.zip Linux PCs (glibc 2.35+, PortAudio needed for sound card output)
etherdigits-linux-arm64.zip Raspberry Pi OS 64-bit and other ARM64 Linux

Unzip and start etherdigits (etherdigits.exe on Windows). The packaged programs are unsigned. The license remains MIT with the additional restriction of no military use; see LICENSE and NOTICE.md.

v0.6.0

v0.6.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 13:15

License change: from this version on, EtherDigits is licensed under the MIT License with an additional restriction: no military use, including armed forces and intelligence services. See LICENSE and NOTICE.md. Version 0.5.0 and older stay under the plain MIT License.

New

  • Check group: new pads add one group to every message, so the receiver sees whether the message was copied correctly. It can be checked with pencil and paper too. Pads from 0.5 keep working as before.
  • Schedules: "every N minutes" can run inside a daily window (e.g. 18:00 to 19:00, also past midnight), and every schedule can use a time zone such as Europe/Berlin, which follows daylight saving time.
  • The station's web interface offers the pad tool as a download (Messages tab).
  • Quick start guide: docs/quickstart.md.
  • Windows: time zone data comes with the program (tzdata).

Downloads

File For
etherdigits-windows-x64.zip Windows 10/11
etherdigits-macos-arm64.zip macOS on Apple silicon
etherdigits-linux-x64.zip Linux on PCs (glibc 2.35+, needs libportaudio2 for the sound card)
etherdigits-linux-arm64.zip Raspberry Pi OS 64-bit and other ARM64 Linux

Unzip and start etherdigits (Windows: etherdigits.exe); it opens the web interface. The files are not signed: Windows SmartScreen ("More info" → "Run anyway") and macOS Gatekeeper (right-click → Open) ask once.

The radio output has still not been tried with a real radio. Encrypted or obscured content is not allowed on amateur radio bands.

v0.5.0

v0.5.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 10:58

First public pre-release. Everything in the plan is built; the radio output has not been tried with a real radio yet.

Station

  • Transmissions in the classic numbers station format: interval signal, callsign, group count, message, repeat, end, optional Morse identification
  • Three free voices: Kerstin and Thorsten (German), LJ (English); add your own recordings
  • Schedules in UTC (fixed times on weekdays, or every N minutes), queue with priority, expiry and number of transmissions, filler of random groups when nothing is waiting
  • Web interface in English and German: overview with live level meter, messages, schedules, log with transcripts and recordings, listening practice, settings
  • Submit API with tokens that can do nothing but hand in messages

One-time pad

  • pad_tool.html: offline browser tool for pads, encryption, decryption and printing, refuses to use a page twice
  • The same in Python and on the command line, checked against the browser tool digit for digit

Radio and stream

  • Sound card output, monitor on the station computer (off by default), PTT via VOX, serial RTS/DTR, CAT (Hamlib rigctld) or a Raspberry Pi GPIO pin
  • Frequency and mode per schedule, transmit time limit, emergency stop, test tone
  • Icecast internet stream around the clock

Unattended

  • Installers for Linux/macOS and Windows, background service with restart, clock check against a time server, /api/health, password with optional two-factor login

Downloads

File For
etherdigits-windows-x64.zip Windows 10/11
etherdigits-macos-arm64.zip macOS on Apple silicon
etherdigits-linux-x64.zip Linux on PCs (glibc 2.35+, needs libportaudio2 for the sound card)
etherdigits-linux-arm64.zip Raspberry Pi OS 64-bit and other ARM64 Linux

Unzip and start etherdigits (Windows: etherdigits.exe); it opens the web interface. The files are not signed: Windows SmartScreen ("More info" → "Run anyway") and macOS Gatekeeper (right-click → Open) ask once.

Encrypted or obscured content is not allowed on amateur radio bands. Use the internet stream, a dummy load, local playback, or a service licensed for it.