Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
kurm_de
Anmeldungsdatum: 11.03.2006 Beiträge: 4
|
Verfasst am: 11.03.2006, 16:58 Titel: ps-speaker soll sprache sprechen |
|
|
Hi,
ich möchte gerne wissen ob es möglich ist, über den PC-Speaker eine stimme sprechen zu lassen.
Ich habe mir das so vorgestellt das man mit dem "SOUND" Befehl verschiedene Frequenzen kurz nach einander abspielt so das dann eine fast menschen ähnliche stimme zu hören ist.
Ich müßte dann nur wissen welche Frequenzen ich wie lange ausgeben muß damit ich bestimmte Buchstaben oder auch dann ganze Wörte über den PC-Speaker hören kann.
Alternativ habe ich mir auch gedacht das ich einfach .wav Dateien abspielen kann, aber leider ist das Laptop auf dem ich das ganze programmieren will sehr klein und alt (20MHz, 2MB RAM).
Ich hoffe ich konnte mein Anliegen verständlich rüberbringen und bin für jede Hilfe dankbar.
Viele Grüße Andy |
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 11.03.2006, 17:00 Titel: |
|
|
über den PC-Speaker kannst du das ziemlich vergessen da du den jeweils nur mit ner einzelnen frequenz ansteuern kannst. Für verständliche Tonausgabe brauchst du aber mehrere auf einmal, das geht also nich. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 11.03.2006, 17:06 Titel: |
|
|
Das andere, grössere Problem ist, das der PC Speaker nur Rechteck ausgibt was für Sprache absolut ungeeignet ist.
Hat dein Laptop einen PC Speaker?
Meiner (Pentium 133MHz) gibt die Töne die ich mit Sound mache, an den Normalen Lautsprechern und auch am Audio Anschluss aus. |
|
Nach oben |
|
|
Skilltronic
Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 11.03.2006, 17:20 Titel: |
|
|
Vielleicht kam ihm die Idee, als er - wie ich - gerade den Spielfilm "Wargames" angesehen hat. Dort spricht der Computer (ein Altair 8800 oder so) ja auch.
Möchten Sie ein Spiel spielen Professor Falken? _________________ Elektronik und QB? www.skilltronics.de !
Zuletzt bearbeitet von Skilltronic am 11.03.2006, 17:39, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 11.03.2006, 17:28 Titel: |
|
|
hehe ich hab den grad gesehen _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
Stormy
Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
|
Kai Bareis
Anmeldungsdatum: 10.09.2004 Beiträge: 545 Wohnort: Baden Würtemberg
|
Verfasst am: 11.03.2006, 17:50 Titel: |
|
|
Ich meine gelesen zu haben das man den PC Speaker direkt ansteuern kann.
Eventuell könnte man somit eine Art PWM Signal generieren und dann irgentwas ausgeben. Ich meine sogar mal so ein Programm irgentwo heruntergeladen zu haben wo zahlen ausgibt welche einzeln in VOC Dateien gespeichert waren und wenn ichs finde poste ich mal einen Link.
EDIT: so das Programm habe ich gefunden benützt leider ein externes Abspeilprogramm aber dennoch interessant .htttp://hometown.aol.de/kaibareis/progs/say.zip
Läuft recht gut in der Dosbox aber ob es einigermassen schnell auf nem Rechner mit 20 Mhz läuft bezweifel ich. _________________ MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht!
Zuletzt bearbeitet von Kai Bareis am 11.03.2006, 17:59, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Skilltronic
Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 11.03.2006, 17:58 Titel: |
|
|
Na ja, der Film ist von '82. Da steckte die Computertechnik noch in den Kinderschuhen. Ich kann mich gut an die 80er Jahre erinnern. Da war der kalte Krieg noch in vollem Gange und die Angst vor einem Atomkrieg durch eine Computerpanne sehr weit verbreitet. _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
|
kurm_de
Anmeldungsdatum: 11.03.2006 Beiträge: 4
|
Verfasst am: 11.03.2006, 18:07 Titel: |
|
|
stimmt habe auch den Film gesehen und fand den auch grotten schlecht.
Aber trotzdem habe ich mir überlegt ob sowas überhaupt gehen könnte.
Ich kann auf jedenfall Töne mit "SOUND" auf meinem Laptop hören. Ich gehe davon aus das er einen PC-Speaker hat, vieleicht ist da auch nur ein kleiner Piepser auf dem Board, bin mir da nicht sicher.
@MisterD
kann ich nicht verschiedene Frequenzen ganz schnell nach einander abspielen so das das Menschliche Gehör das nicht mitbekommt und das Gehirn dann denkt es wären zwei verschiedene Frequenzen zur gleichen Zeit. (ähnlich wie beim Video -> einzelne Bilder schnell hinter einander)
ok die Ausgabe am PC-Speaker muß jetzt auch nicht ganz so qualitativ gut sein. Hauptsache man kann die gesprochenen Wörter erkennen.
Noch eine Idee:
Vieleicht könnte man einen Lautsprecher über ein entsprechendes Modul an den Paralellport hängen und das ganze darüber realisieren?
Gruß Andy |
|
Nach oben |
|
|
Skilltronic
Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 11.03.2006, 18:16 Titel: |
|
|
kurm_de hat Folgendes geschrieben: | stimmt habe auch den Film gesehen |
Hihi, wenn das nicht 100 Punkte für mich sind _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 11.03.2006, 20:15 Titel: |
|
|
Zitat: | kann ich nicht verschiedene Frequenzen ganz schnell nach einander abspielen so das das Menschliche Gehör das nicht mitbekommt und das Gehirn dann denkt es wären zwei verschiedene Frequenzen zur gleichen Zeit. (ähnlich wie beim Video -> einzelne Bilder schnell hinter einander) |
Nein.
Auf die Gefahr hin das ich mich jetzt wiederholle:
Der PC Speaker gibt Reckteck aus, das was wir als schönen Ton empfinden ist aber Sinus förmig (die Stimme hat noch viel komplexere Formen).
Diese Rechtecke kannst du auch kaum zu einem Sinus machen, das ist einfach zu kompliziert. (Da kommst du in Elektronische/Akustise Gefilde, die Recht mühsam sind)
Ich sag's mal so (um auf das Video beispiel einzugehen):
Stell dir einige Lampen, die nur An oder Aus sein können.
Sicher kann man Versuchen, die Lampen durch schnelles Ansteuern zu Dimmen und so Graustufen zu erzeugen, aber irgendwie würde es immer Flimmern.
Das Menschliche Ohr ist recht empfindlich was kleinste Klangfehler angeht.
Zitat: | Noch eine Idee:
Vieleicht könnte man einen Lautsprecher über ein entsprechendes Modul an den Paralellport hängen und das ganze darüber realisieren? |
Das kann gehen.
An den Acht Datenleitungen muss einfach nur ein DA Wandler ran und daran wieder ein Verstärker und dann der Lautsprecher.
Hier könnte aber die Geschwindigkeit das ein Problem sein, 20 MHz und eine Hochsprach sind recht lahm. |
|
Nach oben |
|
|
Skilltronic
Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 12.03.2006, 14:52 Titel: |
|
|
Hallo
Michael Frey hat Folgendes geschrieben: | Der PC Speaker gibt Reckteck aus, das was wir als schönen Ton empfinden ist aber Sinus förmig (die Stimme hat noch viel komplexere Formen).
Diese Rechtecke kannst du auch kaum zu einem Sinus machen, das ist einfach zu kompliziert. (Da kommst du in Elektronische/Akustise Gefilde, die Recht mühsam sind) |
Einen Sinus über den Systemlautsprecher zu erzeugen scheitert schon daran, dass man zwar die Frequenz, nicht aber die Amplitude, also grob gesagt die Lautstärke einstellen kann.
Michael Frey hat Folgendes geschrieben: | Ich sag's mal so (um auf das Video beispiel einzugehen):
Stell dir einige Lampen, die nur An oder Aus sein können.
Sicher kann man Versuchen, die Lampen durch schnelles Ansteuern zu Dimmen und so Graustufen zu erzeugen, aber irgendwie würde es immer Flimmern. |
Wenn dem so wäre, dürfte es keine Dimmer, kein Fernsehen und keinen Film geben. Die beruhen alle darauf, dass das menschliche Auge bzw. das Gehirn nur Frequenzen bis ca. 25Hz zeitlich noch auflösen kann. Das ist aber eigentlich ein ganz anderes Phänomen und in diesem Fall nicht unbedingt als Vergleich geeignet. Treffender wäre vielleicht eine Übertragung auf additive Farbmischung. Ein rote und grüne Lampe abwechselnd und schnell genug eingeschaltet ergibt für das Auge gelb. Ob sich das Ohr auf die selbe Weise täuschen lässt weiss ich allerdings nicht.
Michael Frey hat Folgendes geschrieben: | Das Menschliche Ohr ist recht empfindlich was kleinste Klangfehler angeht. |
Hier das gleiche. Ein angemessener Vergleich wäre eher der zwischen der Unterscheidung von Farbnuancen und und Tonhöhen. Viel interessanter finde ich die Fähigkeit des Gehirns, auch aus einem schlechten Sprachsignal noch sinnvolle Informationen herauszufiltern. Klassische Beispiele dafür sind der krächzende Bahnhofslautsprecher oder eine Unterhaltung auf einer Party, bei der die Musik im Hintergrund lauter ist, als die Sprache. In beiden Fällen sind Spracherkennungsprogramme (noch) rettungslos verloren. Da liegt die Stärke des Menschen darin, auch aus Bruchstücken noch ein sinnvolles Signal zusammensetzen zu können. Ich denke, dass es daher möglich ist, auch eine qualitativ sehr bescheidene Sprachausgabe noch zu verstehen. Das dürfte die technische Umsetzung erheblich vereinfachen.
Michael Frey hat Folgendes geschrieben: | Zitat: | Noch eine Idee:
Vieleicht könnte man einen Lautsprecher über ein entsprechendes Modul an den Paralellport hängen und das ganze darüber realisieren? |
Das kann gehen.
An den Acht Datenleitungen muss einfach nur ein DA Wandler ran und daran wieder ein Verstärker und dann der Lautsprecher.
Hier könnte aber die Geschwindigkeit das ein Problem sein, 20 MHz und eine Hochsprach sind recht lahm. |
Auf diese Weise lässt sich neben der Frequenz auch die Amplitude bestimmen (s.o.). Allerdings könnte man dann die entsprechenden Bytes auch gleich an die Soundkarte schicken. Es geht vielleicht aber auch einfacher. Zuhause habe ich ein Buch, in dem die Ausgabe von zuvor aufgezeichneter Sprache über die serielle Schnittstelle beschrieben ist. Leider bin ich momentan nicht zuhause... Das Prinzip beruht auf PCM, der Puls Code Modulation. Als DA-Wandler braucht es dazu nur ein paar Widerstände und Kondensatoren. Ein Kondensator wird über null und eins (= negative und positive Spannung) am TxD-Pin ent- und aufgeladen. Über eine passende Bitfolge kann so die Spannung und damit die Amplitude über ein einfaches Rechtecksignal generiert werden. Da Sprache nur Frequenzen von maximal 3-4kHz beinhaltet, kann über eine entsprechende Baudrate am COM eine genügend hohe zeitliche Auflösung erreicht werden, mehr oder weniger unabhängig vom Prozessortakt und der verwendeten Programmiersprache. Die weitaus grössere Schwierigkeit sehe ich in der Umwandlung von Text in entsprechende Audio bzw. PCM-Dateien.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 12.03.2006, 15:18 Titel: |
|
|
Zitat: | Einen Sinus über den Systemlautsprecher zu erzeugen scheitert schon daran, dass man zwar die Frequenz, nicht aber die Amplitude, also grob gesagt die Lautstärke einstellen kann. |
Die PWM die von Kai Bareis angeschnitten wurde habe ich gemeint.
PWM steht für Pulsweitenmodulation
siehe http://de.wikipedia.org/wiki/PWM
Wenn man grosse Verluste in der Lautstärke in kauf nehmen kann und die trägheit der Lautsprecher (weil er Induktiv und Ohmisch zugleich ist) betrachtet, werden schnell auf einander folgende Rechtecke geglätet.
Dadurch liese sich jenach Lautsprecherqualität vielleicht was machen.
Ein Problem hier bei ist eben das man Lautstärke und auch Frequenz Bandbreite verliert. |
|
Nach oben |
|
|
Skilltronic
Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 12.03.2006, 16:02 Titel: |
|
|
Hallo
Am Systemlautsprecher kann man nur die Frequenz des Signals bestimmen, nicht aber das Impuls-Pausen-Verhältnis, das bleibt immer 1:1. Bei der PWM ist aber ganau dieses von Bedeutung, die Frequenz ist dabei konstant. Siehe http://de.wikipedia.org/wiki/PWM.
Bei der PCM dagegen werden unterschiedliche Längen von Impuls und Pause durch die Ausgabe entsprechender Bitfolgen erzeugt. Werden z.B. neun low und ein high-Bit hintereinander ausgegeben, ergibt sich ein Verhältnis von 9:1, und somit im Mittel ein Wert von 10% der Signalspannung. Siehe http://de.wikipedia.org/wiki/Puls-Code-Modulation
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
|
chutullu
Anmeldungsdatum: 18.10.2005 Beiträge: 77
|
Verfasst am: 21.03.2006, 14:28 Titel: |
|
|
Ich habe so ein Programm irgendwo rumliegen, ist aber in Turbo Pascal geschrieben.
Die Lösung lag darin das jeder Buchstabe als eine Frequenzkurve zu je 128 Punkten abgespeichert war. Ein beliebiger Text wurde dann einfach so runtergerattert und eine krächzente annähernd verständliche Stimme war zu hören.
Das große Problem sein jeden einzelnen Buchstaben zu definieren, da die signifikantesten 128 Punkte finden welchen ein A zu A oder B zu B machen. Bei deutschen Lauten wie z.B. ch (hart oder weich), sch oder ß usw. wirds noch komplizierter.
Wenn ich das Programm auf die schnelle finde schick ich's rüber. |
|
Nach oben |
|
|
kurm_de
Anmeldungsdatum: 11.03.2006 Beiträge: 4
|
Verfasst am: 22.03.2006, 16:37 Titel: |
|
|
...ja danke das wär nett... |
|
Nach oben |
|
|
diogenes
Anmeldungsdatum: 18.07.2006 Beiträge: 4
|
Verfasst am: 18.07.2006, 15:02 Titel: Interessantes Thema auch für mich |
|
|
Also bei all der Diskussion über das Für und Wider wär ich auch interessiert an einer entsprechenden Sprachausgabe auf Dos bzw Q-Basic Ebene egal wie es klingt. Möglich muß es sein. Hatte selbst mit legendärem Z1013 aus der DDR und einem Schneider CPC 464 entsprechende Programme . Nach Eingabe eines Satzes per Tastatur wurde der akustisch auch gut verständlich ausgegeben. Kann mich auch noch an erste Spiele auf einem 286 entsinnen die per PC Lautsprecher mir Anweisungen gaben. |
|
Nach oben |
|
|
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 23.07.2006, 19:38 Titel: |
|
|
Von AnalogX gibt es SayIt.
Googel mal danach. _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
|
Elvis
Anmeldungsdatum: 01.06.2006 Beiträge: 818 Wohnort: Deutschland, BW
|
Verfasst am: 31.07.2006, 14:43 Titel: |
|
|
Noch ein Anmerkung:
Es gibt ganze Institute, die sich mit Sprachausgabe beschäftigen...
Ich denke wenn man ein gescheites(!) Sprachausgabeprogramm machen wil, benötigt man KI. Man gibt dem Computer einen Text, der dann von einem Menschen vorgelesen wird. Dies wird ein paar mal mit verschieden Menschen und ggf. Texten gemacht... Anhand der Informationen erkennt der Computer Sätze, und wie er sie betonen muss. Aber solch eine KI zu programmieren stelle ich mir fast unschaffbar vor. Es gibt nur sehr wenig Menschen, die richtig gute KI programmieren können. - etwa 10-20, schätze ich...
Ich habe von einem gehört, der sein Programm mit der KI in ein Safe eingeschlossen hat...
Grüße, Elvis _________________ Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+ |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 31.07.2006, 14:49 Titel: |
|
|
Elvis, es ging hier nicht darum, dem PC das korrekte (selbstständige) Sprechen und AI beizubringen. Vielmehr, vorhandene PCM-Dateien über den PC-Speaker auszugeben.
Aber ich denke auch, dass es nicht möglich ist, einem Computer das denken zu lehren, so wie es ein Mensch tut. _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
|