Mbrola – etwas bessere Sprachsynthese

ESpeak kennt Ihr sicher alle. Diese Roboterstimme, die beim Desktop dabei ist, damit sehbehinderte Menschen einen Bildschirmleser haben können. Jetzt ist espeak aber nicht wirklich toll 🙂

Mbrola – etwas bessere Sprachsynthese

Mbrola wird in einigen Distors, wie bspw. Fedora, nicht ausgeliefert, da die Lizenzen und deren Verständnis dies nicht zu lassen. Wer das selbst austesten möchte, kann sich die nötigen Files hier runterziehen:

https://github.com/numediart/MBROLA

https://github.com/numediart/MBROLA-voices

Mbrola muß kurz kompiliert werden, aber das ist selbst für Anfänger leicht zu meistern, weil es kein kompliziertes Buildsystem gibt und man eigentlich nur den GCC Compiler und CMAKE auf dem Rechner installiert haben muß. Ich bin mir ganz sicher, daß Ihr das alleine schafft 🙂

Nicht? na ok: „cd MBROLA-master; make; cp Bin/mbrola /usr/local/sbin/“ das wars 😀

Die Stimmen kommen nach /usr/shar/mbrola/ , die muß man nicht extra kompilieren.

Um espeak kommt man leider nicht rum

Da mbrola keine Übersetzung von geschriebenem Text in Phonetische Abbildungen macht, muß man das espeak machen lassen. Damit Euch das nicht über den Kopf wächst, habe ich da mal was vorbereitet:

/usr/local/sbin/say:

#!/bin/bash

if [ „$VOICE“ == „“ ]; then
      VOICE=“de5″
fi

if [ ! -f „$1“ ]; then
      espeak -v mb-$VOICE -q –pho –phonout=/tmp/out.pho „$1“
else
      A=$(cat „$1“)
      espeak -v mb-$VOICE -q –pho –phonout=/tmp/out.pho „$A“
fi

mbrola -t 1.2 -f 0.8 /usr/share/mbrola/$VOICE/$VOICE /tmp/out.pho -.au | aplay 1>/dev/null 2>/dev/null
rm -f /tmp/out.pho

Die Datei noch mit chmod 755 aufrufbar machen und wir sind fertig.

Um die Anwendung zu vereinfachen kann man entweder eine Datei als Argument angeben oder den Text:

say „Ich bin ein Roboter.“

say Bunte-Schafe-von-Arthur-Miller.txt

Die Stimme ist auf die de5 Stimme voreingestellt, es geht aber auch jede andere Sprache:

env VOICE=de7 say text

Die Aussprache kann man noch stark verbessern. Beispiel: Das Wort „Zumutung“.Versucht mal diesen Satz:

say „Dies ist eine Zumutung“

und dann schreibt ihn mal so:

say „Diehs ihst eine Zumuhtung“

Ihr werdet den Unterschied heraushören können. Genauso ist es mit „gähnt“ und „gehnt“, weil das „ä“ überbetont wird. Es klingt wirklich besser es pauschal mit „e“ zu ersetzen. Wenn man sich dann erst einmal eine Datenbank mit „besseren“ Worten zusammen gesetzt hat, kann man das Script so erweitern, daß vor dem espeak aufruf, erst noch die Ersetzung passiert. Von einer SED Orgie kann ich aber nur abraten. Lasst dies besser ein spezialisiertes Programm wie „replace“ machen oder schreibt gleich ein eigenes kleines C Tool, daß sich eine Art Datenbank einliest.

Viel Spaß damit 😀

Systemd: Problem mit dem raid-check.timer

Nicht nur ich hatte Probleme den raid-check.timer zu finden, auch Systemd zeigt seit dem 1. März in Irland und Großbritannien Probleme bei Booten von Fedora 33+ . Ursache ist .. ta ter a ta .. die Zeitumstellung auf Sommerzeit 😀

Systemd: Problem mit dem raid-check.timer

… so sieht das Problem aus:

