1. #1

    Registered
    26/05/03
    Location
    Ieper
    Posts
    912
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0

    c# speech recognition

    I ben bezig met een klein projectje waar ik wat spraakherkenning zou willen implementeren, heb al enkele voorbeelden van microsoft bekeken maar zit telkens met een foutmelding "A first chance exception of type 'System.PlatformNotSupportedException' occurred in System.Speech.dll

    Additional information: Er is geen herkenner geïnstalleerd. "

    heb dus wat zitten opzoeken en blijkt nu dat dit komt omdat ik met een nederlandstalige versie van windows 7 zit (nl is niet ondersteund als speech recognition taal)

    nu dacht ik: geen probleem, ik spreek er gewoon engels tegen en dan is het opgelost.. maar ik kan nergens vinden hoe ik in C# de taal aanpas van mijn recognizer..
    je zou dit kunnen doen in windows zelf door de taal te veranderen naar engels maar dit lukt niet omdat het geen ultimate of enterprise edition is..

    Iemand hier ervaring mee?

    Code:
            private void Radio_Load(object sender, EventArgs e)
            {
                SpeechRecognizer sr = new SpeechRecognizer();
                this.WindowState = FormWindowState.Maximized;
                this.FormBorderStyle = FormBorderStyle.None;
                this.TopMost = true;
                this.Visible = false;
    
                Choices radios = new Choices();
                radios.Add(new string[] { "studio", "restaurant", "nothing" });
    
                GrammarBuilder gb = new GrammarBuilder();
                gb.Append(radios);
    
                // Create the Grammar instance.
                Grammar g = new Grammar(gb);
    
                sr.LoadGrammar(g);
                sr.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sr_SpeechRecognized);
            }
    
         void sr_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
            {
                MessageBox.Show(e.Result.Text);
            }
    no votes  

  2. #2
    Jerre Muesli's Avatar
    Registered
    08/09/02
    Location
    -
    Posts
    2,044
    iTrader
    9 (100%)
    Mentioned
    0 Post(s)
    Reputation
    3/6
    Als ik een gok mag wagen dan zou ik zeggen dat ge .Net Framework 4.5 nog niet hebt.
    no votes  

  3. #3

    Registered
    26/05/03
    Location
    Ieper
    Posts
    912
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    nee is geïnstalleerd.. (heb hem nogmaals gedownload om zeker te zijn en vraagt om te herstellen of te verwijderen, dus veronderstel dat hij geïnstalleerd is)
    no votes  

  4. #4
    Tyfius's Avatar
    Registered
    01/09/02
    Location
    Peutie
    Posts
    7,664
    iTrader
    0
    Mentioned
    4 Post(s)
    Reputation
    13/105
    Dat heeft inderdaad niets met het .NET framework te maken. Die Speech Recognition zit er al in sinds 3.0 ofzo.

    Oplossing: een SpeechRecognitionEngine gebruiken en daar uw culture aan meegeven. Op die pagina staat ook een sample.
    Vanaf nu gaan we verder op BeyondGaming!
    In deze thread wordt uitgelegd hoe je jouw account kan migreren.
    no votes  

  5. #5

    Registered
    26/05/03
    Location
    Ieper
    Posts
    912
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    thx, heb de voorbeeld eens uitgeprobeerd maar krijg nu de foutmelding
    "An unhandled exception of type 'System.ArgumentException' occurred in System.Speech.dll
    Additional information: Er is geen herkenner met de vereiste ID gevonden."
    de references staan nochtans goed...

    via google vond ik dat ik dit nog nodig had:Microsoft Unified Communications Managed API 3.0 Software Development Kit.. ga deze nog eens installeren en zien wat het geeft..

    update: UCM werkt niet op VS2013.. heb dan maar VS2010 terug geïnstalleerd, probeer nu met SpeechRecognitionEngine te werken maar krijg al een error bij één van de eerste regels:
    Code:
     SpeechRecognitionEngine sre = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
    System.NullReferenceException was unhandled
    HResult=-2147467261
    Message=De objectverwijzing is niet op een exemplaar van een object ingesteld.
    Source=System.Speech
    StackTrace:
    bij System.Speech.Recognition.SpeechRecognitionEngine. InstalledRecognizers()
    bij System.Speech.Recognition.SpeechRecognitionEngine. .ctor(CultureInfo culture)
    bij ConsoleApplication2.Program.Main(String[] args) in c:\users\hoofdgebruiker\documents\visual studio 2010\Projects\ConsoleApplication2\ConsoleApplicati on2\Program.cs:regel 14
    bij System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
    bij System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
    bij Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly()
    bij System.Threading.ThreadHelper.ThreadStart_Context( Object state)
    bij System.Threading.ExecutionContext.RunInternal(Exec utionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    bij System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    bij System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state)
    bij System.Threading.ThreadHelper.ThreadStart()
    InnerException:
    begrijp er niets meer van
    Last edited by fartbunny; 20-10-2013 at 22:39.
    no votes  

  6. #6
    Tyfius's Avatar
    Registered
    01/09/02
    Location
    Peutie
    Posts
    7,664
    iTrader
    0
    Mentioned
    4 Post(s)
    Reputation
    13/105
    Ik heb een vermoeden, maar ik kan het niet bevestigen.

    Volgens mij moeten gebruikers (en dus jij ook) de benodigde Speech Recognizer geïnstalleerd hebben staan. Ik zie aan je foutmelding dat jij een Nederlandstalige Windows versie gebruikt. Waarschijnlijk is het Engelse taalpakket dan niet geïnstalleerd. Ik weet niet welke OS versie je gebruikt, maar in Windows 7 Ultimate kan je als gebruiker andere talen installeren. In lagere versies is dat niet altijd mogelijk en kan je dus een probleem hebben.

    Maar nogmaals: dit is slechts een vermoeden. Daarvoor ken ik veel te weinig van de Speech Recognizer.
    Vanaf nu gaan we verder op BeyondGaming!
    In deze thread wordt uitgelegd hoe je jouw account kan migreren.
    no votes  

  7. #7

    Registered
    26/05/03
    Location
    Ieper
    Posts
    912
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    uw vermoeden is volledig juist (denk ik).. heb alle speechRecognizers geïnstalleerd die ik vond maar niets hielp.. heb dan een Windows 7 Ultimate Engelse versie geïnstalleerd op een oude laptop en daar werkt alles perfect.. het probleem is dat Visual Studio effectief de windows voice recognizer gebruikt (en die moet ook aanliggen) en niet gewoon gebruik maakt van de library ervan..) en omdat je in de nederlandstalige versie geen toegang hebt tot de voice command (en ook geen mogelijkheid hebt ertoe door je taal te veranderen) krijg je telkens een foutmelding..
    Zal dus ofwel een upgrade moeten doen ofwel op die trage laptop verder werken alleszinds thx!
    no votes  

  8. #8

    Registered
    13/05/06
    Location
    Hoeselt
    Posts
    9,944
    iTrader
    48 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/72
    Quote Originally Posted by fartbunny View Post
    This quote is hidden because you are ignoring this member. Show
    uw vermoeden is volledig juist (denk ik).. heb alle speechRecognizers geïnstalleerd die ik vond maar niets hielp.. heb dan een Windows 7 Ultimate Engelse versie geïnstalleerd op een oude laptop en daar werkt alles perfect.. het probleem is dat Visual Studio effectief de windows voice recognizer gebruikt (en die moet ook aanliggen) en niet gewoon gebruik maakt van de library ervan..) en omdat je in de nederlandstalige versie geen toegang hebt tot de voice command (en ook geen mogelijkheid hebt ertoe door je taal te veranderen) krijg je telkens een foutmelding..
    Zal dus ofwel een upgrade moeten doen ofwel op die trage laptop verder werken alleszinds thx!
    Heb je hier nog updates rond? Ik heb er zelf een beetje mee aan het spelen en ben dus zeer geïnteresseerd in je project :-)

    Edit: gisteren gespeeld met de SpeechRecognitionEngine en ik moet zeggen dat dit wel heel erg goed werkt. Soms denkt de engine wel iets te snel dat hij een goed woord gevonden heeft, maar dat is meestal met veel ruis.
    Last edited by Recipe4hate; 07-11-2013 at 11:27.
    no votes  

  9. #9
    Racemaniac's Avatar
    Registered
    27/07/02
    Location
    Merksem
    Posts
    3,397
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/3
    toen ik ermee speelde en zo'n exception kreeg, was dat omdat ik recognition probeerde te doen in een taal die niet geinstalleerd was. en alleszins bij windows 8 moet ge enterpise edition hebben om andere talen te kunnen installeren dan de default taal van uw windows
    Carmageddon 0wn4ge!!!!
    steun de virtuele perpetuum mobile part 1-10(dood ) part B --|-- Expert op gebied van Rode Blokskes
    all ph33r teh mighty strijksmiley --|-- zo herkent ge een echte TNG'er --|-- help ons de wereld te veroveren!
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in