- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Spracherkennung mit VB6

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2004
    Beiträge
    378

    Spracherkennung mit VB6

    Anzeige

    Praxistest und DIY Projekte
    Hi Leuts,

    bastle grad bissl mit den Directsr rum.
    Bis jetzt gehts ganz gut aber das Original Microsoft Voice geht wesentlich besser als das mit VB ?! Ist aber das gleiche Modul.

    Hier mal etwas Code zum Basteln.

    Code:
    Option Explicit
    '-------------------------------api declares-----------------------------------
    Private Declare Function ShellExecute Lib "shell32.dll" _
            Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
            ByVal lpFile As String, ByVal lpParameters As String, _
            ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    '-------------------------------------------------------------------------------
    
    Private Sub Command1_Click()
    
        Select Case Command1.Caption
        Case "Disable"
            DirectSR1.Deactivate
            Command1.Caption = "Enable"
            Label1 = "Disabled"
        Case "Enable"
            DirectSR1.Activate
            Command1.Caption = "Disable"
            Label1 = "Ready"
                  
            
            
        End Select
    End Sub
    
    Private Sub Command2_Click()
    
    
    DirectSS1.Speak Format(Time, "hh:mm")
    
    
    End Sub
    
    Private Sub DirectSR1_PhraseFinish(ByVal flags As Long, ByVal beginhi As Long, _
            ByVal beginlo As Long, ByVal endhi As Long, ByVal endlo As Long, _
            ByVal Phrase As String, ByVal parsed As String, ByVal results As Long)
    
    
    
            'MsgBox "in the phrasefinish"
    
    
            Dim sFile As String
            Dim noth As Long
    
            'MsgBox Phrase, , "The Phrase is: "
    
            Select Case Phrase
    
            Case "Notepad"
           
                sFile = "\system32\notepad.exe"
                noth = ShellExecute(0, "OPEN", Environ("SystemRoot") & sFile, "", "", 1)
                         
            Case "Volume"
            
                sFile = "\system32\sndvol32.exe"
                noth = ShellExecute(0, "OPEN", Environ("SystemRoot") & sFile, "", "", 1)
                
            Case "Media Player:"
            
                sFile = "C:\Program Files\Windows Media Player\mplayer2.exe"
                noth = ShellExecute(0, "OPEN", sFile, "", "", 1)
                        
            Case "Time"
            
            DirectSS1.Speak Format(Time, "hh:mm")
                    
                            
            End Select
    
    
               If Phrase <> "" Then
                        Text1.Text = "Matched word is " & Phrase
                        'DirectSR1.LastHeard = ""
                        Else
                        
                        Text1.Text = "No word matched"
                        'DirectSR1.LastHeard = ""
                        End If
    
                      
    'DirectSR1.Activate
    
                 
           
           
           
           
           
    End Sub
    
    
    Private Sub Form_Load()
    
    
    
    
    Dim retval As Integer
    
    DirectSR1.GrammarFromString "[Grammar]" + vbNewLine + _
                              "type=cfg" + vbNewLine + _
                              "[<start>]" + vbNewLine + _
                              "<start>=Web Browser" + vbNewLine + _
                              "<start>=Notepad" + vbNewLine + _
                              "<start>=Visual Basic" + vbNewLine + _
                              "<start>=Calculator" + vbNewLine + _
                              "<start>=Time" + vbNewLine
                              
    
    DirectSR1.Activate
    End Sub
    
    
    
    
    ]

    Also man könnte da schon viel machen ála Roboter und in Verbindung Directss

    Hier noch die Links für die benötigten Komponeten.

    http://download.microsoft.com/downlo...I4SDKSUITE.exe


    http://download.microsoft.com/downlo...peechsdk51.exe


    Würd mich freuen wenn da mehr interesse hätten

    by Ulli


    PS: geht nur in English

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.08.2004
    Ort
    Bremen
    Alter
    34
    Beiträge
    102
    Hi.

    Ich hab nicht soo viel Ahnung von VB, bin mehr der Java-Typ (unschwer zu erkennen ) Aber wenn ich das richtig sehe spricht das Programm bis jetzt eigendlich nur Datum und Uhrzeit oder? Das ganze sieht mir aus wie eine Sprachsteuerung für den Computer, stimmts? Also wenn er was hört soll er ein Programm ausführen. Naja, zumindest so wie ich den Quellcode verstehe (als halbwegs VB-Laie)

    Gruß, Jan.

    P.S.: Ein ähnliches Programm (ich weiß aber nicht ob in VB, glaube nicht) haben die Jungs von mindrobots schonmal realisiert. Da kannst du ja auch mal reinschauen irgendwann.
    irOS - independent robot operating system
    www.ir-os.de

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2004
    Beiträge
    378
    Hi,

    ja alles was unter Case bei DirectSR1_PhraseFinish drinn ist und bei load form mit bei <start> von Grammer aufgeführt ist kann er.
    Ich hab noch zum spielen die Uhrzeit sagen lassen wenn man ihn frägt

    Das ganze geht auch unter Java sind auch beispiele dabei must nur die SDK mal runterladen. Die OCX kannst da auch einbinden

    by Ulli

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.08.2004
    Ort
    Bremen
    Alter
    34
    Beiträge
    102
    Hi.

    Sorry, ich hab im Moment nicht die Zeit dafür klingt interessant, aber eher für später mal. Aber eins interessiert mich doch: Welche SDK meinst du? Die von Microsoft oben?
    Und (das ist mit jetzt peinlich): Was ist OCX?

    Gruß, Jan.
    irOS - independent robot operating system
    www.ir-os.de

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.05.2004
    Ort
    Detmold
    Alter
    36
    Beiträge
    557
    Hi!

    Hmm, ich hab' vor Uhrzeiten mal ein kleines Programm in VB mit besagter SDK gemacht, damit ich die Englischhausaufgaben nicht immer schreiben musste. Mal sehen, vllt finde ich das noch... War aber wirklich extrem wenig Code.

    Gruß, Trabukh
    "Der Mensch wächst am Widerstand" (Werner Kieser)

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.05.2004
    Ort
    Detmold
    Alter
    36
    Beiträge
    557
    So, ich hab' mein altes Programm zwar nicht mehr gefunden, aber ein kleines neues gemacht:
    Code:
    Dim WithEvents RecoContext As SpSharedRecoContext
    Dim Grammar As ISpeechRecoGrammar
    Dim Position As Integer
    
    Private Sub Command0_Click()
        Set RecoContext = New SpSharedRecoContext
        Set Grammar = RecoContext.CreateGrammar(1)
        Grammar.DictationLoad
        
        Grammar.DictationSetState SGDSActive
        Command0.Enabled = False
        Command1.Enabled = True
    End Sub
    
    'Stopknopf
    Private Sub Command1_Click()
        Grammar.DictationSetState SGDSInactive
        Command1.Enabled = False
        Command0.Enabled = True
    End Sub
    
    Private Sub RecoContext_Recognition(ByVal StreamNumber As Long, ByVal StreamPosition As Variant, ByVal RecognitionType As SpeechRecognitionType, ByVal Result As ISpeechRecoResult)
        Dim Text As String
        RecoText = Result.PhraseInfo.GetText
        Text1.SelStart = Position
        Text1.SelText = RecoText & " "
        Position = Position + 1 + Len(RecoText)
    End Sub
    Damit werden englische Wörter ganz gut erkannt, allerdings muss man das Profil vorher erst trainieren (Systemsteuerung -> Sprachein/-ausgabe)

    Gruß, Trabukh
    "Der Mensch wächst am Widerstand" (Werner Kieser)

  7. #7
    Gast
    Hi,
    ja das is so wie des Original von Microsoft geht so lala *g*
    Also ich muss sagen des es noch nicht das ware ist aber Microsoft macht
    da anscheinend auch nix mehr

    naja ich hab nun das ganze mahl gegäzelt, da die Wlan Bildübertragung auch etwas träge ist und ne große CPU Auslastung hervorruft.

    Zudem bricht das Wlan schnell zusammen sollten andere 2,4Ghz geräte wie Microwell / Funkkameras oder andere Geräte in der nähe sein

    Somit wieder mein altes Realtime System weiter entwickeln

    Spracherkennung werd ich mal anders probieren alá Hardware.

    By Danke für eure mühe

    PS: OCX sind fertige Komponeten für die Prog. Oberfläche

    Sollte es was neues geben lasst es mich wissen

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.08.2004
    Ort
    Bremen
    Alter
    34
    Beiträge
    102
    @Gast: Klingt so als ob du Sommer wärst Hast wohl vergessen dich anzumelden. Danke, jetzt weiß ich was OCX sind :-D Ich habs noch nicht ausprobiert, kann nix dazu sagen.
    ich hab nun das ganze mahl gegäzelt
    Häää? Jetzt noch mal ohne Dialekt bitte ^^ Was hat das mit WLAN zu tun?? Was hast du denn mit WLAN übertragen?

    Gruß, Jan.
    irOS - independent robot operating system
    www.ir-os.de

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.05.2004
    Ort
    Detmold
    Alter
    36
    Beiträge
    557
    Vllt meint er "gecancelt"?
    "Der Mensch wächst am Widerstand" (Werner Kieser)

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2004
    Beiträge
    378
    Hi,

    ja sorry war nicht eingeloggt

    Ich hab ne kleine Soft gemacht wo Komandos Bild und Sprachausgabe möglich ist über WLAN aber ist "gecancelt"

    by Ulli

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests