Accessibility in the FreeBSD installer and console

29 views
Skip to first unread message

Hans Petter Selasky

unread,
Jul 7, 2022, 1:34:34 PM7/7/22
to FreeBSD Current
Hi,

The only argument I've heard from some non-sighted friends about not
using FreeBSD natively is that ooh, MacOSX is so cool. It starts
speaking from the start if I press this and this key. Is anyone here
working on or wanting such a feature? I mean it should be so much easier
to text to speech our text based unicode console, than what MacOSX is
doing, by tracking screen changes intelligently inside newcons in the
kernel, and feeding that into a character device, that to espeak or
whatever can read it.

--HPS

Klaus Küchemann

unread,
Jul 7, 2022, 4:13:38 PM7/7/22
to Hans Petter Selasky, freebsd...@freebsd.org

> Am 07.07.2022 um 19:32 schrieb Hans Petter Selasky <hps at selasky org>:
>
> Hi,
>
> The only argument I've heard from some non-sighted friends about not using FreeBSD natively is that ooh, MacOSX is so cool. It starts speaking from the start if I press this and this key. Is anyone here working on or wanting such a feature?

Possibly they didn’t want to be rude and your friends didn't tell you the other argument :-) : according to the corresponding wiki page FreeBSD doesn't natively support any audio output at all on your friends current M1 Mac hardware.
since quite nothing is currently supported you probably will first take over working on the Audio driver …..and of course USB :-)

> I mean it should be so much easier to text to speech our text based unicode console, than what MacOSX is doing, by tracking screen changes intelligently inside newcons in the kernel, and feeding that into a character device, that to espeak or whatever can read it.

nowadays called MacOS ( w/o the X)… as far as I remember even System7 Mac of 1984 had text to speech features
so it might be hard to convince a Mac users with such a brand new voice over killer app in native FreeBSD ;-)-
but I would ask your friends who can judge that.

>
> --HPS
>


K.

John Kennedy

unread,
Jul 7, 2022, 5:29:38 PM7/7/22
to Klaus Küchemann, Hans Petter Selasky, freebsd...@freebsd.org
On Thu, Jul 07, 2022 at 10:11:52PM +0200, Klaus Küchemann wrote:
> > Am 07.07.2022 um 19:32 schrieb Hans Petter Selasky <hps at selasky org>:
> > The only argument I've heard from some non-sighted friends about not using FreeBSD natively is that ooh, MacOSX is so cool. It starts speaking from the start if I press this and this key. Is anyone here working on or wanting such a feature?
>
> Possibly they didn’t want to be rude and your friends didn't tell you the other argument :-) : according to the corresponding wiki page FreeBSD doesn't natively support any audio output at all on your friends current M1 Mac hardware.
> since quite nothing is currently supported you probably will first take over working on the Audio driver …..and of course USB :-)

I think a huge benefit that Apple would have is that they might be
able to guarantee some sort of audio speaker, period, since they
control the hardware that the software runs on. That might be a big ask
on FreeBSD, but maybe if there was some relatively ubiqitous

John Kennedy

unread,
Jul 7, 2022, 5:46:36 PM7/7/22
to Klaus Küchemann, Hans Petter Selasky, freebsd...@freebsd.org
On Thu, Jul 07, 2022 at 10:11:52PM +0200, Klaus Küchemann wrote:
> > Am 07.07.2022 um 19:32 schrieb Hans Petter Selasky <hps at selasky org>:
> > The only argument I've heard from some non-sighted friends about not using FreeBSD natively is that ooh, MacOSX is so cool. It starts speaking from the start if I press this and this key. Is anyone here working on or wanting such a feature?
>
> Possibly they didn’t want to be rude and your friends didn't tell you the other argument :-) : according to the corresponding wiki page FreeBSD doesn't natively support any audio output at all on your friends current M1 Mac hardware.
> since quite nothing is currently supported you probably will first take over working on the Audio driver …..and of course USB :-)

