Sprachsteuerung mit Benutzererkennung und mehreren Mikrofonen in Gruppen

blackzero23

Newbie
Registriert
Nov. 2013
Beiträge
6
Hallo,
ich habe folgendes Problem:
Ich möchte mich gerne in das Thema Spracherkennung/Sprachsteuerung einarbeiten.
Ziel ist es, eine Spracherkennung zu entwickeln, die mehrere Benutzter unterscheiden kann,
und das ganze soll mehrere Mikrofone haben, die in Gruppen zusammen gefügt werden sollen.
Am besten kann man das so erklären, wenn man Räume benutzten würde,
das Raum1 4 Mikrofone bekommt, die dann den Befehl aufnehmen und er sich dann von den
Mikrofonen das beste Signal raus sucht und das dann quasi als Gruppe Raum1 gilt
und das gleiche dann nochmal in Raum2.
Die Spracherkennung dahinter soll in etwa so aufgebaut sein wie Siri, nur das die Software
dann nichts auf einem Monitor ausgibt sondern in Boxen die in den Räumen verteilt werden.
Ich benutzte jetzt bei meinem Android Phone die App AIVC.
Diese App ist in der Lage, Dinge zu suchen im Internet,, man kann der Software einen Namen geben,
und man kann Befehle hinzufügen.
Das wäre so der erste Anfang den ich für die Software im Kopf habe.
Das ich der Software einen Namen geben kann und das sie Informationen im Internet suchen kann
und dann die Antworten in Sprache über Boxen ausgibt.

Zu meiner Person, ich verfüge außer über ein bisschen HTML über keine Programmiersprachen, aber
das ist nicht das Problem, ich kann mich sehr schnell einarbeiten.

Die Frage die sich mir stellt, wie kann ich das realisieren und welche Sprachen und sonstiges Wissen brauche ich???
Reichen da Programmiersprachen oder muss ich mir da auch selber was bauen wie zb mit Microcontrollern???

Im Vorfeld vorab, Kommentare wie: Wenn du die Sprachen nicht kennst dann lass es oder so
sind für mich hier unerwünscht, denn ich suche zur Zeit wieder eine Herausforderung die ich in diesem Projekt
mal wieder für mich sehe.

Danke für eure Antworten.

MFG

Black Zero
 
Die Aufgabenstellung ist komplett unrealistisch. Das ist eine Tätigkeit für ganze Entwicklungsteams.

Zuerst benötigst du Verbindung zu multiplen Mikrofonen (wie auch immer). Diese müssen zeitsynchronisiert sein - wie auch immer du das anstellen willst. Anschließend musst du deren Position in irgendeine Art und Weise abstimmen können, mit dieser Abstimmung kannst du dann Personen im Raum lokalisieren und/oder einzelne Klangquellen besser voneinander trennen. Dafür benötigst du das notwendige mathematische und physikalische Wissen für die Implementierung.

Ist das geschehen, kann deine App, alles in Echtzeit, die einzelnen Sprecher unterscheiden und theoretisch auf deren Aussagen reagieren. Hierfür muss die Anwendung das gesagte noch in "Text" umwandeln, damit du auf den eigentlichen Inhalt eingehen kannst. Das ist allerdings alles andere als Trivial und benötigt eine weitere Expertengruppe für Spracherkennung. Des Weiteren benötigst du weitere Experten für Linguistik und Grammatik, damit du das gesagte in Inhalte zerlegen kannst um entsprechend darauf zu reagieren. Mehrere Stufen einfacherer wäre nur auf Keywörter zu reagieren.

Um das ganze ordentlich zu bewerkstellen, benötigst du nicht wenig Rechenleistung - eher mehr als ein Mobiltelefon bietet. Das ist der Grund warum solche Systeme über die "Cloud" laufen, die Server haben schlichtweg deutlich mehr Rechenleistung.

Alles in allem ist das ein sehr schwieriges Thema, was viele Fachbereiche umspannt, und selbst die größten Firmen heute kaum brauchbar lösen (siehe Google, Amazon, Microsoft und Apple).
 
Also an Servern sollte es da nicht scheitern.
Ich habe ein paar hier rum stehen.
Als Edit zum Post oben, hätte ich dazu sagen sollen, das ich das alles
auf Debian realisieren will.
Meine Idee die ich jetzt habe das ich da mit mehreren Soundkarten arbeite
welche dann über Usb laufen, um dann jedem Raum eine Soundkarte zuweisen zu
können.
Das also quasi Soundkarte 1 Raum1 ist und dann Soundkarte 2 Raum2 ist.
Das wäre vom ansprechen schon mal wesentlich einfacher.
Das System selber soll erstmal nur einfach Sachen machen können wie
z.B. Name, wie wird das Wetter heute, das dann eine Antwort durch die
Boxen ausgegeben wird wie das Wetter an dem Tag werden soll.
Also als Beispiel: Wie wird das Wetter heute in Essen???
Antwort: In Essen werden es heute 5 Grad mit vereinzeltem Sonnenschein.
Frage: Was ist eine Karotte???
Antwort: Die Karotte (Daucus carota subsp. sativus), auch bezeichnet als
Möhre, Mohrrübe, Gelbrübe, Gelbe Rübe, Rüebli, Riebli oder Wurzel ist eine
Gemüsepflanze aus der Familie der Doldenblütler (Apiaceae). Sie ist die nur
in Kultur bekannte Form der Möhre (Daucus carota). Genutzt wird fast ausschließlich die Rübe.

Sowas halt in etwa.

Das System soll also erstmal erkennen von welcher Soundkarte das Signal kommt
und dann auch an die dazugehörigen Boxen das Signal ausgeben.
Wenn ich also in Raum1 mit Soundkarte 1 spreche, das das System dann auch
erkennt das es von Soundkarte 1 kommt und dann auch die Sprache durch Soundkarte 1
wiedergibt und halt an die Boxen die dann dazu gehören.

Mit welchen Sprachen kann man das bewerkstelligen???
Wie gesagt sollte am besten auf Linux laufen.

MFG

Black Zero
Ergänzung ()

Erstmal wäre eine Allgemeine Spracherkennung geplant, die halt erstmal alle gleich behandelt.
Also eine Personen unabhängige Spracherkennung und erstmal ein Raum.
Sprich erstmal ein Raum mit mehreren Mikrofonen und einer Soundkarte.
Das ganze wäre dann später ja noch ausbaufähig.

MFG

Black Zero

Edit:
Ich bin gerade auf Sirius gestoßen für Linux was auf Open Source basiert und werde mir dieses System mal ansehen.
 
Zuletzt bearbeitet:
Zurück
Oben