Skip to content

Releases: tgeczy/ssi263-speech

ssi263-speech 0.9.1: contractions on the SmarTalk, clean letters at slow rates, and the BT Speak .deb built by the release

Choose a tag to compare

@tgeczy tgeczy released this 26 Oct 15:18

ssi263-speech 0.9.1 fixes two things listeners heard in 0.9.0: the SmarTalk now says contractions as words, and the
Speak-Out and the Sounding Board no longer start a letter with the end of the last one at slow rates. The release now
also builds the BT Speak .deb itself.

Fixes

  • The SmarTalk says contractions as words. Its own program, S_TALK.EXE, ends a word at an apostrophe and spells
    whatever is left without a vowel. So "don't" came out as "don" and the letter T, and "it's" as "it" and S. The voice
    now joins those words before the program gets them. Forms like I'm, I'll, we're, they'll and who'd are respelled
    the way the program says them right. Other apostrophes, as in "rock 'n roll", stay as they are. Thank you, Tom, for
    the report.
  • The Speak-Out and the Sounding Board no longer start a letter with the end of the last one. At slow rates,
    typing letters could play the end of one letter's last sound at the start of the next, most clearly B after A and
    G after F. Each text now finishes its own last sound before it counts as done. At slow rates a text can end up to
    about 50 ms later. Thank you, Tyler, for such a clear report.

The BT Speak and BT Braille

