Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

BBC micro:bit #2: Sprachausgabe

Posted on 6. März 20196. März 2024 by Stefan Draeger

Wie du eine Sprachausgabe am BBC micro:bit programmieren kannst, zeige ich dir hier in einfachen Schritten.

Dabei ist die Sprachqualität natürlich etwas eingeschränkt aber es funktioniert schon recht gut.

Was wird benötigt?

Wir benötigen dazu folgende Bauelemente:

  • 1x BBC micro:bit
  • 1x Erweiterungskarte (für den BBC micro:bit)
  • 2x Breadboardkabel, 10 cm, männlich – weiblich

Nun gibt es zwei Arten wie wir die Sprachausgabe uns anhören können, einmal mit einem einfachen Piezo Buzzer oder mit einer aktiv Box.

Aufbau mit dem Piezo Buzzer

Möchte man die Schaltung mit einem Piezo Buzzer aufbauen, so benötigt man neben die oben genannten Bauteile nur noch zusätzlich einen Piezo Buzzer (im nachfolgenden nur als Buzzer bezeichnet).

Piezo Buzzer
Piezo Buzzer

Einen Buzzer kann man bei ebay.de* schon für ca. 3 € erwerben. (Eine große Preisersparnis kann man mit 5er oder 10er-Packungen erhalten.)

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Schaltung - Erweiterungskarte für den BBC micro:bit mit Piezo Buzzer
Schaltung – Erweiterungskarte für den BBC micro:bit mit Piezo Buzzer

Der Nachteil bei einem Piezo Buzzer ist, dass dieser sehr leise ist, jedoch ist dieser deutlich günstiger und kleiner.

Aufbau - BBC micro:bit mit Piezo Buzzer
Aufbau – BBC micro:bit mit Piezo Buzzer

Video

In diesem kurzen Video möchte ich aufzeigen, wie die Sprachausgabe auf einem Piezo Buzzer klingt.

BBC micro:bit Sprachausgabe mit Piezo Buzzer
Dieses Video auf YouTube ansehen.

Aufbau mit einer aktiv Box

Wer etwas mehr Qualität haben möchte, der nutzt eine aktiv Box. Diese gibt es schon für wenige Euros im Discounter. Ich nutze für dieses Tutorial die Computerboxen „Logitech  Z213 2.1„.

Um an dem 3,5 Klinkenstecker die Pins 1 und 2 anzuschließen benötigen wir zusätzlich noch 2 Krokodilklemmen, diese gibt es für ca. 6 € in einer 10er-Packung auf ebay.de zu kaufen.

Krokodilklemmen
Krokodilklemmen

Mit diesen „Klammern“ können wir nun die beiden Pins 0 & 1 an den 3,5 Klinkenstecker anschließen.

Dazu greifen wir zunächst die Pins von der Erweiterungskarte mit Breadboardkabeln ab und klemmen an diese ein Ende von unseren Krokodilklemmen. Das andere Ende der Krokodilklemmen, klemmen wir an den 3,5 Klinkenstecker, hier müssen wir die Spitze und das Ende verbinden.

Anschluss - Krokodilklemmen am 3,5 Klinkenstecker
Anschluss – Krokodilklemmen am 3,5 Klinkenstecker

Wenn wir alles angeschlossen haben dann sollte unser Aufbau ungefähr so aussehen:

Anschluss - BBC micro:bit an aktiv Boxen
Anschluss – BBC micro:bit an aktiv Boxen

Video

Man hört in dem Video einen deutlichen Unterschied zum einfachen Piezo Buzzer.

BBC micro:bit Sprachausgabe auf einem Aktivlautsprecher
Dieses Video auf YouTube ansehen.

Programmieren der Sprachausgabe am BBC micro:bit

Nachdem ich jetzt gezeigt habe, welche 2 Möglichkeiten es gibt die Schaltung aufzubauen. Müssen wir natürlich zunächst einmal den BBC micro:bit programmieren.