# cat /usr/lib/systemd/system/raid-check.timer
[Unit]
Description=Weekly RAID setup health check

[Timer]
OnCalendar=Sun *-*-* 01:00:00
Persistent=true
AccuracySec=24h

[Install]
WantedBy=timers.target

Ich habe einmal rot markiert wo da das Problem liegt. Es ist leider noch nicht so ganz raus, warum das erst seit dem 1.3. ein Problem ist, ich tippe auf einen kleine Vergesslichkeit im Code ein Datum zu entfernen, ab wann andere Routinen zum Einsatz kommen sollte. Es ist aber nur eine Vermutung.

Keine Vermutung ist, daß nur England und Irland betroffen sind. Aufgrund der kommenden Zeitumstellung wechselt die Zeitzone dort von GMT auf IST bzw. BST , Sommerzeit halt. Eine alte Regel von Cronos, dem Schutzpatron aller sich wiederholenden Aufgaben, besagt, daß man zwischen 0:59 und 2:01 keine Cronjobs einträgt. Bei einer Zeitumstellung fliegt es einem dann um die Ohren, weil Jobs zweimal ausgeführt werden.

Nicht lachen, ist erst letzten Herbst bei einem Kunden passiert 😀

Die Lösung

Als merkwürdige Konsequenz bootet Fedora 33+ nicht mehr sauber und man muß den Timer vom Start ausnehmen:

systemctl mask raid-check.timer

Das kann man bei noch gestartetem System machen, oder wenn man seinen Rechner über Grub in den „Nur-Root“ Modus bootet. Wer aber schon am Grubeintrag dran ist, der kann sich alternativ auch behelfen, in dem er einen Kernelparameter hinzufügt: „systemd.mask=raid-check.timer“.

Alle diese Lösung verhindern den Start der Einheit. Wer sowieso keinen Softwareraid im System hat, kann den Timer auch gleich beenden.

Pinephone: Pipewire wieder stabil

Hallo Linuxphone Fans,

Vor einiger Zeit hatte ich mal einen Stillstand der Updates für Alsa und Pipewire ausgerufen, falls man Audio wirklich brauchte 😉

Pinephone: Pipewire wieder stabil

Seit 2 Wochen kann man sein Telefon wieder normal updaten und hat weiterhin Ton. Auch die Bugs bezüglich der Profile sind weg, so daß man jetzt nicht nach jedem Neustart erst einmal das Profil ändern muß um etwas zu hören oder etwas aufnehmen zu können. Auch wurden die Fehler im Umgang mit Kernel 5.12 behoben, so daß auch dieser Kernel jetzt wieder genutzt werden kann.

Reduziert auf das Wesentliche bedeutet es: Viel Spaß beim Update 🙂

Da die Updates in letzter Zeit auch in kurzen Abständen schon mal die Zahl von 500 erreichen konnten, bringt ein bisschen Zeit mit wenn Ihr die Updates startet 😉

Die-Geht-Liste

  • WLAN
  • Mobiles Internet
  • SMS via Chatty
  • Telefonanrufe
  • Video-Chat via Firefox & Matrix
  • Audio-Chat via Firefox & Matrix
  • Videoplayback mit HW Beschleunigung via MPV
  • Audioplayback mit Lollypop
  • GPS mit Gnome-Maps via GNOME-Desktop / Phosh failed hier noch.
  • Taschenlampe via Flashlight App
  • automatische Bildschirmrotation via Autorotate App
  • Fotos

Empfohlene Apps

  • MPV – Videoplayer
  • Lollypop – MP3 Player
  • libva-request – HW Beschleunigung ( Achtung: nur installieren reicht nicht )
  • grim – Bildschirmfotos
  • Nemo – Dateimanager
  • Geary – Mailprogramm
  • KDE-Connect – ultimativ beste Handy App
  • Megapixels – Foto App
  • SimpleScreenRecorder – für Gnome
  • WifiScanner – selbsterklärend
  • wf-record – Wayland Screenrecorder