Skip to content

Version 5 beta changes

TrulyHandsfree version 5 introduced a new API and model file format, neither of which were backwards compatible with TrulyHandsfree version 4. The end of this beta release cycle resulted in stable release v6.0.0.

5.0.0-beta.18 (2018-03-09)

  • Added
  • Fixed
    • User-Defined Trigger enrollments with a low phrase quality were rejected without providing sensible feedback.

5.0.0-beta.17 (2018-02-23)

  • Added
  • Changed
    • DSP library (for creating embedded spotter models) version 4.4.2.
  • Fixed
    • For Enrolled Fixed Triggers, incorrect enrollment phrases were reported once all enrollment recordings were complete. This error is now reported immediately after the failed recording.
    • Android fromAudioDevice can throw an IllegalStateException if the underlying audio device is busy. Now reported as an IOException.
    • The Android sample Enroll.onResume() method mistakenly returned SnsrRC.ERROR instead of SnsrRC.STREAM if mAudio.open() failed.

5.0.0-beta.16 (2018-01-25)

  • Changed
    • Improved v4 fixed trigger false reject performance when the spotted phrase is repeated multiple times in quick succession.
    • Android libraries built with NDK 16.
  • Fixed
    • Misleading detailed error message when attempting to load an incompatible spotter into a template.

5.0.0-beta.15 (2017-12-08)

  • Added
    • Task model vad-energy-1.0.3.snsr (removed in 5.0.0-beta.13) restored.
  • Changed
    • DSP library (for creating embedded spotter models) version 4.4.1.
  • Fixed
    • Cannot load a model created using the tpl-spot-concurrent-1.0.3.snsr template into the tpl-spot-vad-1.0.3.snsr template.
    • noise-energy, signal-energy, snr are no longer updated once approximately 1000 seconds of audio have been processed.
    • The md5 and sha1 hashes for licensed models and libraries in the embedded Maven repository (m2repository/) do not match the actual files.
    • spot-eval command-line tool does not flush stdout frequently enough.
    • spot-eval not compatible with spotter model versions 0.5.0 through 0.7.0.

5.0.0-beta.14 (2017-11-01)

  • Fixed
    • spot-eval command-line tool failed on models from earlier releases.

5.0.0-beta.13 (2017-10-31)

  • Added
    • New snsr-edit command-line utility.
    • Support for task templates. This allows, for example, running two disparate phrase spotters at the same time, as a single spotter model.
    • wake word settings: ^listen-begin, ^listen-end.
    • faq documentation section.
    • New task models:
      • eft-hbg-enUS-23.0.0.3.snsr
      • spot-music-enUS-1.0.3-m.snsr
      • tpl-spot-concurrent-1.0.3.snsr
      • tpl-spot-sequential-1.0.3.snsr
      • tpl-spot-vad-1.0.3.snsr
  • Changed
    • spot-eval supports phrase spotter with VAD models.
    • spot-convert uses only the tail portion of the task model file path to determine the output file prefix.
    • Renamed Java package from com.sensory.speech to com.sensory.speech.snsr.
    • Renamed SnsrStream.Plugin to SnsrStream.Provider.
    • Most SnsrStream.Provider methods now throw IOException.
    • segmentSpottedAudio.java sample uses tpl-spot-vad-1.0.3.snsr template for voice audio detection.
    • Support reading of RIFF wave files with padded format chunks (for example, those using a non-standard 48-byte header.)
    • Updated task models:
      • spot-hbg-enUS-1.2.3-m.snsr
      • udt-enUS-12.0.10.3.snsr
      • udt-enUS-5.1.1.3.snsr
    • push-spot.c sample includes VAD audio processing.
  • Removed
    • Task model:
      • vad-energy-1.0.3.snsr, use tpl-spot-vad-1.0.3.snsr template instead.
  • Fixed
    • operating-point-iterator did not return all operating points. Also apparent when running spot-eval -v -v -t spot-hbg-enUS-1.2.3-m.snsr
    • setStream failed to set <-audio-pcm if the output stream was both readable and writable.
    • Java write method signatures did not match the documentation. These returned void instead of long.
    • Java fromMemory and fromString streams produced incorrect data for large source stores.
    • Java writable fromMemory streams did not modify the byte[] store.
    • Java print crashed with an assertion.
    • Java Stream methods copy, open, read skip, write, and print did not throw expected IOExceptions.
  • Security