Neben der Bibliothek „microbit“, welche die Basisfunktionen für den Mikrocontroller liefert, benötigen wir zusätzlich für unsere Sprachausgabe die Bibliothek „speech“.

Jetzt können wir in unserer Endlosschleife mit der Funktion „speech.say“ einen einfachen englischen Text ausgeben.

Es werden bisher nur englische Wörter / Sätze unterstützt.

Nach der Sprachausgabe habe ich eine kleine Pause von 2sek. Eingefügt.

# Bibliothek mit den Funktionen für den BBC micro:bit
from microbit import *
# Bibliothek mit den Funktionen für die Sprachausgabe
import speech


while True:
    # den Text ausgeben
    speech.say("This is a simple Test.")
    # eine kleine Pause von 2 sek.
    sleep(2000)

manipulieren der Sprachausgabe

Die Sprachausgabe erfolgt wie bereits erwähnt in englischer Sprache, was man jedoch manipulieren kann, ist die Geschwindigkeit, die Höhe und die sowie wie diese klingt. Die Klangfarbe lässt sich mit zwei Parametern beeinflussen, jeweils ob man mehr dumpf spricht (wie eine Bauchrednerpuppe) oder sehr aufgeregt.

speed

Die Geschwindigkeit mit welcher der Text wiedergegeben wird. Der minimale Wert von „0“ ist die schnellste Geschwindigkeit und der maximale Wert von „255“ ist der schnellste.

Bei einer Wahl von der Geschwindigkeit hört man nur ein kleines Piepen somit bewegt sich meine Auswahl irgendwo in der Mitte.

pitch

Die Höhe der Stimme bestimmt man mit dem Parameter „pitch“. Der minimale Wert von „0“ ist sehr hoch und der maximale Wert von „255“ sehr tief.

throat

Mit dem Parameter „throat“ wird bestimmt wie relaxed oder angespannt die Stimme klingen soll. Der minimale Wert von „0“ klingt sehr entspannt und der maximale Wert von „255“ klingt sehr angespannt.

mouth

Der Parameter „mouth“ manipuliert die Stimme in der Form das beim minimalen Wert von „0“ diese sehr dumpf klingt und beim maximalen Wert von „255“ sehr offen.

Beispiel

Hier nun ein kleines Beispiel mit dem allseits  bekannten Text „Hello World!“.

Wenn der Benutzer auf den Button „A“ klickt, dann wird die Funktion „saySomething“ aufgerufen. In dieser Funktion wird nun unser Text als Sprache ausgegeben.

# Bibliothek mit den den Funktionen für den micro:bit
from microbit import *
# Bibliothek für die Sprachausgabe
import speech

# Funktion um einen Text als Sprache auszugeben.
def saySomething():
    speech.say("Hello World!", speed=85, pitch=120, throat=125, mouth=150)

# Endlosschleife
while True:
    # Wenn der Button "A" gedrückt wird dann mache...
    if button_a.is_pressed():
      # Funktion aufrufen
      saySomething()

Für dieses Beispiel wurde am Ende der Endlosschleife kein „sleep“ eingebaut, da diese Funktion eine kleine Pause bewirkt, könnte der Mikrocontroller sonst den Status (Button gedrückt) des Buttons „A“ verpassen bzw. erst etwas später anfangen den Text auszugeben.

Fazit – BBC micro:bit Sprachausgabe

Mit der Bibliothek „speech“ und einem Aktivlautsprecher kann man sich einfache Texte ausgeben und dem BBC micro:bit etwas „leben“ einhauchen.

Eine ausführliche Dokumentation zu dieser Bibliothek findest du unter https://microbit-micropython.readthedocs.io/en/latest/tutorials/speech.html.
Auf der Webseite wird jedoch hervorgehoben das die Bibliothek „speech“ sich z.Zt. (stand 03.032019) sich im AlphaCode Status befindet, d.h. es wird weiter an dieser Entwickelt, aber der aktuelle Stand ist „gut genug“ um veröffentlicht zu werden.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}