From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by befuddled.reisers.ca (Postfix, from userid 65534) id 744DA1C2C6B; Fri, 7 Feb 2020 03:10:29 -0500 (EST) Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1]) by befuddled.reisers.ca (Postfix) with ESMTPS id C67701C0D97 for ; Fri, 7 Feb 2020 03:10:27 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 1A76014A7 for ; Fri, 7 Feb 2020 09:10:26 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TpEmN-FgDy0Z for ; Fri, 7 Feb 2020 09:10:25 +0100 (CET) Received: from function.home (unknown [IPv6:2a01:cb19:956:1b00:9eb6:d0ff:fe88:c3c7]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 680B8149C for ; Fri, 7 Feb 2020 09:10:25 +0100 (CET) Received: from samy by function.home with local (Exim 4.93) (envelope-from ) id 1izyiW-0017l5-Ai for speakup@linux-speakup.org; Fri, 07 Feb 2020 09:10:24 +0100 Date: Fri, 7 Feb 2020 09:10:24 +0100 From: Samuel Thibault To: "Speakup is a screen review system for Linux." Subject: Re: driving a serial synthesizer through speech-dispatcher Message-ID: <20200207081024.o7e7hm7k7ddi7cj2@function> References: <20200207000127.GA6319@gregn.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200207000127.GA6319@gregn.net> Organization: I am not organized User-Agent: NeoMutt/20170609 (1.8.3) X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-BeenThere: speakup@linux-speakup.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Speakup is a screen review system for Linux." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Feb 2020 08:10:29 -0000 Gregory Nowak, le jeu. 06 févr. 2020 17:01:27 -0700, a ecrit: > While speech-dispatcher itself has no facility a far as I can tell to > communicate through serial ports, something like cat could be used to > send a text of string to the serial port for the synthesizer to > speak. This is crude, and there is no way to interrupt speech until it > completes. > > An even better approach is to use > /sys/accessibility/speakup/synth_direct for the speech output. This > would use speakup settings in use for the synthesizer. The problem > with this is the same as with the cat command; no way to interrupt > speech, Indeed. But there is another approach, which was made for this: using /dev/synth. For now that file only supports writing to it to get text emitted, but ioctls can be defined to drive it, such as setting pitch etc. in a portable way across synthesizers (speakup will handle these details), but also interrupting. That all happens in speakup's devsynth.c and can be a relatively easy task for kernel hacking beginners. Samuel