| Version 0.12 (unreleased) |
| * Add openjtalk module. |
| * Add socket activation. |
| * Add language and variant parameters to "list voice" command. |
| * Add libspeechd-module library for making it simpler to create external spd modules. |
| * libspeechd: Simplify buffer management. |
| * Fix use of semaphores on MacOS. |
| * Fix splitting long UTF-8 sequences. |
| * Update CLDR to version 45, symbols from orca 45.2, and symbols from NVDA. |
| * Add spd_fd function to C api. |
| * Detect module failures from generic module. |
| * Make the fallback espeak-ng and dummy modules hardcoded. |
| * Better detect generic module failures to disable them. |
| * pulse: Use asynchronous API to avoid buffer underruns. |
| * generic: Make stripping punctuation use locale charset. |
| * audio: Fix logging from audio modules in server-side audio. |
| * Sort Baratinoo engine higher. |
| * espeak-ng-mbrola: Fix mbrola voices with rate different from 22KHz |
| * Add a run-spd-say script and make run-speechd and run-spd-say able to talk directly. |
| * server: fix daemon mode on macOS with libao. |
| * Add initial pipewire support. |
| |
| Version 0.11.5 |
| * Update CLDR to version 43 and symbols from NVDA. |
| * Fix parsing and emitting space character. |
| * Reduce espeak buffer size to avoid ssml issues. |
| * Add --disable-doc. |
| * Fix spd-conf not being able to set the default module. |
| * Fix pausing without index. |
| * ibmtts: Fix parameter reset. |
| * ibmtts: Disable using the module punctuation by default. |
| |
| Version 0.11.4 |
| * Update CLDR to version 42 and symbols from NVDA. |
| * Fix audio plugin loading with dlopen. |
| * Fix atomicity of getting reply in threaded mode. |
| |
| Version 0.11.3 |
| * Fix back DefaultModule configuration. |
| * pico: Avoid falling to english when passed a bogus voice name. |
| * espeak: Fix setting voice type. |
| |
| Version 0.11.2 |
| * Fix loading xx-yy locales. |
| * Various memory leaks fixes. |
| * Add mimic3 configuration file. |
| * pico: Fix setting language vs voice. |
| * Make sure that modules report a list of voices. |
| * Update CLDR to version 41, symbols from NVDA and orca. |
| * Allow building without ltdl. |
| * Re-enable SSML in espeak-ng-mbrola module. |
| |
| Version 0.11.1 |
| * Add SPEECHD_PLUGIN_DIR environment variable. |
| * Fix listing voices of the default module. |
| |
| Version 0.11 |
| * Support playing audio through the server. |
| * Simplify modules thanks to this. |
| * modules: Add support for loading from user's .local/libexec/speech-dispatcher. |
| * symbols: Process symbols.dic before emojis.dic. |
| * symbols: Enable speechd symbols processing by default. |
| * modules: Moved speech dispatcher modules to /usr/libexec/speech-dispatcher-modules |
| (but keep compatibility with old /usr/lib/speech-dispatcher-modules path). |
| * espeak-ng: Add support for mbrola voices. |
| * ibmtts/voxin: Improve language selection. |
| * ibmtts/voxin: Add option to disable punctuation commands. |
| * ibmtts: Fix library load. |
| * ibmtts: Do not build by default on other systems than 32bit PC. |
| * mary: Add auto-detection. |
| * mary: Add newer voices. |
| * mary: Add volume, pitch, and rate support. |
| * ivona: Add auto-detection. |
| * festival: Strip head silence. |
| * generic: Add DefaultVoice option. |
| * es_ES: Add some gender neutral rules. |
| * Add SPEECHD_CMD environment variable. |
| * modules: Rewrite main functions with BSD licence, to let proprietary modules easily reuse this as a basis. |
| * modules: Add skeletons ready for use as a basis for new modules. |
| * Add script to run speechd from the build tree. |
| * Update CLDR to version 39, symbols from NVDA and orca. |
| * Add Esperanto translation. |
| * Sort modules by quality, let the best quality module be the default. |
| |
| Version 0.10.2 |
| * generic: Add support for sound icons |
| * Add French, Norwegian Bokmål, Portuguese, Brazilian Portuguese, and Russian translations. |
| * Add voxin module variant. |
| * Factorize espeak module with espeak-ng module. |
| * Make ibmtts and voxin use the common queue helpers. |
| * Fix python bindings against python 3.9. |
| * Reference the golang bindings. |
| * Add spd_get_client_id. |
| * Make key, char and sound_icon commands return message id. |
| * Expose modulebindir in speech-dispatcher.pc. |
| * Remove generic modules for synths that have a non-generic module. |
| |
| Version 0.10 |
| * Add punctuation level "most". |
| * Rework thread synchronization. |
| * Move espeak/espeak-ng audio queuing to shared file, rework it. |
| * Make baratinoo use this audio queueing, enable marks, and support |
| responsiveness parameter. |
| * Add support for Baratinoo engine 8.6 |
| * Show mark progression in spd-say. |
| * Add --character option to spd-say. |
| * Put country/region in language instead of variant. |
| * pico, generic: fix setting voice by language. |
| * generic: Add fallback voices for generic languages. |
| * symbols: Add support for SSML. |
| * symbols: Add SymbolPreprocFile directive to load several symbol files. |
| * symbols: Replace DefaultSymbolsPreproc directive with SymbolsPreproc directive |
| to have more fine-grained control over server preprocessing. |
| * symbols: Import emojis and unicode font variants support from NVDA and Unicode |
| CLDR and UnicodeData. |
| * symbols: Import some symbols from Orca. |
| * symbols: Add rules to drop gender-neutral forms. |
| * symbols: Add support for group references. |
| * Disable Mary-TTS module by default. |
| * Replace AudioPulseServer option with AudioPulseDevice. |
| * Fix default pulse latency to 10ms to avoid pulseaudio distorted output. |
| * Made client isolation stronger for Snap/Flatpak support. |
| |
| Version 0.9.1 |
| * Add module for the non-free IBM TTS (voxin) speech synthesis. |
| * Extend licence to later versions of GPL and LGPL. |
| * Update mailing list address to savannah. |
| * Make generic modules fallback to existing voices. |
| |
| Version 0.9 |
| * Add modules for non-free Baratinoo (VoxyGen) and Kali speech syntheses. |
| * Add configuration file for the Mary-TTS system. |
| * Add configuration file for espeak-ng + mbrola. |
| * Set the pulse client name when using the generic module with paplay. |
| * espeak-*-mbrola-generic: Update voice list. |
| * Auto-detect module availability. |
| * Make generic module provide voice list. |
| * Add systemd service file. |
| |
| Version 0.8.8 |
| * Add German translation, thanks to Chris Leick for the patch |
| * Fix some spelling mistakes, thanks to Paul Gevers for the patch |
| * Some slight code improvements |
| |
| Version 0.8.7 |
| * Further fixes to spd-conf, which should now work properly. |
| * Split the espeak-ng driver code into its own source file. |
| * Add a work-around to the espeak-ng driver to account for spaces in voice |
| names which recently appeared in espeak-ng git master. This will properly |
| be fixed in 0.9. |
| * Voice names are not forced to lower case, due to espeak-ng git master now |
| having multi-case voice names. |
| * Fix stripped audio output from the flite module, thanks to Samuel Thibault. |
| * Further code and build improvements. |
| |
| Version 0.8.6 |
| * Various internal code improvements. |
| * Fix more compiler warnings. |
| * Python bug fixes with thanks to Sebastian Humenda. |
| |
| Version 0.8.5 |
| * More unused code removal. |
| * Fix more compiler warnings. |
| * Use GLib main loop for the main server thread. |
| * Implement a shutdown timer in the server, which activates after 5 seconds |
| with no clients connected. |
| * Add support for espeak-ng. |
| * Configuration documentation for the ibmtts module. |
| * Removal of unused configuration options from the ibmtts module. |
| * Add command-line argument to allow for custom modules location |
| |
| Version 0.8.4 |
| * Updated documentation for required dependencies and where to find them. |
| * Removed unused code. |
| * Fixed compiler and GLib warnings. |
| * Cleanup header definitions and inclusions. |
| * Enabled silent rules by default |
| * Fix language identification references. |
| |
| Version 0.8.3 |
| * Add API methods to get language, rate, pitch, and volume. |
| * A lot of code cleanup, and compatibility improvements. |
| * Removed all references to GNOME Speech, since it has long since been |
| deprecated. |
| * Fix some inconsistancy in the SSIP API for voice type. |
| * The SET VOICE SSIP command is now deprecated, and will be removed in 0.9. |
| * The C library API now provides macro definitions for major, minor, and micro |
| versions in libspeechd_versions.h. |
| * The libsndfile library is now a mandetory dependency to improve the user |
| experience around sound icons. |
| * Fix a possible crash in the festival driver. |
| * Add a configuration option to the espeak driver to show voice variants in the |
| voice list. This will remain until a proper variants retrieval API is added |
| for compatible synthesizers. |
| |
| Version 0.8.2 |
| * Add convenience methods to the libspeech API to free module list and voice |
| data structures. |
| * Add method to the libspeechd API to get the current output module, and |
| update the documentation accordingly. |
| * The API is now licensed under the GNU Lesser General Public License v2.1 |
| or later. |
| * The spdconf configuration utility is now translatable. |
| * Fixed a bug where speech-dispatcher would fail to start if the user |
| configuration directory existed but did not contain a config file. |
| * Install the spdconf desktop file. |
| |
| Version 0.8.1 |
| * User dictionaries support added to the IBMTTS driver |
| * Added a pico configuration file for use with the generic driver |
| * Better support for multi-arch enabled distros to facilitate the use of the |
| i386 only IBMTTS driver being easily installable on an amd64 system |
| * Bug fixes, and documentation cleanup |
| |
| Version 0.8 |
| * Python 3 compatibility of the Python bindings |
| * User configuration, logs and runtime files are now stored in |
| directories according to the XDG specification |
| * Internationalization of spd-say and translations into Hungarian |
| and Czech languages |
| * Espeak output can now use libsonic for faster speech |
| * Pico output module |
| * Lots of bugfixes, cleanups and fine-tunnings |
| |
| Version 0.7.1 |
| * Easy configuration of the client communication method using a |
| single environment variable SPEECHD_ADDRESS. |
| * Advanced autospawn -- server is autostarted only when its |
| communication channel matches the communication channels requested |
| by the client. Local server is not started when client attempts to |
| connect to a remote server. |
| * Both libspeechd and python library now report a detailed error |
| information in case of connection failure (why has connect failed, |
| why was it not possible to autostart the server, what has the |
| server reported etc.) Clients can directly show this information |
| to the user and the user doesn't have to search them in logfiles. |
| * Improvements in memory usage |
| * Cleanup of priorities of messages in logging output |
| * Various bugfixes, cleanups and fine-tunnings |
| |
| Version 0.7 |
| * Speech Dispatcher uses UNIX style sockets as default means of communication, |
| thus avoiding the necessity to choose a numeric port and greatly easying |
| session integration |
| * Autospawn -- server is started automatically when a client requests it |
| It can be forbidden in the appropriate server configuration file |
| (thanks to Luke Yelavich) |
| * Pulse Audio output reworked and fixed (thanks to Bill Cox and Rui Batista) |
| * Dispatcher runs as user service (not system service) by default |
| and doesn't require the previous presence of ~/.speech-dispatcher |
| directory |
| * All logging is now managed centrally, not by separate options |
| (thanks to Luke Yelavich) |
| * Graceful audio fallback (e.g. if pulse is not working, use Alsa...) |
| (thanks to Luke Yelavich) |
| * Audio output to different soundsystems through the |
| libao library (thanks to Marco Skambraks) |
| * Various bugfixes and fine-tunnings |
| * Updated documentation |
| |
| Version 0.6.7 |
| * Central settings for preferred audio output method |
| * Dummy output module gives a pre-recorded message whenever |
| no other output module works |
| * Possibility to switch on verbose logging over SSIP |
| for easy debugging and bug-reporting from client applications |
| * 'spd-conf' configuration, diagnostics and troubleshooting tool |
| * Volume settings in Pulse Audio |
| * Pulseaudio output now keeps connection to daemon open. |
| * Punctuation mechanism in IBM TTS is now configurable |
| * New generic output modules for Espeak with Mbrola |
| and for Cepstral Swift. |
| * Bugfixes |
| |
| Version 0.6.6 |
| * Bugfixes (ALSA audio output, libspeechd connection |
| failure handling and others) |
| |
| Version 0.6.5 |
| * Pulse Audio output module (thanks to Gilles Casse) |
| * Speech Dispatcher is now adapted for easy setup and using |
| under ordinary system user accounts |
| * Bugfixes |
| |
| Version 0.6.4 |
| * Native output module for eSpeak (thanks to Lukas Loehrer) |
| * Support for punctuation settings in the Generic output module |
| (thanks to Steve Holmes) |
| * Default audio output for all modules switched to ALSA |
| * Support for listing output modules and voices supported by |
| a synthesizer |
| * Bug fixes (SMP related bugs, bugs in libspeechd and others) |
| |
| Version 0.6.2 |
| * Bug fixes. |
| * Generic output module for eSpeak includes definitions for all |
| known languages. |
| * Python interface now supports callbacks. |
| |
| Version 0.6.1 |
| * Bug fixes |
| * Generic output module support for the eSpeak synthesizer (free, GPL) |
| * Output module for Cicero (french TTS, GPL but requires mbrola) |
| * Output module for IBM TTS (non-free) |
| * Revision and stabilization of the Python interface |
| |
| Version 0.6 |
| * ALSA and experimental NAS sound output supported (apart from OSS) |
| * SSIP implementation now supports events notification and index marking |
| * Improved documentation |
| * spd-say client functionality expanded (stopping, client name setting) |
| * Better performance |
| |
| Version 0.5 |
| * SSIP now supports SSML (Speech Synthesis Markup Language) messages. |
| * Communication with Festival is highly improved. |
| * Improved DTK Software Synthesis support. |
| * Python interface library |
| * Bugfixes |
| |
| Version 0.4 |
| * Volume settings in the Generic output module. |
| * The 16-bit voice for Flite is installed if available. |
| * spd-say now accepts the most important speech parameters. |
| * libspeechd now uses TCP_NODELAY to make the communication faster. |
| * Bugfixes. |
| |
| Version 0.3 |
| * Volume setting commands in SSIP. |
| * Package and binary renamed to speech-dispatcher. |
| * Generic output module configuration file for DTK Software Synthesis. |
| Thanks to Jacob Schmude. |
| * Document with definition of SSIP is now separated. |
| * Debugging. |
| |
| Version 0.2 |
| * Improved documentation (definition of the SSIP |
| protocol is now a separated document) |
| * Caching of characters, keys and sound icons in the |
| Festival output modules brings much quicker responses |
| for these types of events. |
| * If some output module fails to load completely (e.g. because |
| it's unable to connect to the synthesizer), error is reported |
| to Speech Dispatcher and written into the log file. (Sadly, |
| this doesn't work with kernels that don't support real threading). |
| * Necessary recoding in Festival output module is now retrieved |
| from Festival itself. |
| |
| Version 0.1 |
| * First official release |
| * Improved documentation |
| * We have abandoned the idea to do some text processing in Speech Dispatcher, |
| it's all handled in the output modules |
| * New scheme scripts so that Festival supports some of the SSIP commands. |
| * Improvements in the C-library |
| * Documentation in Czech. |
| * Debugging, testing. |
| |
| Version 0.0.10 |
| * Output modules are now external programs communicating through stdin/stdout |
| * Output modules can be reloaded at run time sending SIGUSR1 to speechd |
| * Multiple generic modules loaded at once supported |
| * Filtering in output layer of Speech Dispatcher is now optional |
| and can be handled later in output_modules or in the TTSs they use |
| * Client specific configuration |
| * Bug-fixes |
| |
| Version 0.0.9 |
| * Generic output module (+definition for the Epos synthesiser) |
| * Better autoconf configuration |
| * Restructured documentation |
| * Block support in SSIP |
| * Daemon implementation |
| * Better configuration |
| * Capital letters recognition |
| * Experimental support for ogg sound icons. |
| * Bug-fixes |
| |
| Version 0.0.8 |
| * Output modules reworked (now using a common mechanism) |
| * New priority system (now using 5 priorities) |
| * Improved documentation |
| * Improved C API |
| * Tables for czech language |
| * run_test and new tests, sayfortune.sh (src/tests/) |
| * Many bugs fixed |
| * Renamed to Speech Dispatcher |
| |
| Version 0.0.7 |
| * Support for sound-mapped icons (cstsnd output module) |
| * Debian package support |
| * Apollo output module |
| * Experimental Python API |
| * Tests in src/tests/ |
| * Improved PAUSE mechanism |
| |
| Version 0.0.6 |
| * Speech Dispatcher now works in 2 threads for better performance |
| * New output module for Flite (using Flite C API) |
| * Added debug mode |
| * Spelling, punctuation, CHAR and KEY commands |
| * Heavily improved documentation of SSIP (thx Milan Zamazal) |
| * Chages in SSIP |
| * Emacspeak server |
| * Python API |
| |
| Version 0.0.5 |
| * Renamed back to Speech Dispatcher |
| * Speech Dispatcher Center -- history and configuration client (first version) |
| * command line / menu logic |
| * browsing through clients |
| * browsing through client's history |
| * stop/pause/resume functions |
| * speech support |
| * command line completion |
| * Lower CPU usage |
| * Sound icons support |
| |
| Version 0.0.4 |
| * Automake and autoconf support |
| * Robod now uses GLib2 instead of GDSL |
| * More polished source |
| * Improved configuration of server |
| * More functions in the API. |
| |
| Version 0.0.3 |
| * API for communication with Robod. |
| * New output module for flite. |
| * History commands implemented. |
| * Shared library API in Robodlib.so. |
| |
| Version 0.0.2 |
| |
| * API for output modules designed |
| * sample output module implementation written |
| * server configuration based on DotConf implemented |
| * analysis of input protocol requirements documented |
| |
| Version 0.0.1 |
| |
| * Project started ... |
| * Design documentation written (using DocBook XML) |
| * pre API designed |
| * simple server core and client example written |
| * CVS repository and other project stuff set up |
| |
| |
| Copyright (C) 2002-2012 Brailcom, o.p.s |
| Copyright (C) 2002-2012 Brailcom, o.p.s |
| Copyright (C) 2018-2024 Samuel Thibault <samuel.thibault@ens-lyon.org> |
| Copyright (C) 2018 Florian Steinhardt <no.known.email@example.com> |
| |
| This program is free software; you can redistribute it and/or modify it under |
| the terms of the GNU General Public License as published by the Free Software |
| Foundation; either version 2 of the License, or (at your option) any later |
| version. |
| |
| This program is distributed in the hope that it will be useful, but WITHOUT ANY |
| WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
| PARTICULAR PURPOSE. See the GNU General Public License for more details (file |
| COPYING in the root directory). |
| |
| You should have received a copy of the GNU General Public License |
| along with this program. If not, see <https://www.gnu.org/licenses/>. |