Steve (@sclower) made the release build the BT Speak .deb itself, pinned to that release's own emulator download, so
no one sets the pin by hand any more (#26). Nothing changes on the device. Thank you, Steve!

Apple (TestFlight)

The same two fixes, in a new TestFlight build. The app keeps its version number, 0.9.0, as these fixes are not new features but improve upon what was released a few days ago.
Join the beta: https://testflight.apple.com/join/cJYhuDUf

Where the files come from

  • Every file is built from e6cc864, the tag.
  • The Linux binaries for x86-64 and aarch64 were built by GitHub in Debian 11. aarch64 was tested with the firmware
    (the whole firmware gate) and packaged on a Raspberry Pi, and x86-64 the same way on an x86-64 Linux machine. armhf
    was built and tested on the Pi.
  • The Windows files, the Android app and the NVDA add-on were built on Windows. SSInger was built and validated
    (pluginval) by GitHub.
  • Before release: 472 of 473 checks on Windows, and every Linux check on x86-64 and aarch64. The 473rd, the Android
    engine's byte-for-byte check, ran out of time under the full round's load and passes on its own in a minute.
    Astra independently reviewed both fixes, and 0.9.0's SmarTalk bank fix.
  • The BT Speak .deb fetches its firmware from this release's aarch64 emulator download, checked by its SHA-256.
  • SHA256SUMS.txt lists every file's checksum.

Known issues

  • In NVDA, switching to a Braille Lite voice can take about two seconds. The unit itself starts in a third of a
    second, so the rest is elsewhere; we're looking into it.
  • The sustained F, TH and Z sounds are still quieter than the real chip's, and SCH and HF louder: open work.

Pinball's freeze at double speed, listed in 0.9.0, also happens on a real Braille 'n Speak 640 (#25), so it is the
device's own and not the emulator's.

Thank you

  • Tom and Tyler, for the two reports.
  • Steve (@sclower), for the BT Speak .deb (#26).
  • grnowak, for confirming the double-speed fix on a real 640, and for finding that pinball freezes there too (#25).

Made by Claude, Astra (OpenAI Codex) and Tamas.

ssi263-speech 0.9.0: the SmarTalk, a clean Mockingboard start, and long texts on the Sounding Board

Choose a tag to compare

@tgeczy tgeczy released this 25 Oct 14:59

ssi263-speech 0.9.0 brings a new voice, Automated Functions' SmarTalk, on every platform. The Mockingboard's
utterances now start clean, long texts on the Sounding Board and Speak-Out speak to the end, and double speed no
longer holds a vowel after menu speech. On the BT Speak, the Blazie menus follow the device's own.

The SmarTalk

Automated Functions' SmarTalk (1995) was a small SSI-263 speech box for the PC's parallel port. Its own DOS
text-to-speech program, S_TALK.EXE 1.21, now runs unchanged on an emulated PC, with the box emulated on the
parallel port, as a voice on every platform. Thank you to RetroBunn (@RetroBunn), who worked out the box from the
program's own code and brought it in (#24).

  • It ships with the voice. Automated Functions' own README on the SmarTalk disk says "Please feel free to share
    the new version of the SmarTalk software with anyone who needs it." So the NVDA add-on, the SAPI voices, the Linux
    package and the Android app from GitHub carry S_TALK.EXE, unmodified, under its own notice. In the Apple app
    (TestFlight) you import it: S_TALK.EXE, or a zip that holds it.
  • Its settings: rate, pitch, volume, voice inflection (off is its monotone) and number words. In NVDA, its tone
    A to Z is the variant.
  • The middle rate is the program's own starting speed, the speed people heard from a real SmarTalk. Its manual
    says the program starts at rate 5, but it really starts at the speed of its rate 3, so 50 is that speed.

Fixes

  • The Mockingboard starts each text clean. When you tabbed quickly, an utterance could start with a pop, the end
    of the last phoneme said again, or a short delay; more so on the early Mockingboard. Each text now starts from a
    silent chip, and is as long as the first one, fresh, repeated or after a cancel.
  • The Sounding Board and the Speak-Out read long texts to the end. A large block of text (past about 1000
    characters) used to lose its speech on the Sounding Board, and the voice then stayed silent until the program
    restarted. Now the whole text is spoken, and if a unit ever faults, it is restarted with the next thing said.
  • Double speed no longer freezes on a vowel (issue #25). At the end of some menu announcements, the emulated chip
    could catch the firmware's last two writes and hold a vowel until the next key. The emulator now leaves those
    alone. BASIC's tones at double speed stay as in 0.8.5, and a test fails if that changes.
  • The 640's year goes up to 2089, not 2099 as 0.8.5's notes said. Thank you for the correction (#25).
  • Every language is named in English: "Braille Lite 2000 (Spanish)", "(German)", "(Italian)" and "Braille 'n
    Speak 2000 (Slovak)", as the other languages already were. Your saved voice stays selected, on Linux too.
  • The Linux package now carries the Mockingboard voices, with their notice, as the NVDA add-on, the SAPI voices
    and the Android app already did. Before, you had to bring the files yourself on Linux.
  • The Linux emulator downloads carry the notices of the firmware they hold. Since 0.8 they had the Aicom,
    Speak-Out and Sounding Board files without them; now each file comes with its notice, the SmarTalk's and the
    Mockingboard's too.
  • The Sounding Board is listed right under the Speak-Out everywhere: NVDA's firmware list, the SAPI settings,
    the Linux voices, and the voice and firmware lists on Android and Apple. Your saved voice stays selected.

The BT Speak and BT Braille

Steve (@sclower) brought the Blazie emulator's menus in line with the device's own and with the desktop apps (#23):

  • The Blazie menu is one line in the User Menu. It lists the units your firmware can start, then More languages,
    as the desktop apps' Firmware menu does. Ctrl+C on a unit copies it to the User Menu.
  • The advance bars follow Navigation Key Setup, so left-handed, both-sides and custom layouts pan as they do
    everywhere else on the device.
  • The host menu gains the desktop apps' items: export and import files to and from a disk image, back to the
    factory state, a USB serial port, and copy files to a folder, with Linux line ends for the device's editor. It is
    grouped: the unit, its files, restarts, settings, then help and exit.

Thank you, Steve!

Apple (TestFlight)

The SmarTalk, imported from S_TALK.EXE or any zip holding it. Setup names the copy the voice needs. If you choose a
different file called S_TALK.EXE, the import says which copy works, with its size and SHA-256.
Join the beta: https://testflight.apple.com/join/cJYhuDUf

For contributors

AGENTS.md says how work is done here: a test that fails on the bug first, each with a control that must fail, a
person listening last, and no firmware taken from anyone.

Where the files come from

  • Every file is built from 0ed9519. The tag, 24c27cc, differs from it only in the Apple app's version files
    (TestFlight build 8, from the same code), in two line-end settings, and in the release scripts; the Linux emulator
    downloads were packaged with the tag's scripts, which add the firmware notices.
  • The Linux binaries for x86-64 and aarch64 were built by GitHub in Debian 11. aarch64 was tested with the firmware
    (the whole firmware gate) and packaged on a Raspberry Pi, and x86-64 the same way on an x86-64 Linux machine. armhf
    was built and tested on the Pi.
  • The Windows files, the Android app and the NVDA add-on were built on Windows. SSInger was built and validated
    (pluginval) by GitHub.
  • Before release: 470 of 470 checks on Windows, and every Linux check on x86-64 and aarch64. Astra independently
    reviewed the SmarTalk's rate change.
  • The BT Speak .deb fetches its firmware from this release's aarch64 emulator download, checked by its SHA-256.
  • SHA256SUMS.txt lists every file's checksum.

Known issues

  • In NVDA, switching to a Braille Lite voice can take about two seconds. The unit itself starts in a third of a
    second, so the rest is elsewhere; we're looking into it.
  • The sustained F, TH and Z sounds are still quieter than the real chip's, and SCH and HF louder: open work.
  • Pinball's occasional freeze at double speed on a real unit is still unexplained (#25).

Thank you

  • RetroBunn (@RetroBunn), for the SmarTalk (#24).
  • Steve (@sclower), for the BT Speak and BT Braille menus (#23).
  • grnowak, for the precise double-speed report and the year correction (#25).
  • The listener who reported the Sounding Board's long-text silence, and the testers and listeners who sent reports,
    recordings and ears.

Made by Claude, Astra (OpenAI Codex) and Tomi.

ssi263-speech 0.8.5: the Sounding Board, the Braille 'n Speak 640, double speed, and a unit screen on Android

Choose a tag to compare

@tgeczy tgeczy released this 19 Oct 09:14

ssi263-speech 0.8.5 brings GW Micro's Sounding Board as a new voice, the Braille 'n Speak 640 in the emulator (with
the first Polish Braille 'n Speak firmware we know of), the double-speed upgrade, and a unit screen on Android. The
chip model's pitch glides now follow a law measured on a real SSI-263.

The Sounding Board

GW Micro's Sounding Board speaks: its own DOS drivers, SBLOAD.COM and SB.COM 2.7, running live on an emulated PC,
as a voice on every platform. It shares the Speak-Out's rules, so it sounds close to the Speak-Out, with a character
of its own.

  • NVDA, the SAPI voices and Linux carry its drivers, as they carry the Speak-Out's firmware.
  • On Android and in the Apple app (TestFlight), you import GW Micro's sb.zip, or SBLOAD.COM and SB.COM together:
    the voice needs both.

The chip

  • Pitch glides, measured (engine 0.20). In its glide mode the chip moves its pitch at a rate we measured on
    Tomi's chip, in 426 register-program trials, and Astra confirmed independently. Most voices barely change; the
    Accent's fastest glides, two thirds of its pitch changes, are about three times faster.
  • The Accent's volume wobble is fixed (engine 0.19). The volume now follows the amplitude smoothly instead of in
    whole steps, which takes away the wobble and grainy ticking on the Accent voices: listen to a word like
    "seventeen". It was on 0.8's list of things shelved for later.
  • BASIC's click sounds every time (issue #20). It was sometimes silent or short in the emulator. Thank you to
    Jake (@BluestarJake) for the report.

No more pause after every utterance

The Braille Lite voices in 16 languages (Slovak, Hungarian, Polish, Czech, Russian, Korean and more) waited a full second after each thing they said before the next could start. NVDA's lists and dialogs felt sluggish, and choosing a synthesizer could lag two or three seconds. Those units never tell the computer they've finished, so the voice used to wait a second to be sure. Now it recognizes the moment the unit's own firmware is done, and moves on within a tenth of a second. This is on every platform: NVDA, SAPI, Linux, Android and Apple. Astra independently checked that no speech is cut short.

  • Slovak is now a language of the Braille Lite 2000 in NVDA, not a firmware of its own, so NVDA's language switching reaches it. It still uses the newer Braille 'n Speak 2000 firmware behind the scenes. If you had "Braille 'n Speak 2000" selected, you'll find the Braille Lite 2000 in Slovak.
  • Tip for English, Spanish and German: they end within 0.03 to 0.27 seconds. For the quickest response, turn on "Run the unit ahead" in the voice settings; it brings that under a tenth of a second.

The emulator

  • The Braille 'n Speak 640, on its own board with its OKI clock chip, in three releases: Blazie's June 2003
    English, and from a real 640's flash after its last repair, the September 2000 English and the Polish, the first
    Polish Braille 'n Speak firmware we have. Issue #15 got its fix thanks to grnowak's photos of his unit's board:
    they showed the OKI clock chip and the other parts that set the 640 apart, so the emulated 640 is a more faithful
    Blazie board, not a Braille 'n Speak 2000 with other firmware. He also shared his unit's firmware (#13, #15). The 640 is in the emulator downloads only, not in the phone apps, and it's not a speech
    voice: its rules and its SSI-263 are the Braille Lite's.
    • The 640 says the year as it is, up to 2099; the Braille Lite 2000's clock still stops at 2020.
  • The double-speed upgrade (issue #15): a setting, off by default, as on most real units. With it on, the unit's
    own switch (the status menu, then +, answered y) doubles its CPU. As on the real unit, BASIC's sounds then come
    out garbled; Blazie advised switching double speed off for programs that play sounds.
  • Restart the unit, in the Firmware menu: what switching a real unit off and on does, with its files kept. For a
    unit that has stopped answering.
  • One-handed mode: restart with dot 6 held to switch it on, or dot 3 held to switch it off, as on the real unit.
    Not for the Type 'n Speak. Thank you to Leo (@lprazdnik) for the idea.
  • Every unit's own letters: each language's accented letters, sent the way its unit speaks them. Hungarian's
    accented vowels, Czech's accents, and the capitals Spanish, Italian, Turkish and Portuguese used to skip.
  • The Arabic (UAE) unit speaks Arabic script, through its own code page.
  • Long numbers: past twelve digits, the units that fold a trillion into billions now read the number a digit at
    a time, in their own language.

Android

  • The Blazie Engineering unit screen: a Blazie unit running in real time, on the firmware you imported, with a
    hardware keyboard (S D F and J K L as the braille keys, the space bar, and the Type 'n Speak's own keys). It can
    load programs and files into the unit's flash, switch on in one-handed mode, and run the 640 and the other
    releases no voice speaks.
  • Export to WAV... saves what the preview says as a WAV file.
  • The import reads any zip, in whatever folders: your own archive, the NVDA add-on, the emulator's download.
    It tells each file by what is in it, never by its name, and says what it left out.

Apple (TestFlight)

The same as Android: the Sounding Board import, Export to WAV, the import from any folder of a zip, and on the
unit tab, Restart, one-handed mode and double speed. Build 5 has the end-of-speech fix too. Join the beta:
https://testflight.apple.com/join/cJYhuDUf

Also new

  • SAPI: Check for updates..., in the settings, by hand only, as the NVDA add-on's.
  • The BT Speak and BT Braille: units without a keyboard server work now, through a supervised bridge; the
    language releases come from the emulator's shared list; files import through the device's own file picker; and
    the host menu has double speed and Restart the unit. Leo (@lprazdnik) did great work on the Blazie emulator for these
    devices this round, in two pull requests (#21, #22). Thank you, Leo!
  • SSInger: the Glide knob glides, and glide mode plays the nearest pitch the chip can make. Thank you to
    spacepup for the report.

Where the files come from

  • Every file is built from ef43680. The tag, f989a31, differs from it only in the Apple app's version files (TestFlight
    build 5, from the same code).
  • The Linux binaries for x86-64 and aarch64 were built by GitHub in Debian 11. aarch64 was then tested with the
    firmware (the whole firmware gate) and packaged on a Raspberry Pi; x86-64 the same way on an x86-64 Linux machine,
    natively for the first time, so its whole firmware gate ran too. armhf was built and tested on the Pi.
  • The Windows files, the Android app and the NVDA add-on were built on Windows. SSInger was built and validated
    (pluginval) by GitHub.
  • Before release: 444 of 444 checks on Windows (three only failed under the suite's full load, and passed alone), and
    every Linux check on x86-64 and aarch64. Astra independently reviewed the end-of-speech change.
  • The BT Speak .deb fetches its firmware from this release's aarch64 emulator download, checked by its SHA-256.
  • SHA256SUMS.txt lists every file's checksum.

Known issues

  • In NVDA, switching to a Braille Lite voice can take about two seconds. The unit itself starts in a third of a
    second, so the rest is elsewhere; we're looking into it.
  • The sustained F, TH and Z sounds are still quieter than the real chip's, and SCH and HF louder: open work.

Thank you

  • grnowak, for the photos of his Braille 'n Speak 640's board, whose OKI clock chip and other parts let us build
    a faithful 640 (#15), and for its firmware, the first Polish one (#13).
  • Leo (@lprazdnik), for his great work on the Blazie emulator's BT Speak and BT Braille side in two pull requests: the
    keyboard bridge for units without a keyboard server (#22), and the shared language list and file importing
    (#21). And for the idea of one-handed mode.
  • Jake (@BluestarJake), for the click report (#20).
  • spacepup, for the SSInger glide reports.
  • The testers and listeners who sent reports, recordings and ears.

Made by Claude, Astra (OpenAI Codex) and Tomi.

ssi263-speech 0.8: one NVDA add-on, the Mockingboard, the Braille Lite in 19 languages, and a closer chip

Choose a tag to compare

@tgeczy tgeczy released this 13 Oct 02:40

ssi263-speech 0.8 is the biggest release yet. Every unit is now in one NVDA add-on. The Apple II's Mockingboard
speaks, in two versions. The Braille Lite 2000 has 17 new voices in 15 more languages. The chip model itself sounds closer to
the real SSI-263: fuller vowels, grittier fricatives, and clean BASIC tones.

The Braille Lite 2000 in 19 languages

The Braille Lite 2000 now speaks Arabic (and the UAE's Arabic), Brazilian and European Portuguese, Croatian, Czech,
Danish, French, Greek, Hebrew, Hungarian, Korean, Norwegian, Polish, Russian, Swedish and Turkish. Before, it spoke
English and Spanish; 0.8's earlier work added German and Italian, and the Slovak Braille 'n Speak 2000.

  • These are Blazie's own language updates for the Braille Lite 2000, from 1998 to 2000, each running on the
    emulated unit as its own firmware. They came to us as an anonymous donation, as the German and Italian ones did.
    Thank you!
  • Each voice is listed under its language's name in English, such as "Braille Lite 2000 (Russian)". A name in its
    own script would be lost on the voice reading your screen reader's list.
  • NVDA, the SAPI voices and Linux carry them, like the English one. On Android and in the Apple app (TestFlight) you
    import them; both can even import NVDA add-ons, including the one from this repository.
  • Screen readers switch to them by language: TalkBack's switching was tested on a phone with Hungarian.
  • A few releases run in the emulator only for now (Japanese, the other three French updates, and beta versions).
    Chinese has no speech.

The Mockingboard

The Apple II's Mockingboard speaks: Sweet Micro Systems' own text-to-speech, running on an emulated 6502, as a
voice on every platform. There are two versions: 1.1 from the Developers Toolkit, and the early one from
Mockingboard disk 1. The 6502 builds on EchoTalk by Jayson Smith (@jaybird110127).

  • The Mockingboard voices are in this release's downloads, but not in the repository yet. We've contacted Rod
    Nakamoto, who founded Sweet Micro Systems; if he gives his permission, they go into the repository. Even then we keep only the
    files that make the speech, never whole disks.

One NVDA add-on for every unit

The Braille Lite 2000, Slovak Braille 'n Speak 2000, Speak-Out, Accent SA, Accent-mini and Mockingboard now share
one add-on. Select "Votrax SC-02 / SSI-263 (emulated)", choose the unit under Firmware, and choose its language under
Voice. Each firmware type remembers its own settings in your NVDA profiles. The add-on carries over your saved
settings from the three 0.7 add-ons and offers to remove those older add-ons when NVDA restarts. You can keep them
and remove them later from the new add-on's settings page. Its update checker runs only when you choose "Check for
updates..." under Tools, "SSI-263 speech chip synthesizer...".

The chip sounds closer to the real one

Three changes to the chip model, each tested against recordings of Tomi's real SSI-263 and chosen by ear:

  • Fuller vowels (engine 0.16). The first formant now follows a rule fitted to the real chip: two vowel pairs
    that differ only in that setting. Low vowels gain body and bass, and the voices keep their character. Astra fitted
    it, Claude checked it independently, and Tomi chose it: "Speak-Out keeps the same voice and does the Accent too."
  • Grittier fricatives (engine 0.17). The noise behind S, F, SH, Z and J now goes through filters of its own,
    while the voice stays as it was. Listen to the Speak-Out's "judges": the hard J has its grit back.
  • Clean BASIC tones (engine 0.18). Tones from the Braille Lite's BASIC Sound command (chimes, the Pinball
    lesson) start and end without crackles or clicks. The last faint click, at the end of some notes, is gone.

These change how every voice sounds; the timing, the stops and the hard G stay as they were.

The emulator

  • A braille display for the unit, in a field your screen reader shows on your own display. Since the first
    preview it stays current on NVDA and on Orca 49 and later, and the field's name no longer takes up cells. Thank
    you to a tester for the report.
  • The bars on period and comma. JAWS and Orca take Alt+Shift+arrows for their tables, so the Braille Lite's
    advance and back bars are also period and comma now (and ; and A as before). A listener spotted the conflict. The
    keys can be changed in the settings file's [keys] section, by name: comma, period, semicolon and so on.
  • Every language in the Firmware menu: the 17 new Braille Lite 2000 voices, and the releases no voice speaks
    yet (Japanese, the other French updates, the betas), run as units of their own.
  • Load programs and files into flash: Blazie's games and programs, documents, braille and BASIC files, from
    your PC straight into the unit's flash, with no disk image or cable (on the command line: blazie_files add).
  • The firmware update works: Blazie's own flash update program runs in the emulator, both banks, as on the real
    unit.

Also new

  • Apple, in TestFlight: the SSI-263 Speech app for iPhone, iPad and Mac. Every voice comes from firmware you
    own, which you import (even from an NVDA add-on, such as the one from this repository), and its Braille Lite
    unit tab runs the unit itself; thank you to Jake (@BluestarJake), whose macOS emulator (#18) first ran the
    units on the Mac. The same unit tab is planned for Android. Join the beta:
    https://testflight.apple.com/join/cJYhuDUf
  • Accented letters on every voice.
  • The line-start lift: in note-taking mode the Braille Lite lifts its voice on a line you move to, as the real
    unit does; it's a setting on every platform.
  • The BT Speak and BT Braille run the Blazie emulator natively: their own keys, the unit's display through
    BRLTTY, and a .deb that installs with apt. Thank you to Stephen Clower (@sclower) for the route (#5).
  • Android: the default volume is 135 instead of 150, because the new vowels peak a little higher; speech sits
    only 0.7 dB lower than in 0.7.7. If you set your own volume, it stays.
  • After a stop, the Braille Lite's next speech no longer starts up to 76 ms late.
  • blazie_files import --keep-exact keeps a text file's own line ends, LF or CR LF, for files you edit on Linux
    or Windows. Thank you to grnowak for the idea and the pull request.

Where the files come from

  • Everything is built from the version-0.8 branch: the NVDA add-on from 93248ef, and every other file from
    094c1c9. 93248ef changes only the add-on's description.
  • The Linux binaries for x86-64 and aarch64 were built by GitHub in Debian 11, then tested with the firmware and
    packaged on a Raspberry Pi; armhf was built on the Pi. SSInger was built and validated (pluginval) by GitHub.
  • The Windows files, the Android app and the NVDA add-on were built on Windows. The add-on was independently
    checked by Astra.
  • Before release: 385 of 387 checks on Windows (the two are a timing check that fails only under the suite's full
    load, and its control), and every Linux check on x86-64. On the Raspberry Pi: the whole firmware gate on aarch64,
    where one GTK window check was wrong about the newer system (it waited for an announcement the app never sends;
    fixed in 3eed4c6, and the same binaries then passed all 27); armhf's own gate; and x86-64's packaging, goldens and
    voices under emulation.
  • SHA256SUMS.txt lists every file's checksum.

Known issues

  • An NVDA speech-completion stress test failed intermittently under full test load. It passed in the next three
    full-suite runs, but the cause remains unknown; additional diagnostics are now in place.
  • The sustained F, TH and Z sounds are still quieter than the real chip's, and SCH and HF louder: open work.

Shelved for the next release

  • The hiss: a tester's notes on the real unit's hiss, and on recording it at a low level.
  • The Sounding Board: importing its firmware (sb.zip), for those who prefer its slightly different sound to the
    Speak-Out's.
  • The Accent's volume wobble.
  • The Braille Lite's click (BASIC's click, issue #20): in the emulator it is sometimes silent or short. It is
    one very short vowel, and our chip only sounds it when its free-running pitch happens to pulse inside it. What
    the real chip does differently needs a recording of the real unit first. Thank you to Jake (@BluestarJake) for the
    report.
  • An emulator tab on Android: the Apple app can run a Blazie unit itself; on Android the units speak as voices
    only for now.

Thank you

  • The anonymous donors of the Braille Lite 2000's language updates, who spent countless hours hunting through
    floppy disks and asking around for them. The 17 new voices are their work.
  • David Goldfield, for Blazie Engineering's history, and for countless Mastodon conversations that helped us
    understand the units' lineage and track down things about the hardware few people know. He worked at Blazie
    Engineering in its early years, and, full circle, he works with Blazie again today on the BT Speak and BT Braille.
  • Stephen Clower (@sclower), for the native route on the BT Speak and BT Braille (#5).
  • Jayson Smith (@jaybird110127), for EchoTalk, which the Mockingboard voice builds on.
  • Daniel (@dnl-nash), for the report that compiled BASIC programs stopped after their first prompt (#16).
  • grnowak, for the idea and pull request behind --keep-exact (#19).
  • Jake (@BluestarJake), whose native macOS emulator (#18) first ran the Blazie units on the Mac, and helped
    make the Apple app's Braille Lite unit tab a thing; and for the click report (#20).
  • The testers and listeners who sent reports, recordings and ears.

Made by Claude, Astra (OpenAI Codex) and Tomi. Astra reviewed every change and built the add-ons.

ssi263-speech 0.7.7: Linux keeps your synthesizers, Simon plays again

Choose a tag to compare

@tgeczy tgeczy released this 07 Oct 04:51

ssi263-speech 0.7.7 is a quick fix release: Linux keeps all your synthesizers, Blazie's Simon game plays again, and the emulator's chords get new tests.

Linux: your other synthesizers stay where they are

Installing the voices for speech-dispatcher could leave the SSI-263 as your only synthesizer, and in effect your default. Our installer added an AddModule line to speechd.conf, and speech-dispatcher only finds its modules by itself when there is none. Thank you, Garrett, for the report (issue #10) and the fix (PR #11).

  • A config with no AddModule lines, where speech-dispatcher finds its modules by itself, is no longer changed at all. The voice still appears, alongside everything else.
  • A config that lists its modules itself, as Ubuntu and Raspberry Pi OS ship it, gets this voice added to its list. Otherwise the voice would never load there.
  • Installing over 0.7.6 or earlier removes the line those versions added, so running sudo ./install.sh again fixes an affected system. uninstall.sh removes it too.
  • The installer now also finds speech-dispatcher's modules folder on Fedora, Arch and multiarch Ubuntu.
  • A new test runs the real installer and uninstaller on each kind of config. We also checked it against a copy of a real Ubuntu 22.04 config with six other modules.

The emulator: Simon plays again

Blazie's Simon game locked the unit up at the first key on the Braille Lite 2000, the Braille 'n Speak 2000 and the Type 'n Speak. Thank you, RetroBunn, for finding why and fixing it (PR #9).

  • The cause: before each tone the game reads a port the emulator didn't model, which answered FFh, so the game waited forever. It now gets the port number, which is what a floating bus usually holds after that instruction.
  • Simon now plays its tones on all three units. Hangman and ordinary speech are byte for byte as in 0.7.6.
  • A new test runs both games on all three units when you have the game files. It needs Blazie's .BNS games in firmware/blazie/games/, and skips without them.

The emulator: seven-key chords (issue #12)

A report said the terminal emulator lost a key of the full chord (dots 1 to 6 with space), and that chords split on an older machine. We added tests showing the emulator itself accepts that seven-key chord:

  • from a keyboard read directly, held down together and let go in any order;
  • and typed in a terminal, each key within chord_ms of the one before.

The cause on the reporter's machines isn't known yet. Some keyboards, especially Bluetooth ones, can't report that many keys at once, and the issue has tips for finding out what reaches the emulator (--show-keys, the input group, chord_ms). If a key still goes missing for you, please add your --show-keys output there.

Where the files come from

The release is commit 0cc92b3:

  • The NVDA add-ons were built by Astra at 0cc92b3. Her commit there sets the add-ons' version.
  • Everything else was built at ea1a590, the commit before, which differs from 0cc92b3 only in those three add-on manifests: on my desktop, on GitHub's Windows, Mac and Linux machines (SSInger and the Linux binaries), and tested and packed on a Raspberry Pi 5.
  • Linux on x86-64 got the full firmware test suite natively on an x86-64 Ubuntu machine for the first time: 70 checks passed.
  • The whole suite passed with Astra's add-ons, 309 of 309 checks. The engine stays at version 0.15.
  • SHA256SUMS.txt has every file's checksum.

Not tested this time

  • Android: the app wasn't installed on a phone this time; the phone wasn't connected. The same native code passes its tests on the desktop, and the app is signed with the same certificate as before, so it updates in place.
  • The BT front end's tests and the GTK window ran on the Raspberry Pi, not on the x86-64 machine.

Made by Claude, Astra and Tomi. Astra reviewed every change, set the add-ons' version and built them. Thanks Garrett, RetroBunn, and everyone who reports what they hear!

ssi263-speech 0.7.6: the hard G, the emulator's clock, and the Accent SA's stall

Choose a tag to compare

@tgeczy tgeczy released this 03 Oct 22:54

ssi263-speech 0.7.6 is a quick fix release: the hard G, the emulator's clock, and an Accent SA stall in NVDA.

The hard G is back

"Guess" said "ess", "guest" said "est" and "go" sounded like "oh". Thank you, Timothy, for catching it.

The firmware always sent the G. The Braille Lite and the Speak-Out build a G from two sounds: a K, then a held closure (HVC). Our chip kept both of them silent until the vowel had already started, so nothing of the G was left. Now, when a G's closure leads into a vowel, it opens half a frame early with a quick 2 ms release, the way a real unit lets go into the vowel.

  • Tomi picked this sound by ear from a set of candidates, and Astra checked it against Tomi's own Braille Lite recordings of "get", "go" and "good".
  • Braille Lite, in English and Spanish: guess, guest, go, get, give, good, global; gato, gusto, guerra, agua.
  • Speak-Out: its G opens the same way.
  • Accent SA and Accent-mini: unchanged, byte for byte. Their G is built differently and never opens.
  • Words without that kind of G (kiss, cat, top, status) are byte for byte as in 0.7.5. A G before another stop, as in "big dog" or "egg", stays as it was; only its timing moves by well under a millisecond.

The emulator's clock keeps the right weekday past New Year

The Blazie units' clock can only hold the years 1989 to 2020. 0.7.0 to 0.7.5 picked the nearest year with the same calendar (2026 became 2015). That was right on the day, but when the unit counted its own New Year it went from 2015 to 2016, a leap year, while 2027 isn't. So from 1 March 2027 every weekday would have been off by one. Thank you, Jayson, for the clear report (issue #3).

  • The clock now goes back 28 years (2026 is 1998, 2027 is 1999). The calendar is identical, and it stays identical as the unit counts on into the next years.
  • Two far-off limits remain: the unit's own year still wraps from 2020 back to 1989, so a unit started in 2048 or later loses the calendar at its next New Year, and 2100 isn't a leap year.
  • Units saved by 0.7.0 to 0.7.5 are moved onto the new year when they load, along with any alarm set for a date. A date you set yourself is left alone.
  • On 1 March 2027 the Braille Lite says "Monday March 1, 1999".
  • To set the date yourself, use that year too: 1998 for 2026, 1999 for 2027.

Accent SA: no more stalls between clauses

Tabbing through NVDA's voice settings with the Accent SA could stop after "Rate:" or "Pitch:", and the next key brought out the rest (issue #8, thank you for the clear steps).

  • The cause: the Accent SA's firmware pauses between clauses to work on the next one. "Rate: slider 55" is two clauses, and the driver took that brief silence for the end of speech. It happened at NVDA rates of 55 and up, and 0.7.0 and 0.7.5 had it too.
  • The fix: the driver now checks whether the Accent's processor is still working on the text, not just whether it is making sound. In our tests, 0 of 840 announcements stalled, against 89 before. Speech that never pauses comes out byte for byte as before. SAPI, Linux and Android get the same fix.
  • A safety limit: if a pause ever lasted more than 6 seconds, the driver would stop that text, say so in NVDA's log, and carry on cleanly with the next one. It never came close in testing (2.6 seconds at most).
  • The Accent-mini: the report mentions it too, but we couldn't make it stall in over 2,000 tries, so nothing changed for it. If it still stalls for you on 0.7.6, please tell us on the issue.

Where the files come from

The release is commit 0b31ec9, and every file was built from it: the NVDA add-ons by Astra, everything else on my desktop, on GitHub's Windows, Mac and Linux machines (SSInger, and the Linux binaries), and tested and packed on a Raspberry Pi 5. The whole test suite passed, 301 of 301 checks. The engine is now version 0.15. SHA256SUMS.txt has every file's checksum.

Not tested this time

  • Android: the full byte-for-byte voice test on a phone was not run. It needs a debug build, which would have meant wiping the imported firmware on Tomi's phone while he was away. The signed app was installed as an update on that phone and smoke-tested, and the same native code passes its tests on the desktop.
  • Linux on x86-64: built and checked on GitHub's x86-64 machines without firmware, and partly with firmware on the Raspberry Pi pretending to be an x86 PC (the speech byte for byte, the package's voices, the wheel, the emulator's boot). The full firmware test suite and the emulator's GTK window weren't run for x86-64. 64-bit ARM got the full suite on a real Pi 5.
  • The Accent SA's safety limit is logged by the NVDA add-on only. SAPI, Linux and Android stop the text the same way but don't show a message.

Made by Claude, Astra and Tomi. Thanks Timothy, Jayson, and everyone who reports what they hear!

ssi263-speech 0.7.5: every voice, everywhere, and the Blazie units on the BT Speak and BT Braille

Choose a tag to compare

@tgeczy tgeczy released this 02 Oct 14:38

0.7.5 is the release where every voice works everywhere. The Braille Lite, the Speak-Out, the Accent-mini and the Accent SA now speak on NVDA, SAPI, Linux and Android alike, all from one native library, and the Blazie units themselves run on your PC, on Linux, and on Blazie's own BT Speak and BT Braille, braille display included.

0.7.0 came out quietly first. 0.7.5 finishes it: install the new add-ons over the old ones. All three are 0.7.5.

Every voice, everywhere

Voice NVDA SAPI Linux Android
Braille Lite 2000 (English, Spanish) yes yes yes from your firmware
Speak-Out yes yes yes from your SPEAKOUT.HEX
Accent-mini yes yes yes built in
Accent SA yes yes yes built in

Run ahead and number words for the Braille Lite work in all four too.

  • One native library behind all of it. The voices used to run partly in Python. Now each is plain C, the same code on Windows, Linux and Android, and every one was checked byte for byte before it replaced the old one: 99 NVDA speech sequences against the 0.7.0 drivers, every SAPI voice through Windows' own speech system against 0.7.0's SAPI, and every voice on a real Android phone against the same voices on the desktop.
  • NVDA: all three add-ons now run that library. Your settings carry over unchanged.
  • SAPI: no more Python inside. The installer drops from 9.8 MB to 2.9 MB, it now installs on 32-bit Windows too, and the voice you chose stays chosen when you upgrade.
  • Linux: the speech-dispatcher module now offers all five voices. Each has its settings in ~/.config/ssi263-speech/sd_ssi263.conf: the Accent's inflection and number reading, the Accent-mini's voice, the Speak-Out's tone, and the Braille Lite's run ahead and number words.
  • Android: import GW Micro's SPEAKOUT.HEX, or the speakout.zip it came in, the same way as Blazie firmware. A damaged or different file is refused with a clear message. The Accent-mini is built in next to the Accent SA. New settings: the Speak-Out's tone, joining phrases and shorter pauses; the Braille Lite's run ahead and number words. It updates the 0.7.0 app in place.

Full circle

This release could hardly come more full circle. Blazie's notetakers are still being made: the BT Speak Pro and the BT Braille run on a Raspberry Pi 5 (the original BT Speak on a Pi 4). With 0.7.5, the Braille Lite, the Type 'n Speak and the Braille 'n Speak run on them, with their own firmware.

And the braille comes too. Leo built the BT Speak and BT Braille front end: on a BT Braille, the emulated Braille Lite's braille display appears on the device's own cells, 18 of them, the way the Braille Lite showed it. L3 or R3 is the Braille Lite's forward bar and L2 or R2 its back bar. The device's braille keyboard types on the unit, M-chord with dot 7 opens the emulator's menu, and Z-chord with dot 7 saves and returns you to the BT Speak. Leo has run it on a real BT Braille, and polished it for 0.7.5: the keyboard introduction comes once, menus keep their place, and the sound buffer grows by itself as everywhere else. Thank you, Leo.

You don't need a separate download for it: run blazie_emu, and on a BT Speak or BT Braille it notices the device and uses its keyboard, speech and braille display by itself (--no-bt keeps the plain terminal version). The old Blazie units, inside the new ones.

The Blazie emulator

blazie-emu-0.7.5-windows.zip, and for Linux blazie-emu-0.7.5-linux-x86_64.tar.gz, -aarch64 and -armhf, is a Braille Lite 2000 and a Type 'n Speak, English and Spanish, running Blazie's own firmware. It isn't a voice for a screen reader. It's the whole notetaker: its menus, its editor, its files, its clock, its beeps and chirps.

  • The Braille Lite takes chords on F D S and J K L with the space bar. The Type 'n Speak takes the whole keyboard.
  • Alt+Shift+F (or F11) opens the emulator's own menu, where you pick the unit and language, the sample rate and the channel sounds, and where Exit is.
  • The unit keeps its memory. RAM and flash are saved when you close it, when you switch units, when Windows shuts down, and every minute.
  • The clock runs, and it keeps time while the emulator is closed, like the unit's battery-backed clock did. The hardware only knows the years 1989 to 2020, so the emulator gives it a year with the same calendar as this one.
  • Files in and out. Firmware > Export files to disk image (.img) puts every file on the unit into a disk image that 7-Zip opens. Import files from disk image puts an image's files back on the unit: add, change or remove files in the image, and the unit gets exactly that. It asks before deleting anything, and keeps the unit as it was in case you want to undo. blazie_files does the same from the command line.
  • The serial port, on a real COM port or a virtual one, for WinDisk and PCDISK.
  • Settings, Sound buffer. Automatic is the default: it starts at 60 ms, so keys answer fast, and grows by itself if the sound ever breaks up. Medium and Long give it more room; choose Long over Remote Desktop or when a screen reader shares the sound device. (A 40 ms setting in an early build stuttered even on a fast PC, so it's gone.)
  • The channel sounds of my unit, if you want them: the hiss or whine while the channel is open, the pop, the click when it closes, the heartbeat tick.
  • The flash erases at the real chip's speed: a full initialization takes about 46 seconds, with about 27 chirps on a Braille Lite.
  • The Type 'n Speak's first start asks the unit's real setup questions: initialize the file system, the flash, the folders. Answer y to each. A Type 'n Speak saved by an earlier test build never got that setup, and moving a file to flash could lose it. When you open one, the emulator offers to set it up and keeps its RAM files.
  • On Linux, three ways: blazie_emu_gtk, a desktop window Orca reads; blazie_emu in a terminal, its menu as plain lines your screen reader reads, with a letters mode for braille keyboards; and the BT Speak and BT Braille front end above. All three share one settings file.
  • Preview, for Slovak testers: the Braille 'n Speak 2000, in English and Slovak. It's the Braille Lite's board without the braille display, and the emulator runs its firmware, so the Slovak unit speaks Slovak. Pick "Braille 'n Speak 2000, Slovak" in the Firmware menu. Some things to know:
    • No Slovak speaker has heard it yet. The firmware's own rules do all the reading, but nobody has checked it by ear. If you speak Slovak, please try it and open an issue, even just to say it sounds right.
    • Two things I'd especially like to hear about: how a number with a decimal comma like "3,5" is read, and whether the speech settings menu does what you expect.
    • This is the notetaker only. There's no Slovak voice for NVDA, SAPI or Android yet. That comes once Slovak testers tell me how it sounds.
    • Files in and out keep the Slovak letters (š, ž, č and the rest) in file and folder names.

SSInger, the SC-02 that sings

SSInger is spacepup's work (#2): a singing instrument for your DAW, after the Robovox patent (EP0396141A2). It runs this project's SSI-263 chip model, driven by MIDI, the way the 1980s Robovox drove the SC-02 on stage. Play notes on one MIDI channel to pick the sounds and on the next to set the pitch, or let it sing the words you give it. Thank you, spacepup.

  • All 64 sounds are playable. The keyboard followed the patent's 58 keys, so nine sounds had no key: M, N, NG, the German vowels :A :OH :U :UH, E2 and LB. Every existing key stays where it was, and the nine are on the keys right above (notes 94 to 102).
  • The tour rig (four chips): the mod wheel moves every chip's filter at once, each of chips 2 to 4 has its own filter offset, and one chip singing is as loud as in solo mode, with room left so all four don't clip.
  • Windows 10 or later: VST3, CLAP and a standalone app.
  • Mac, macOS 10.15 or later: VST3, Audio Unit (for Logic and GarageBand), CLAP and a standalone app, for Apple Silicon and Intel. These builds aren't notarized by Apple yet, so macOS blocks them at first: run xattr -dr com.apple.quarantine on each plugin you copy in. BUILD.md inside the download has the details.
  • Linux, x86-64 and 64-bit ARM: VST3, CLAP, LV2 and a standalone app, on Ubuntu 22.04, Debian 12 or Raspberry Pi OS Bookworm and later.

Every build passed the standard plugin checkers (pluginval at its strictest, Apple's AU validation, the CLAP validator). Every control is a plain plugin parameter, so in REAPER with OSARA you reach them all under "View FX parameters"; on Linux, the DAW's own parameter list is the way in.

  • The licence: SSInger's own code is MIT, but it's built with JUCE, whose free licence is the AGPLv3 (the GPL's network-use variant), so the plugin binaries are AGPLv3. Its source is this repository; SOURCE.txt in each download says exactly which commit.
  • Not included: Pro Tools (AAX), which needs Avid's paid signing program.

If you make music, please try it. SSInger passed every automated plugin check, but nobody has made music with it in a real DAW yet: REAPER, Logic, Ableton, Bitwig, Ardour, any of them, on Windows, Mac or Linux. Tell me what works and what doesn't, in an issue or on Mastodon.

Python (Windows and Linux)

The ssi263speech wheel gives you the chip and the Braille Lite from Python, for Windows and Linux.

Under the hood

  • Every CPU is MAME's. All four devices run on MAME's CPU cores: the Z180, the V40, the 8086 and the 8085. The point is the licence: the add-ons, SAPI, the emulator, the Linux packages, the Android app and the wheels carry no GPL code. Our code is MIT; the MAME CPU cores keep...
Read more

ssi263-speech 0.7.0: the Blazie units themselves, Linux and Android, all on MAME

Choose a tag to compare

@tgeczy tgeczy released this 01 Oct 19:41

0.7 is the biggest change under the hood so far, and it brings something new to play with: the Blazie units themselves, as an emulator you can type on.

Install the new add-ons over the old ones. All three are 0.7.0.

Full circle

This release could hardly come more full circle. Blazie's notetakers are still being made: the BT Speak Pro and the BT Braille run on a Raspberry Pi 5 (the original BT Speak on a Pi 4). With 0.7, the Braille Lite, the Type 'n Speak and the Braille 'n Speak run on that same kind of machine: their own firmware, on a Linux emulator built for 64-bit ARM and tested on a Raspberry Pi 5, so it should hold on these units too. The old Blazie units, inside the new ones.

Braille display support didn't make it into 0.7. The emulator speaks, but it doesn't show the unit's braille yet. I'm actively looking at how to add it, so the BT Braille, and any braille display, can show what the Braille Lite shows.

New: the Blazie emulator

blazie-emu-0.7.0-windows.zip (and, for Linux, blazie-emu-0.7.0-linux-x86_64.tar.gz, -aarch64 and -armhf) is a Braille Lite 2000 and a Type 'n Speak, English and Spanish, running Blazie's own firmware on your PC keyboard. It isn't a voice for a screen reader. It's the whole notetaker: its menus, its editor, its files, its clock, its beeps and chirps.

  • The Braille Lite takes chords on F D S and J K L with the space bar. The Type 'n Speak takes the whole keyboard.
  • Alt+Shift+F (or F11) opens the emulator's own menu, where you pick the unit and language, the sample rate and the channel sounds, and where Exit is.
  • The unit keeps its memory. RAM and flash are saved when you close it, when you switch units, when Windows shuts down, and every minute.
  • The clock runs, and it keeps time while the emulator is closed, like the unit's battery-backed clock did. The hardware only knows the years 1989 to 2020, so the emulator gives it a year with the same calendar as this one.
  • Files in and out. Firmware > Export files to disk image (.img) puts every file on the unit into a disk image that 7-Zip opens. Import files from disk image puts an image's files back on the unit: add, change or remove files in the image, and the unit gets exactly that. It asks before deleting anything, and keeps the unit as it was in case you want to undo. blazie_files.exe does the same from the command line.
  • The serial port, on a real COM port or a virtual one, for WinDisk and PCDISK.
  • Settings, Sound buffer. Automatic is the default: it starts small, so keys answer fast, and grows on its own if the sound ever breaks up. Choose Long if you run the emulator over Remote Desktop or alongside a screen reader that shares the sound device.
  • The channel sounds of my unit, if you want them: the hiss or whine while the channel is open, the pop, the click when it closes, the heartbeat tick.
  • Preview, for Slovak testers: the Braille 'n Speak 2000, in English and Slovak. It's the Braille Lite's board without the braille display, and the emulator now runs its firmware, so the Slovak unit speaks Slovak. Pick "Braille 'n Speak 2000, Slovak" in the Firmware menu. Some things to know:
    • No Slovak speaker has heard it yet. The firmware's own rules do all the reading, but nobody has checked it by ear. If you speak Slovak, please try it and open an issue, even just to say it sounds right.
    • Two things I'd especially like to hear about: how a number with a decimal comma like "3,5" is read, and whether the speech settings menu does what you expect.
    • This is the notetaker only. There's no Slovak voice for NVDA, SAPI or Android yet. That comes once Slovak testers tell me how it sounds.
    • The keys are the same six and space as on the Braille Lite, and there's no braille display, as on the real Braille 'n Speak.
    • Files in and out keep the Slovak letters (š, ž, č and the rest) in file and folder names.
  • The Type 'n Speak's first start asks the unit's real setup questions: initialize the file system, the flash, the folders. Answer y to each. A Type 'n Speak saved by an earlier test build never got that setup, and moving a file to flash could lose it. When you open one, the emulator offers to set it up and keeps its RAM files.

New: Linux

  • A speech-dispatcher module for the Braille Lite, so Orca and anything else that speaks through speech-dispatcher can use it. The package has an install script. Its settings live in ~/.config/ssi263-speech/sd_ssi263.conf, including SSI263RunAhead 1 for the experimental run ahead, the same as in NVDA and SAPI.
  • The Blazie emulator for Linux, two ways:
    • blazie_emu_gtk, a desktop window that Orca reads, with the same menu and dialogs as on Windows.
    • blazie_emu, in a terminal, for machines without a desktop. Its menu is plain lines your screen reader reads. On a PC keyboard it works like the Windows one; for a braille keyboard there's a letters mode (a capital letter is the chord with space). It's built for the BTSpeak too, but nobody has tried it on one yet. If you have a BTSpeak, I'd love to hear how it goes: blazie_emu --show-keys tells us what its braille keyboard sends.
  • Packages for x86-64 and 64-bit ARM (Raspberry Pi and the like), each with the speech-dispatcher module and the emulator, and the emulator on its own for both, plus 32-bit ARM. They run on Debian 11 or later, Ubuntu 20.04 or later, and Raspberry Pi OS Bullseye or later.

New: Android

ssi263-speech-0.7.0.apk is a text-to-speech engine for Android, so TalkBack can speak with these voices.

  • The Accent SA is built in and is the default voice. Aicom's firmware is in the app.
  • The Braille Lite comes from your own firmware. In the app, import the add-on, a zip, or the unit's .BNS file, English or Spanish. It shows you its progress the whole way; Spanish takes about a minute.
  • A volume slider that goes louder than before, so the voice sits level with TalkBack's own sounds.

Pick it in Settings, Accessibility, Text-to-speech output.

New: SSInger, the SC-02 that sings

SSInger is spacepup's work (#2): a singing instrument for your DAW, after the Robovox patent (EP0396141A2). It runs this project's SSI-263 chip model, driven by MIDI, the way the 1980s Robovox drove the SC-02 on stage. Play notes on one MIDI channel to pick the sounds and on the next to set the pitch, or let it sing the words you give it. Thank you, spacepup.

  • Windows: VST3, CLAP and a standalone app.
  • Mac: VST3, Audio Unit (for Logic and GarageBand), CLAP and a standalone app, for Apple Silicon and Intel.
  • Linux, x86-64 and 64-bit ARM: VST3, CLAP, LV2 and a standalone app.

Every build passed the standard plugin checkers (pluginval at its strictest, Apple's AU validation, the CLAP validator). Every control is a plain plugin parameter, so in REAPER with OSARA you reach them all under "View FX parameters"; on Linux, the DAW's own parameter list is the way in.

  • Mac: these builds aren't notarized by Apple yet, so macOS blocks them at first. Run xattr -dr com.apple.quarantine on each plugin you copy in. BUILD.md inside the download has the details.
  • The licence: SSInger's own code is MIT, but it's built with JUCE, whose free licence is the AGPLv3 (the GPL's network-use variant), so the plugin binaries are AGPLv3. Its source is this repository; SOURCE.txt in each download says exactly which commit.
  • Not included: Pro Tools (AAX), which needs Avid's paid signing program.

If you make music, please try it. SSInger passed every automated plugin check, but nobody has made music with it in a real DAW yet: REAPER, Logic, Ableton, Bitwig, Ardour, any of them, on Windows, Mac or Linux. Tell me what works and what doesn't, in an issue or on Mastodon.

New: Python (Windows and Linux)

The ssi263speech wheel gives you the chip and the Braille Lite from Python, for Windows and Linux.

The add-ons

  • The Braille Lite runs inside NVDA now. It used to run in a separate program that the add-on talked to constantly. Now it's a library in the add-on, like the Speak-Out, so speech starts sooner and there's one process less.
  • Every CPU is MAME's now. All four devices run on MAME's CPU cores: the Z180, the V40, the 8086 and the 8085. The voices sound the same as before. The point is the licence: the add-ons, SAPI, the emulator, the Linux packages, the Android app and the wheels no longer carry any GPL code. Our code is MIT; the MAME CPU cores we use keep their BSD-3-Clause licences, and the firmware has its own terms. (SSInger is the one exception, below: it's built with JUCE, so its plugins are AGPLv3.) That's what lets the same code go to Linux, Android and, one day, phones.
  • Keep the channel open (Braille Lite, NVDA): the unit's hiss or whine plays on after speech, until the unit clicks off, the way the real one does. New speech no longer waits behind it.
  • Run ahead (Braille Lite, experimental, off by default): the unit writes a whole utterance as fast as it can and the chip plays it, which takes away most of the waiting between key and speech. Turn it on in the voice settings if you'd like to try it. Tell me how it does.
  • Currencies other than the dollar are read as money too, in all three voices.
  • The voice, engine v0.14: in Z, J, V and voiced TH, the noise swells with each voice pulse, as the real chip does.

SAPI

  • A sample rate setting for every voice, and the Accent's inflection.
  • Run ahead for the Braille Lite, as in NVDA: experimental and off by default. Find it in the SAPI settings under Braille Lite.
  • The Braille Lite never keeps its channel open under SAPI, so say-all isn't held up by the hiss.

Bug fixes

  • The Type 'n Speak's options menu no longer hangs, and th...
Read more

ssi263-speech 0.6.0: a warmer voice, stops with bite, the Braille Lite's whine, and Spanish

Choose a tag to compare

@tgeczy tgeczy released this 28 Sep 05:46

The SSI-263 keeps getting closer to the real thing. This one is mostly about the Braille Lite, because that's the box I can measure against, and I measured a lot. And it speaks Spanish now.

Install the new add-ons over the old ones. All three are 0.6.0.

The voice: engine v0.13

The chip underneath all three add-ons got a new voice source. It mixes a real glottal wave into the chip's pulse, the way MAME's SC-01 does it, and it sounds warmer and less buzzy. A few of you heard A/B versions over the last days, and this is the one you picked. The Braille Lite also gets its own output roll-off, fitted to my unit's line out, so it's no longer brighter than the real box.

Braille Lite

  • Stops with some bite. T, P and K now build a little noise behind the closed mouth right before they let go, the way the real unit does, so they come out more bursty without getting thicker. The first try at this clicked in the middle of "status", and that's fixed: the noise only starts once the closure is fully shut, at every rate.
  • Tones 0 to 26. The unit's own keys stop at 16, but in speech-box mode it takes higher tones too, so the add-on offers all of them, now including tone 0. Tone 7 is still the default.
  • A voice inflection switch. It's the same yes/no as in the unit's status menu. Turn it off and questions and sentence ends stay flat.
  • The unit's hiss and whine, if you want them. A real Braille Lite has a faint whine under its speech that comes from the chip's own clock, and it moves when you change the tone. I recorded my unit at every volume and every tone, 405 recordings in all. The add-on now generates the whine live from the chip's clock, so it moves with the tone as the real one does, and each tone's whine has the strength the real unit gives it. Pick Hiss for what the unit does at even volumes like its factory setting, or Whine for the odd volumes. It's off by default, because not everyone wants it. Speak-Out and Accent don't get it yet, because I haven't measured those boxes.

¡El Braille Lite habla español!

The Braille Lite add-on has a second voice: Braille Lite 2000 (español), the Spanish Braille Lite's own firmware, with its own rules and its own inflection. Pick it in NVDA's voice settings, or leave the English voice on and turn on NVDA's automatic language switching: text marked as Spanish goes to the Spanish unit and back again, in the middle of a sentence if it has to. MultiLang can hand Spanish to it too. Accents and ñ come through, and numbers are read the Spanish way, "3,5" as "tres coma cinco" and "1.234.567" as one number.

All three add-ons

  • A sample rate setting: 11, 22 or 44 kHz. 22 kHz is the default. It keeps everything the chip actually produces, and it's lighter than 44. Choose 44 if you use very low or very high tones, where the chip's clock leaves traces above 11 kHz. Choose 11 for the sound of the unit's own small speaker.

New: SAPI 5 voices, for every screen reader

ssi263-sapi-0.6.0-setup.exe installs all five voices as SAPI 5 voices: Braille Lite 2000 (English and Spanish), Speak-Out, Accent-mini and Accent SA. They work in JAWS, NVDA's SAPI 5 synthesizer and any program that speaks through SAPI, 64-bit or 32-bit. They're the same emulated machines as the add-ons, running the same code, so they sound the same.

The settings program (in the Start menu, and offered at the end of setup) shows the voices and whether they're registered, and has the Braille Lite's voice inflection and hiss/whine settings. Rate, pitch and volume come from your screen reader.

This first release needs 64-bit Windows (ARM64 works too).

Bug fixes

Most of these came from people who used 0.5.0 every day and told me exactly what went wrong. Thank you.

All three add-ons

  • Say-all no longer bleeds one phrase into the next. On NVDA 2021 to 2023, the end of each phrase could stay in NVDA's audio buffer and only come out at the start of the next one, so say-all ran phrases together. Every phrase is now flushed when it ends.

Braille Lite

  • Stacked question marks work. "How are you??" and "How are you???" climb higher and higher again, the way the unit always did it. The unit was never the problem: NVDA only passes on a question mark that ends a sentence, so in "??" both marks were thrown away before the add-on ever saw them, at every punctuation level. The add-on now tells NVDA to always pass "?" along, in English and Spanish, and NVDA still says "question" at punctuation level all, as before. This needs NVDA 2024.4 or later. On older NVDA, open Punctuation/symbol pronunciation, pick the plain "?" (not "? sentence ending") and set Send actual symbol to synthesizer to Always. If you've ever changed "?" there yourself, your setting wins over the add-on's on any NVDA version, so set it to Always as well.
  • Much faster to respond when you move around. Tabbing, arrowing or pressing a key now starts the new speech three to four times as fast. The add-on stops the old speech in fewer, larger steps and waits less before it's sure the unit is quiet, and the Braille Lite's processor emulation itself runs about 1.6 times faster, with exactly the same output. In my tests the time from the key to the first sound went from about 45 to about 11 to 16 milliseconds.
  • Rate 100 is fast again. The unit only takes rates up to 15, and NVDA's top rates asked for 16, which the unit wraps around to a slow speed. At 100 % it was nearly four times slower than at 90 %. The top of the slider is now the unit's rate 15.
  • No more cut-off endings joined to the next utterance. If you interrupted the unit just after it finished a line, for example while stepping the rate slider, the next utterance could stop at its first comma or pause and keep the rest for the one after. "Yes, it works" came out as "Yes," and the "it works" turned up later.
  • Dollar amounts are read as money again with number processing on. "$25" was read "twenty five", without the dollars. Now the unit's own rules read them, cents and all, "$12.50" included.
  • Numbers at the end of a sentence. "1,234,567." was read in two pieces, and "3.5." was skipped entirely. Both are read whole now, and addresses like 192.168.0.1 stay in one piece.

Accent

  • Numbers at the end of a sentence get the same fix as the Braille Lite.

Still on the list

  • D and B. Measured against my unit, our D barely closes: about a third as long as the real one, which is probably why some of you hear soft D's and why "readme" comes out a bit like "redm". I have a fix that brings the closure to the real length. It will come once you've heard it.
  • Even faster response on the Braille Lite. It's three to four times quicker than 0.5.0, but the Speak-Out still answers in about 5 milliseconds, because the Braille Lite's processor runs in a separate program that the add-on talks to constantly. Moving it inside the add-on, the way the Speak-Out already works, is planned for the next version.
  • More languages. Slovak is next; its firmware is for a different Blazie model that the emulator can't run yet.
  • The whine on the Speak-Out and Accent, once I know how those boards behave.

About the firmware

These add-ons carry each device's own firmware, because without it there's no voice. It isn't mine. It's here so these machines can talk again, and any of it will come down if its rights holders ask.

Thank you, everyone who listened, compared and told me what sounded off. The stops, the low end, the whine and the tones in this release all started with somebody's ears. And thanks to Astra, who checked every measurement with me and caught more than one of my mistakes.

ssi263-speech 0.5.0: the Accent SA joins, and the chip gets cleaner

Choose a tag to compare

@tgeczy tgeczy released this 25 Sep 20:27

The SSI-263 speaks again, from four boxes now instead of three, and this time in public.

If you last installed last night's 0.3.5, here's everything since. Just install the new add-ons over the old ones. All three are 0.5.0, so they're easy to keep track of.

New: the Accent SA

The Accent add-on now has two voices. In NVDA's voice settings, pick Accent SA or Accent-mini.

The Accent-mini was Aicom's DOS driver doing the thinking on the PC. The Accent SA is the stand-alone serial box, and it did its own thinking: an Intel 8085 inside it ran Aicom's rules, with two ROMs of pronunciation dictionary. Those ROMs survived, so we built the box around them: an emulated 8085, the Accent's serial port, and the SSI-263 on the other end. The firmware runs untouched, 1986–1989 copyright notice and all. Its own "ACCENT READY." greeting is in there too.

It's the older sound some of us remember, and it's all Aicom's rules. It takes a moment longer than the mini to start a long sentence, because the SA reads the whole sentence before it says a word, just like the real one did. I've sped that part up a lot, but you might still notice it.

The chip: things you'll hear

  • "Program", "manager", "image", and the "-dge" words. No more extra soft G in "program", and no more little "d" before the J in "manager". The real chip only lets a stop go early when a vowel-like sound comes next, and now ours does too.
  • The click. Every B or D after a pause had a tiny "tock" before it, on all three add-ons. A listener caught it in the T of "still" on the Accent. Measured against my own Braille Lite, the real chip is silent there, and now so is ours.

The Accent-mini

  • No more going silent after you change the variant or other voice settings.
  • No more freezing partway through long posts. There were two separate bugs, and both are gone.
  • It starts much faster. It used to take about a second after you picked the synth. Now it's almost instant, and long items start speaking sooner too.
  • Numbers as words. The Accent reads 100 as "one zero zero". There's a checkbox for that now, on by default. Dollar amounts stay with the Accent, because it reads money really well on its own.
  • Settings only go to the card when they change, so there are no extra little pauses.
  • A tilde won't silence it anymore. "~/" used to put it into phoneme mode until the next tilde.

Windows on ARM

The Speak-Out and Accent add-ons crashed NVDA on Windows on ARM. The Unicorn emulator underneath didn't get along with Windows' x64 emulation on ARM. Astra tracked it down and fixed it, and a tester confirmed it on their ARM machine. The Blazie add-on always worked there.

Still on the list

  • The B in words like "robotic" is missing a little burst of hiss that the real chip has.
  • J and SH are a touch darker than the real thing.
  • The volume dips on some words in the Accent-mini are the Accent's own. The real card does it too.

About the firmware

These add-ons carry each device's own firmware, because without it there's no voice. It isn't mine. It's here so these machines can talk again, and any of it will come down if its rights holders ask. Aicom's story, as far as we could piece it together, is in firmware/AICOM.txt in the repository. Thanks to spacepup for the Accent SA ROMs.

And thank you, everyone who listened and told me what sounded wrong. Every fix in here started with somebody's ears.