I think a huge benefit that Apple would have is that they might be
able to guarantee some sort of audio speaker, period, since they
control the hardware that the software runs on. That might be a big ask
on FreeBSD, but maybe if there was some relatively ubiquitous assistance
hardware, maybe doable. But text-to-speech (and then WHAT language's
speech) is a big software chunk, audio layers seems large, and then
having to worry about the potential driver issues (while not being able
to see-to-hear any potential setup issues) seems huge.

Everybody seems happy farming that out to the internet, except on
system setup you're not connected to the internet yet.

Plus Apple has some deep hooks into the app-stack since you're
basically using their toolkit to make a graphical app, so they can
guarantee some potential for GUI-textbox-speech, where FreeBSD has a
hodgepodge of graphical toolkits (KDE, GTK, Gnome, etc).

Hans Petter Selasky

unread,
Jul 7, 2022, 5:50:28 PM7/7/22
to John Kennedy, Klaus Küchemann, freebsd...@freebsd.org
Hi,

Does Apple support voice-over in its bootloaders too? I think not, so at
some point of technical breakage you will be stuck anyway - right?

--HPS

Klaus Küchemann

unread,
Jul 7, 2022, 5:51:09 PM7/7/22
to John Kennedy, Hans Petter Selasky, freebsd...@freebsd.org
`found
< • Introduced tascodec(4), a driver for the TI TAS2770/TAS5770 digital audio amplifier codec found on Apple M1 Macs.

• Introduced aplnco(4), a driver for the Numerically-controlled oscillator (NCO) clock which drives the audio clocks on Apple silicon.
>
in
https://www.openbsd.org/plus71.html

and for some stunning fun :

https://www.youtube.com/watch?v=2B-XwPjn9YY#t=03m17s
(start minute 3:17 )
:-)






Klaus Küchemann

unread,
Jul 7, 2022, 7:01:57 PM7/7/22
to Hans Petter Selasky, John Kennedy, freebsd...@freebsd.org
> —HPS

good point … ( I think you mean feature textToSpeech when e.g. keyboard-interrupting into the fbsd-boot prompt in native Mac boot)

But implementing text to speech in native u-boot/uefi & FreeBSD bootloader on a Mac?
..sounds like a huge project after having FreeBSD natively ported to Apple M1/M2..
But if that’s on your list I would not underestimate you :-)

...of course you would have VoiceOver/TextToSpeech e.g. in a uart- shell console when booting FreeBSD native on another board/machine…and that seems to be the easiest way for non-sighted FreeBSD users/developers using the Mac platform for VoiceOver who want to use fbsd-current native( those who are interested in bootloader issues;-)

If you meant VoiceOver in MacOS bootloader : Macusers expect their Macs problem-free, a special world, unknown in FreeBSD:-)
There are exceptions, e.g. if you use a new MacOS on an older unsupported Mac - but VoiceOver wouldn’t help much there ;-)

K.





Hans Petter Selasky

unread,
Jul 8, 2022, 6:55:39 AM7/8/22
to Klaus Küchemann, John Kennedy, freebsd...@freebsd.org, Peter Laursen
Hi,

Here is the complete patch for Voice-Over in the FreeBSD console:

https://reviews.freebsd.org/D35754

You need to install espeak from pkg and then install the
/etc/devd/accessibility.conf file and then run sysctl
kern.vt.accessibility.enable=1 after booting the new kernel.

It is freaking awesome!

There might be some bugs, but it worked fine for me!

--HPS

Stefan Esser

unread,
Jul 8, 2022, 8:20:48 AM7/8/22
to Hans Petter Selasky, Klaus Küchemann, John Kennedy, Peter Laursen, FreeBSD CURRENT
Am 08.07.22 um 12:53 schrieb Hans Petter Selasky:
The espeak port is marked for deletion on 2022-06-30 (but has
not been deleted, yet):

DEPRECATED= Last release in 2014 and deprecated upstream
EXPIRATION_DATE=2022-06-30

There is espeak-ng, which took over the sources, and I have
prepared a port update.

I had asked a member of the portmgr team whether it would be
preferred if the espeak port was updated to use sources from
the espeak-ng repository (the version numbers continue from
the last espeak release), or whether if I should create a new
port for espeak-ng.

But I have not got any response on that question ...

The current status of the espeak-ng port is that it generates
WAV output, but it does not work with the sound system in
FreeBSD, anymore.

The 2 sound options available in the espeak port seem to no
longer be supported.

I did not have time to look into this issue, but I do assume
that the sound output from the old espeak code could easily
be restored in espeak-ng.

Regards, STefan

PS: A compressed tar of the WIP espeak-ng port is attached,
in case you are interested. I expect it to be stripped
off in the mail list ...
OpenPGP_signature

David Chisnall

unread,
Jul 8, 2022, 8:36:32 AM7/8/22
to freebsd...@freebsd.org
On 08/07/2022 13:18, Stefan Esser wrote:
> Am 08.07.22 um 12:53 schrieb Hans Petter Selasky:
>> Hi,
>>
>> Here is the complete patch for Voice-Over in the FreeBSD console:
>>
>> https://reviews.freebsd.org/D35754
>>
>> You need to install espeak from pkg and then install the
>> /etc/devd/accessibility.conf file and then run sysctl
>> kern.vt.accessibility.enable=1 after booting the new kernel.
>>
>> It is freaking awesome!
>>
>> There might be some bugs, but it worked fine for me!
>
> The espeak port is marked for deletion on 2022-06-30 (but has
> not been deleted, yet):
>
> DEPRECATED=     Last release in 2014 and deprecated upstream
> EXPIRATION_DATE=2022-06-30
>
> There is espeak-ng, which took over the sources, and I have
> prepared a port update.

Many years ago, I added the speech synthesis APIs from OS X to GNUstep
using flite:

https://www.freshports.org/audio/flite/

flite it small (the port contains separate .so and .a files for each
voice, a minimal version needs only one), has no dependencies outside of
the base system, and is permissively licensed. I haven't used it for a
while (apparently it's had a new major release since I last did), but I
was happily using it for text-to-speech on FreeBSD 10-15 years ago and
it is still in ports.

David

Hans Petter Selasky

unread,
Jul 8, 2022, 8:48:50 AM7/8/22
to David Chisnall, freebsd...@freebsd.org
Hi,

I've updated my patch a little bit, so please re-fetch it.

I tried:

action "echo -- $text | rtprio 8
/usr/local/bin/flite_cmu_us_slt"

And it doesn't sound as good as espeak :-(

Do we have more of these in ports which are know to be good?

--HPS

Michael Gmelin

unread,
Jul 8, 2022, 9:20:29 AM7/8/22
to Hans Petter Selasky, David Chisnall, freebsd...@freebsd.org


On 8. Jul 2022, at 14:48, Hans Petter Selasky <h...@selasky.org> wrote:

On 7/8/22 14:34, David Chisnall wrote:
Snipsnap

Hi,

I've updated my patch a little bit, so please re-fetch it.

I tried:

action                  "echo -- $text | rtprio 8 /usr/local/bin/flite_cmu_us_slt"

And it doesn't sound as good as espeak :-(

Do we have more of these in ports which are know to be good?


A very long time ago I used festival, which seems to exist as a package (pkg install festival festvox-voiceyouneed).

It’s quite old though (I assume that "flite" is the light version of it), back then it sounded ok, but we were easy to impress ;)

Cheers

Klaus Küchemann

unread,
Jul 8, 2022, 9:23:16 PM7/8/22
to Hans Petter Selasky, freebsd...@freebsd.org

> Am 07.07.2022 um 19:32 schrieb Hans Petter Selasky <hps at selasky.org>:
>
> Hi,
>
> The only argument I've heard from some non-sighted friends about not using FreeBSD natively is that ooh, MacOSX is so cool. It starts speaking from the start if I press this and this key. …….

Hi,

I would like to shortly introduce myself.
I am indispensable for all your friends and everybody else
and yes, I can speak (and I can even hear)-
I am the de facto standard for everything audio for Apple users and I even can
make users of other OSes very very happy.
> —HPS

Congratulations !

But while reading the docs of your system`s bluetooth drivers I became a bit afraid
that I won’t be fully supported , I hope this is unfounded.