5.0.0-beta.12 (2017-09-05)

5.0.0-beta.11 (2017-06-29)

  • Added
    • VERSION_DSP.
    • confidence-score.
    • Support for modular feature extractors.
    • Microsoft Visual Studio version-specific libraries and build files:
      • For MSVC 2008-2013 use lib/x86_64-windows-2008/ and sample/c/msvc-2008/
      • For MSVC 2015 and later, use lib/x86_64-windows-2015/ and sample/c/msvc-2015/
  • Changed
  • Fixed
    • Mistaken spots when the input audio stream ends. The work-around in previous beta was to set auto-flush to 0.
    • spot-convert did not report output errors.

5.0.0-beta.10.3 (2017-06-22)

  • Added
    • mipsel-openwrt-linux-musl support.

5.0.0-beta.10.2 (2017-05-13)

  • Added
    • auto-flush runtime library setting.
    • push-spot.c sample.

5.0.0-beta.10.1 (2017-05-02)

  • Added
    • arm-ca7-linux-gnueabihf support.
  • Changed
    • The arm-linux-gnueabi library uses softfp float-abi (soft, previously.) This enables NEON optimization.
    • x86_64-linux-gnu library is built with gcc 4.8 for better compatibility with older Linux distributions.

5.0.0-beta.10 (2017-04-20)

5.0.0-beta.9.1 (2017-04-11)

  • Added
    • mipsel-buildroot-linux-uclibc support.

5.0.0-beta.9 (2017-03-20)

5.0.0-beta.8.1 (2017-02-17)

  • Added
    • arm-buildroot-linux-uclibcgnueabihf support.

5.0.0-beta.8 (2017-02-10)

  • Added
  • Changed
    • Changelog format based on Keep a Changelog.
    • sample-count type changed from int to double - potential incompatibility with earlier betas.
    • fromAudioDevice on Linux:
      • Uses larger capture buffer.
      • Tries to recover from transient capture errors.
    • new is a macro that checks VERSION found in snsr.h. This has to match the version of binary archive library, or initialization will fail with LIBRARY_HEADER.
  • Fixed
    • On 32-bit CPUs, run mistakenly returns ITERATION_LIMIT after processing 74.5 hours of audio without spotted phrases.
    • Spurious EOF reports from fromAudioDevice on Linux.
    • Java load method failed to throw any Exceptions on failure. This lead to misleading Exception messages produced by later library calls (e.g. task type not found).
    • run and forEach mistakenly reported certain callback-generated error codes, such as INTERRUPTED, as the generic ERROR.

5.0.0-beta.7 (2017-01-12)

  • Added
    • fromAudioDevice supports live capture from Windows MME devices. This SnsrStream implementation is included in the C sample code as wmme-stream.c.
    • Support for building the C examples code:
      • with CMake on Linux, macOS and Windows.
      • with Microsoft Visual C++ on Windows.
    • enrollUDT.java supports enrollments for multiple users/phrases.
  • Fixed

5.0.0-beta.6 (2016-12-16)

5.0.0-beta.5 (2016-12-02)

  • Fixed
    • Updated UDT model udt-enUS-5.1.1.1.snsr.
    • Linux fromAudioDevice uses interleaved ALSA capture for improved compatiblity with PulseAudio.

5.0.0-beta.4 (2016-11-21)

5.0.0-beta.3 (2016-11-01)

  • Added
  • Changed
    • spot-eval tool:
      • Supports live audio capture on Linux.
      • No longer shows speaker verification scores at the default verbosity level. Use -v to revert to previous behavior.
    • Allow setting ->audio-pcm to NULL, which can be used release a stream reference held by a Session instance.
    • SnsrStreamAudioDeviceAndroid() creates the AudioRecord instance in the onOpen() method, and releases it in onClose(). Previous behavior created the instance in the constructor and released it in onRelease(). The reduced AudioRecord lifespan improves audio resource contention on some Android implementations.
  • Fixed
  • Security
    • Using Java Session or Stream instances after calling the release() method now throws an exception, instead of generating a segmentation fault.

5.0.0-beta.2 (2016-10-09)

5.0.0-beta.1 (2016-07-12)

5.0.0-beta.0 (2016-06-02)

  • Added
    • Initial beta release of TrulyHandsfree 5.0.0.