English | Deutsch

Erstellen Sie Ihren eigenen Sprachassistenten in Python

Kannst du deinen eigenen Sprachassistenten mit Python bauen und deine Alexa wegwerfen? Lass es uns herausfinden!

December 14, 2023 2 Min Lesezeit
Erstellen Sie Ihren eigenen Sprachassistenten in Python
Erstellen Sie Ihren eigenen Sprachassistenten in Python

Codesphere

From everyone in the Codesphere Team:)

Seien wir ehrlich: Irgendwann in unserem Leben hätten wir gerne unseren eigenen Jarvis. Einen persönlichen Sprachassistenten zu haben, der uns mit Informationen versorgt, unsere Termine verwaltet und uns einfach im Alltag hilft, hat etwas unglaublich Tolles.

In diesem Artikel werden wir mit Python eine Grundlage schaffen, die Sie verwenden können, um Ihren eigenen persönlichen Sprachassistenten zu erstellen.

So funktioniert der Sprachassistent

Die Grundlage unseres Programms wird eine Spracherkennungsbibliothek und eine Text-to-Speech-Bibliothek (TTS) sein, die es uns ermöglicht, mit unserem Skript ausschließlich über Audio zu kommunizieren.

Das Skript wird in einer Schleife von ausgeführt:

Warten auf einen Befehl des Benutzers Verstehen und Ausführen eines Befehls Wir fügen einige grundlegende Beispiele hinzu, um Smalltalk zu führen, die Uhrzeit zu sagen, Anwendungen zu öffnen und einige andere Dinge. Diese Grundlage kann sehr einfach erweitert werden, um jede beliebige Funktionalität hinzuzufügen, die Sie sich von Ihrem Assistenten wünschen. Wenn Sie es in Python können, können Sie es auch dem Bot beibringen.

Einrichtung

Installieren Sie in einem neuen Python-Projekt zunächst die Spracherkennungsbibliothek mit:

pip install SpeechRecognition

Und installieren Sie die TTS-Bibliothek mit:

pip install pyttsx3

Der Kodex

In einer Python-Datei werden wir dann zu:

  1. Laden Sie unsere Importe ein
  2. Konfigurieren Sie die Text-zu-Sprache-Funktion
  3. Definieren Sie unsere Sprachfunktion
import speech_recognition as sr
import pyttsx3
import random
from datetime import datetime
import os


engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id)

def speak(audio):
    engine.say(audio)
    engine.runAndWait()




def takeCommand():
     
    r = sr.Recognizer()
     
    with sr.Microphone() as source:
         
        print("Now listening")
        r.pause_threshold = 1
        audio = r.listen(source)
  
    try:
        print("Deciphering")   
        query = r.recognize_google(audio, language ='en-in')
        print("You Said: " + query)
  
    except Exception as e:
        print(e)
        print("Did not hear anything") 
        return "None"
     
    return query


while True:
    command = takeCommand()
    #Conversational
    if 'how are you' in command:
        speak("I'm doing well")
    if 'thank you' in command:
        speak("Anytime")

    #Tasks
    if 'time' in command:
        now = datetime.now()
        current_time = now.strftime("%H:%M:%S")
        speak("The Current Time is " + current_time)  
    if 'random number' in command:
        randInt = random.randint(0, 10) 
        speak("A random number between 0 and 10 is " + str(randInt))
    if 'open slack' in command:
        os.system('open /Applications/Slack.app')
        speak("Opening Slack")
    if 'close slack' in command:
        os.system('open /Applications/Slack.app')
        speak("Closing Slack")

Der obige Bot kann die folgenden Befehle ausführen:

  • Sag die Zeit
  • Geben Sie eine Zufallszahl an
  • Schlupf öffnen und schließen

Gebäude Mehr

Welche Aufgaben Sie auch immer von Ihrem Assistenten erledigen lassen wollen, Sie können jetzt einfach eine weitere Bedingung in die Liste aufnehmen!

Natürlich kann man noch viel mehr Komplexität hinzufügen:

  • Macht den Assistenten mit Conversational AI über Rasa
  • Musikwiedergabe mit der Spotify-API
  • Informationen aus Wikipedia über Web Scraping ziehen Das war's für heute!

Über den Autor

Erstellen Sie Ihren eigenen Sprachassistenten in Python

Codesphere

From everyone in the Codesphere Team:)

Wir bauen die nächste Generation der Cloud auf, indem wir Infrastruktur und IDE an einem Ort vereinen, einen nahtlosen DevEx ermöglichen und den Bedarf an DevOps-Spezialisten eliminieren.

Weitere Beiträge

Deployment von Landscapes auf Codesphere

Deployment von Landscapes auf Codesphere

Lernen Sie, wie Sie mehrere Dienste, die unabhängig voneinander vertikal und horizontal skaliert werden können, innerhalb eines einzigen Workspace deployen und runen können. Geeignet für das Hosting ganzer Anwendungslandschaften.

Monitoring & Alerting

Monitoring & Alerting

Erfahren Sie, wie Sie auf das in Codesphere integrierte Ressourcen Monitoring zugreifen und die Betriebszeit Ihrer Anwendungen überprüfen können.

Pfadbasiertes Routing

Pfadbasiertes Routing

Erfahren Sie, wie Sie mehrere unabhängige Anwendungen mit einer einzigen Domäne verbinden, indem Sie verschiedene Pfade mit unterschiedlichen Workspaces verknüpfen