It’s not only that I’m a shiny white culty thing ..
your friends can leave me in their ears and can simultaneously hear the surroundings AND the Audio output.
That’s why I’m indispensable…

Will you ensure that at least one bt-chip will support me in your system and will you
care for the corresponding drivers?

If yes I would be happy to meet you in your VT-console ,

And when you later even support vice versa:
-SpeechToText- ,
It’s possible that we become friends for life .


Best Regards,
yours

AirPodsPro :-)





Michael Gmelin

unread,
Jul 9, 2022, 8:01:20 PM7/9/22
to Klaus Küchemann, Hans Petter Selasky, freebsd...@freebsd.org


> On 9. Jul 2022, at 03:22, Klaus Küchemann <macip...@googlemail.com> wrote:
>
> 
But why would you ever leave your family that was designed from the ground up to match you and any need you could potentially have? And why would you not share any word your "owner" (the person who spent money on you, so they could use you) says with your creator and all its connected systems and entities, so that they could be fully analyzed and monetized?

-m

p.s. seriously, if you want the full Apple experience, you really should stay within their ecosystem. Trying to compete with that (with all its questionable implications in terms of digital sovereignty) is pointless, especially if you are neither broke nor care too much about privacy. If these things mean nothing to you, just buy the off the shelf solution and save the time that tinkering with free alternatives (that will never be as smooth as "the real thing") would require and spend it on things that mean something to you (friends, family, charity).

