From nobody Mon Nov 24 22:13:56 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dFg8T6Vtjz6HwFK for ; Mon, 24 Nov 2025 22:14:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dFg8T5jZnz3n21 for ; Mon, 24 Nov 2025 22:14:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1764022441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZnUGxoWgAm0QAQttW0UtRb/FXH590bKJdUMP0bkga9c=; b=SBuyIhE29p/pK3IrYyiEc372iYRzsnXeFsggEoLXWlFXk7mBh7inEjmpdta8xEH+IOeRtk iAUO7cU3gJ0dH9htb3q09qY/JbyUGEhCacPi0yu2FR+U3wPkdvV2g5IMGTl+5g3Y8FAPJb CFLgM/HqLf3bi4KYlDsLtwSDhGp4lfMJUJ8mLn4SLK/t1sMJEhC0mhkFxUPJyRJ+a+9qLu LDvEUYGqGumGdDZIrAn9OgqGJ5IvQ2np2o2BkKGY6z2sJ5Tqem7dYy1a04Q8WuP9Gbo9wJ bk7wza75gginvKcnTX/qhHj+uWB00q3FocBZSlNYiMy/FM/kDml6mUWwmL7I7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1764022441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZnUGxoWgAm0QAQttW0UtRb/FXH590bKJdUMP0bkga9c=; b=p9XIpMfK2ZScqzwv6IQpqvleIAc374Zzv0JNTnmHif1tNJnDwgsSZIe6ltkDCHwVzczCEe vHKIjq/b9EMW4En2NiQrKFNNPBrQShDNJqQn6QwE/jdczU6Z9vlXXgJO+tNNAYmpXP7Sba LMr21/FH6IHvr/PA7EzAvRoWLCyKxoNXdzeYTWa6E7moOI2XyL9Xzz7CzcNtfJI1zhI3cD +dK51jD4fsa1ZKAPXkeqE5nlLwK6TBRZ69h7ypW3JzIWDASt83GX6I2vC2rFnyhWnSd6Np jYZoqAyBVXva9BAdaDPUHXRa0N2CxhHU6yyTP9FMsZJ9Q5ajSICqs2cYqHjRXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1764022441; a=rsa-sha256; cv=none; b=Gn2xvQ0PiEPuAI/sAxDjiUuWYflvmHPbF/3WfMv1n/FKX9tkXtWOjYJxG/w+YxNteLUtj+ K/5lpBkSg2JtDpqvYPndqMUoEDiLy/uZbKao5QngQHXzJxHVRbiorIACScA3EkLnvYwzSK P5FlZPhdUxuZRWE/OWivFH2aK1cdMZMuDOilb72QRCVRrPuUjCV1sKdbJfMkWWPip5oSCt pe0qQm0pcsO7wAuOsTSwfj6gy3eQEnnAPOt3UphNQ+8eM54OJAOfLsmVNhQlkR6/OYDd+b kgnDddyT3jK/DbF8A28hxEWSlAwsYv/ZVQL2D1ntNPru9o7fnmAodTytPCAM0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dFg8T4zkVzYms for ; Mon, 24 Nov 2025 22:14:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 339e3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 24 Nov 2025 22:13:56 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Alfonso S. Siciliano Subject: git: 5dfa4cd509 - main - Accessibility Handbook: Add Speech Synthesizer List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asiciliano X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5dfa4cd509e9b2bfcfa386fded67de2bc3294927 Auto-Submitted: auto-generated Date: Mon, 24 Nov 2025 22:13:56 +0000 Message-Id: <6924d8a4.339e3.2908146@gitrepo.freebsd.org> The branch main has been updated by asiciliano: URL: https://cgit.FreeBSD.org/doc/commit/?id=5dfa4cd509e9b2bfcfa386fded67de2bc3294927 commit 5dfa4cd509e9b2bfcfa386fded67de2bc3294927 Author: Alfonso S. Siciliano AuthorDate: 2025-11-24 22:11:02 +0000 Commit: Alfonso S. Siciliano CommitDate: 2025-11-24 22:11:02 +0000 Accessibility Handbook: Add Speech Synthesizer Reviewed by: pauamma_gundo.com Approved by: bcr Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51286 --- .../en/books/accessibility/blindness/_index.adoc | 146 +++++++++++++++++++++ 1 file changed, 146 insertions(+) diff --git a/documentation/content/en/books/accessibility/blindness/_index.adoc b/documentation/content/en/books/accessibility/blindness/_index.adoc index 1ff0beeb44..98b3552acc 100644 --- a/documentation/content/en/books/accessibility/blindness/_index.adoc +++ b/documentation/content/en/books/accessibility/blindness/_index.adoc @@ -157,6 +157,143 @@ To create a user-specific configuration file, copy the global one to your home d For details on configuration options and keyboard shortcuts, refer to man:yasr[1]. +[[speech-synthesizer]] +== Speech Synthesizer + +The purpose of the speech synthesizer is to provide audio output for screen readers by converting on-screen text to speech. +This section explains how to install speech synthesizers, perform a basic functionality test, and locate their documentation for further configuration. + +[NOTE] +==== +Information about the FreeBSD audio subsystem can be found in extref:{handbook}multimedia[Multimedia] and in the man:sound[4] manual page. +==== + +[[espeak-ng]] +=== eSpeak NG + +The package:audio/espeak-ng[] package provides man:espeak-ng[1], a multilingual speech synthesizer. + +To install, run: + +[source,shell] +.... +# pkg install espeak-ng +.... + +To test, execute the following command: + +[source,shell] +.... +% espeak-ng "Hello World, FreeBSD!" +.... + +eSpeak NG is a versatile and feature-rich utility. +For more information, consult its manual page, man:espeak-ng[1], and the https://github.com/espeak-ng/espeak-ng/blob/master/docs/index.md[official online documentation]. + +[[flite]] +=== Flite + +package:audio/flite[] is a speech synthesizer that is part of the http://festvox.org[FestVox] project. +It is designed as a small and fast alternative to crossref:blindness[festival, Festival], built using the FestVox suite. +To install, run: + +[source,shell] +.... +# pkg install flite +.... + +To test, execute the following commands: + +[source,shell] +.... +% flite "Hello world, BSD!" +% flite_time 10:30 +The time is now, exactly half past ten, in the morning. +.... + +The project does not provide a manual page. +Documentation is available in [.filename]#/usr/local/share/doc/flite/README.md# and http://www.festvox.org/flite/doc/index.html[online]. + +[[festival]] +=== Festival + +The package:audio/festival[] package provides man:festival[1], a multilingual speech synthesizer. +To install, run: + +[source,shell] +.... +# pkg install festival +.... + +Festival needs at least one festvox-_voice_ package to generate a synthetic voice. +Run the following command to list available voice packages: + +[source,shell] +.... +% pkg search festvox +.... + +Then install a voice package. +For example, to install the American English male voice festvox-kal16-1.4.0, run: + +[source,shell] +.... +# pkg install festvox-kal16 +.... + +To test, execute: + +[source,shell] +.... +% echo "Hello world, BSD!" | festival --tts +.... + +[TIP] +==== +In the case of the error `Can't access NAS server`, example: + +[source,shell] +.... +% echo "Hello world, BSD!" | festival --tts +Can't access NAS server % +.... + +Add the following line to [.filename]#/usr/local/share/festival/lib/siteinit.scm#: + +[.programlisting] +.... +(Parameter.set 'Audio_Method 'freebsd16audio) +.... +==== + +For more information about Festival, consult its manual page, man:festival[1], and the http://www.festvox.org/docs/manual-2.4.0/festival_toc.html[official online documentation]. + +[[speech-dispatcher]] +=== Speech Dispatcher + +The Speech Dispatcher project provides a high-level device independent layer for access to speech synthesis. +To install package:accessibility/speech-dispatcher[], run: + +[source,shell] +.... +# pkg install speech-dispatcher +.... + +To test, execute: + +[source,shell] +.... +% spd-say "Hello world, FreeBSD!" +.... + +Speech Dispatcher provides two manual pages, man:spd-say[1] and man:speech-dispatcher[1], as well as https://freebsoft.org/speechd[online documentation]. + +[TIP] +==== +The package:audio/festival-freebsoft-utils[] package provides additional features for crossref:blindness[festival,Festival] to interact with Speech Dispatcher. +Refer to the https://freebsoft.org/festival-freebsoft-utils[online documentation] to know more. +==== + [[blindness-ports]] == Ports Collection @@ -294,6 +431,15 @@ Translated versions of the user guide are available in the same directory: - usersguide_fr.html: French - usersguide_pt_br.html: Brazilian Portuguese +[[blindness-webapps]] +=== Web Apps + +Some web applications can use APIs to send output to audio devices. +Refer to crossref:blindness[speech-synthesizer,Speech Synthesizer] to install a utility and the corresponding library. + +The extref:{handbook}desktop/#firefox[Firefox] browser can report the error message: `You can’t use speech synthesis because the Speech Dispatcher library is missing` or https://support.mozilla.org/en-US/kb/speechd-setup[other errors]. +To solve, install crossref:blindness[speech-dispatcher,Speech Dispatcher]. + [[blindness-liblouis]] == Liblouis