Klaus Küchemann

unread,
Jul 10, 2022, 3:24:00 AM7/10/22
to Michael Gmelin, freebsd...@freebsd.org
Hi,


> But why would you ever leave your family that was designed from the ground up to match you and any need you could potentially have?

Of course : home sweet home.. but after these pandemic times, you're always happy to receive invitations from other families.
I’m nearly sure that HPS voiceOver invitation to his Macuser-friends will be a successful event if e.g. me, the AirPods Pro
Would have been supported by a boot-script or similar by default, just a suggestion , and I am supported by many OSes, not only that from my creator.

> And why would you not share any word your "owner" (the person who spent money on you, so they could use you) says with your creator and all its connected systems and entities, so that they could be fully analyzed and monetized?

my current owner doesn't like being reminded that he doesn’t own much which could be monetized :-)

>
> -m

yours AirPods Pro
>
> p.s. seriously, if you want the full Apple experience, you really should stay within their ecosystem. Trying to compete with that (with all its questionable implications in terms of digital sovereignty) is pointless, especially if you are neither broke nor care too much about privacy. If these things mean nothing to you, just buy the off the shelf solution and save the time that tinkering with free alternatives (that will never be as smooth as "the real thing") would require and spend it on things that mean something to you (friends, family, charity).

p.s. (not everything strictly seriously;-). , what you say about the full Apple experience applies to many (Desktop) Macusers but, well, some years ago Apple cut out every integrated OpenSource web services and other services from MacOS Server (for good reasons) and left Mac administrators alone with these always buggy OpenSource Operating Systems, then you get used to these free tinker alternatives. and after a while you even feel comfortably at the vfs_ mount root-prompt, just to type in a question mark short before panic :-) …
I assume that HPS` VoiceOver port to FreeBSD is dedicated to Mac addicts
And because of that : Isn’t it more „privacy" with the AirPods Pro for this usecase than with e.g. USB-speakers where everybody around can hear what comes out ;-)

K.

..thanks for writing and of course I leave this thread now because I know this is a technical mailing list, and not suitable for philosophizing, but nevertheless very interesting and thumbs up for HPS VoiceOver project


Hans Petter Selasky

unread,
Jul 10, 2022, 5:56:51 PM7/10/22
to Klaus Küchemann, Michael Gmelin, freebsd...@freebsd.org
Hi Klaus and Michael,

I've tried to make some graphical QT v6.x cross platform so-called
accessible applications. It is really hard to get it right. If you use
one QT widget, everything is read perfectly in MacOS and if you use
another QT widget, or a custom one, it is just not working. Or if you
have a text editor you need to make sure you can tab out of it.

Then a friend of mine said he started to use mac-ports and asked if I
can port my applications from AppStore to there, because it is so much
easier for him to use --- sigh, why could he not just re-install his Mac
M1 with FreeBSD. pkg has just about everything he needs! Only that he
needs to learn a few things the FreeBSD way.

FreeBSD could beep all sound cards from 0 to 9 during single user mode
for example, to indicate something is wrong. Some kind of espeak daemon
could also be started from single user-mode.

FreeBSD could technically support USB audio from the USB loader. We do
have a USB stack which can be built as a single-threaded blob into the
loader, but probably using the bell character via the BIOS is simpler.

Many times when I see people use FreeBSD it is through Windows or MacOS.
There is nothing wrong about that. I personally however prefer Windows
through FreeBSD. Now if you would listen to me for a bit you will get
why FreeBSD may be your only bet. Both Apple and Microsoft are totally
tied up companies. I claim they can't do anything about computer
programs that violates copyright law. You will be completely banned from
their stores. But who would need to break "the law" to do something
which most other people can do by not breaking the law?

I've personally had a dream about being able to play the piano, but my
brain simply won't do it. So I made a computer program to fill the gaps.
The problem is that many so-called TAB sites are full of "stupid"
copyright protections, obfuscating all the simple plain-text everyone
else can see with their plain eyes, I just need it for my program, with
tons JavaScript parsing, to make the text non-machine readable:

Go here first and look at the CPU-usage and HTML source:
https://www.ultimate-guitar.com/

Then go here and compare:
https://nortabs.net

And nobody wants to use a program that can only play a 100 Norwegian
songs, when UG has 1.4 million multi-national songs available, in
exactly right format I need. You will find people tried to talk to UG,
but with no success.

Is it legal to download movies using the Pirate bay if you are blind?
Say you want all sub-titles on a braille device and need
machine-readable subtitles?

What if you have some kind of other disability and really need
machine-readable formats to do your job?

It's like being allowed to remove the copyright protection from that
PDF, because you are not blind or deaf, but something else, which in the
future will be mitigated by a machine.

The only option for Apple, Google and Microsoft products, is so-called
jail-breaking and cracks, which often gets your device infected by viruses.

Apple says that all browsers on iOS must use the WebKit layout engine.
That is so clever and I see another reason why. They don't want anyone
to have access to machine readable formats, because then someone could
remove all the ADs or someone could clone all the TABs on UG or blah
blah blah.

What prevents you from feeding audio of an e-book back into Google
translate and selling the resulting text?

What prevents you from OCR-ing ultimate-guitar?

It's getting late here now and I think I've shared enough thoughts for
today. Hope you find something meaningful in what I've written.

--HPS

Christer Edwards

unread,
Jul 10, 2022, 6:27:56 PM7/10/22
to freebsd...@freebsd.org
unsubscribe

Hans Petter Selasky

unread,
Jul 18, 2022, 8:47:18 AM7/18/22
to freebsd...@freebsd.org
Hi,

There are three work in progress patches pending:

1) Updates for kernel
https://reviews.freebsd.org/D35754

2) Updates for beep
https://reviews.freebsd.org/D35772

3) New vtspeakd daemon
https://reviews.freebsd.org/D35776

Please test if you can!

Feedback is welcome.

--HPS

Hans Petter Selasky

unread,
Oct 5, 2022, 10:04:30 AM10/5/22
to freebsd...@freebsd.org
All patches are now updated containing new and interesting features!

Please test!

--HPS

Reply all
Reply to author
Forward
0 new messages