[LinuxGurus] Windows API einer Spracherkennungssoftware unter Linux nutzen-Emu!?
-
- Beiträge: 7
- Registriert: 03. Nov 2006 22:57
[LinuxGurus] Windows API einer Spracherkennungssoftware unter Linux nutzen-Emu!?
Hallo, bin neu im Forum und brauche auch drigend euer KnowHow. Tut mir leid, wenn es irgendwie gierig klingt.
Ich habe folgendes Problem und brauche einen Rat zur Machbarkeit bzw. ein paar Hinweise zu Tools mit denen ich folgendes realisieren kann:
Es soll eine Sprachsoftware (Windows-Programm), die einen Sound-Input durch einen Mikrofon an der Soundkarte verarbeitet und bestimmte Daten wiedergibt, unter Linux zum Laufen gebracht werden.
Dabei soll Wine NICHT zum Einsatz kommen, da Wine gerade solche Abbildungen von Hardwarezugriffen von Windows-Programmen auf Äquivalente in Linux nicht wirklich "sicher" durchführt. D.h., solche Zugriffe könnten ggf. nicht weiterverarbeitet werden, zu Fehlern und Absturz führen. Die Entwickler weisen selbst darauf hin. Wine ist gut für Spiele, aber professionelle Software muss stabil laufen.
Die Risiken der Nutzung von Wine ist demnach zu hoch, denn die Software muss auch auf verschiedenen Hardware-Plattformen laufen. Weiterhin ist der Leistungshunger für den Einsatzgebiet auf mobilen Geräten nicht vertretbar.
Es gibt keine Linux-Portierung der Software, wenn, dann nur mit horrenden Summen, wenn ihr versteht
Ich brauche nun dringend einen Rat bzw. ein Feedback über die Machbarkeit. Es ist denkbar, dass es irgendwo eine Software gibt, die dies "sicher" realisiert. Denn gerade Leute, die mit der Sounderstellung beschäftigt sind, könnten so ihre professionellen Sound-(Windows)-Programme unter Linux betreiben.
Für jeden Ratschlag bin ich sehr dankbar. Vllt. kann ich euch irgendwann auch mal aus der Patsche helfen oder anderwertig mich erkenntlich zeigen.
----
EDIT:
Ich gebe euch nun meine vollen Absichten bekannt, ich dachte, dass dies vllt. unnötig ist, aber es kommt leider zu Missverständnissen, also:
Es gibt eine fertige Spracherkennungssoftware von Nuance, eben Vocon 3200. Ich nutze die API dieser Spracherkennungssoftware, um es in eine andere, plattformunabhängige Software zu implementieren. Das Problem ist, dass Vocon 3200 auf Windows läuft und auch die API auf Windows abgestimmt ist.
Es gibt ein Windows-Beispielprogramm, welches Nutzen von der API zieht. Dieses Programm ist konsolenbasiert und nimmt beim Start lediglich die Sprache eines Nutzers auf. Dann erfolgt die Spracherkennung und ein Ergebnis wird auf dem Bildschirm präsentiert. Das Programm ist Standalone, d.h., die Installation der API wird nicht benötigt. Sie greift lediglich auf beiliegende Dlls zu. Dieses Programm möchte ich nun unter Linux zum Laufen bringen (mitsamt der beiliegenden API-dlls). Später kann ich das Programm zu meinen Zwecken umschreiben und in eine andere Software einbinden, das soll nicht das Problem sein. Mein Problem ist einfach nur, dass dieses Programm (und die API-dlls) auf Linux laufen.
Eine Portierung der API der Spracherkennungssoftware ist sehr zeitaufwendig und kostspielig.
Nun habe ich alle Infos preisgegeben. Wenn Fragen sind, bitte scheut nicht zu fragen.
Ich habe folgendes Problem und brauche einen Rat zur Machbarkeit bzw. ein paar Hinweise zu Tools mit denen ich folgendes realisieren kann:
Es soll eine Sprachsoftware (Windows-Programm), die einen Sound-Input durch einen Mikrofon an der Soundkarte verarbeitet und bestimmte Daten wiedergibt, unter Linux zum Laufen gebracht werden.
Dabei soll Wine NICHT zum Einsatz kommen, da Wine gerade solche Abbildungen von Hardwarezugriffen von Windows-Programmen auf Äquivalente in Linux nicht wirklich "sicher" durchführt. D.h., solche Zugriffe könnten ggf. nicht weiterverarbeitet werden, zu Fehlern und Absturz führen. Die Entwickler weisen selbst darauf hin. Wine ist gut für Spiele, aber professionelle Software muss stabil laufen.
Die Risiken der Nutzung von Wine ist demnach zu hoch, denn die Software muss auch auf verschiedenen Hardware-Plattformen laufen. Weiterhin ist der Leistungshunger für den Einsatzgebiet auf mobilen Geräten nicht vertretbar.
Es gibt keine Linux-Portierung der Software, wenn, dann nur mit horrenden Summen, wenn ihr versteht
Ich brauche nun dringend einen Rat bzw. ein Feedback über die Machbarkeit. Es ist denkbar, dass es irgendwo eine Software gibt, die dies "sicher" realisiert. Denn gerade Leute, die mit der Sounderstellung beschäftigt sind, könnten so ihre professionellen Sound-(Windows)-Programme unter Linux betreiben.
Für jeden Ratschlag bin ich sehr dankbar. Vllt. kann ich euch irgendwann auch mal aus der Patsche helfen oder anderwertig mich erkenntlich zeigen.
----
EDIT:
Ich gebe euch nun meine vollen Absichten bekannt, ich dachte, dass dies vllt. unnötig ist, aber es kommt leider zu Missverständnissen, also:
Es gibt eine fertige Spracherkennungssoftware von Nuance, eben Vocon 3200. Ich nutze die API dieser Spracherkennungssoftware, um es in eine andere, plattformunabhängige Software zu implementieren. Das Problem ist, dass Vocon 3200 auf Windows läuft und auch die API auf Windows abgestimmt ist.
Es gibt ein Windows-Beispielprogramm, welches Nutzen von der API zieht. Dieses Programm ist konsolenbasiert und nimmt beim Start lediglich die Sprache eines Nutzers auf. Dann erfolgt die Spracherkennung und ein Ergebnis wird auf dem Bildschirm präsentiert. Das Programm ist Standalone, d.h., die Installation der API wird nicht benötigt. Sie greift lediglich auf beiliegende Dlls zu. Dieses Programm möchte ich nun unter Linux zum Laufen bringen (mitsamt der beiliegenden API-dlls). Später kann ich das Programm zu meinen Zwecken umschreiben und in eine andere Software einbinden, das soll nicht das Problem sein. Mein Problem ist einfach nur, dass dieses Programm (und die API-dlls) auf Linux laufen.
Eine Portierung der API der Spracherkennungssoftware ist sehr zeitaufwendig und kostspielig.
Nun habe ich alle Infos preisgegeben. Wenn Fragen sind, bitte scheut nicht zu fragen.
Zuletzt geändert von Bud Spencer am 04. Nov 2006 16:15, insgesamt 3-mal geändert.
Wenn dir Wine bzw. deren Ableger WineX, Cedega und CrossoverOffice nicht reichen, und eine Virtualisierung (Vmware, qemu) nicht in Frage kommt, bleibt dir wohl nur die Neuimplementierung deiner Sound-Software.
Die Wine-Entwickler sind ja nicht zu blöd dazu, die Windows-API brauchbar nachzubilden. Wine ist aber eben *kein* Emulator, und deshalb sind direkte Portzugriffe etc. einfach BÄH! Das ist aber seit MS-Windows NT/2000 auch dort BÄH und solche Software kann man wohl getrost als "speziell", "altbacken" oder in vielen Fällen auch als "Müll" ansehen
Andererseits finde ich es schon sehr ungewöhnlich, dass eine Software direkt auf die Soundkarte zugreift anstatt auch unter MS-Windows den entsprechenden Treiber zu verwenden. Um welche ominöse Software geht es denn konkret?
Janka
Die Wine-Entwickler sind ja nicht zu blöd dazu, die Windows-API brauchbar nachzubilden. Wine ist aber eben *kein* Emulator, und deshalb sind direkte Portzugriffe etc. einfach BÄH! Das ist aber seit MS-Windows NT/2000 auch dort BÄH und solche Software kann man wohl getrost als "speziell", "altbacken" oder in vielen Fällen auch als "Müll" ansehen
Andererseits finde ich es schon sehr ungewöhnlich, dass eine Software direkt auf die Soundkarte zugreift anstatt auch unter MS-Windows den entsprechenden Treiber zu verwenden. Um welche ominöse Software geht es denn konkret?
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
Ich mag die Schreie.
-
- Beiträge: 7
- Registriert: 03. Nov 2006 22:57
Hi,vielen Dank für die Antworten.
@ Janka
Die Software nennt sich Nuance Vocon 3200. Ein direkter Hardwarezugriff erfolgt meines Wissens nicht. Sollte wahrscheinlich über entsprechende DirectX Elemente erfolgen. Ich muss auch dazu sagen, dass ich Berufseinsteiger bin, eher eine studentische Hilfskraft, und auch nicht viel Erfahrung habe.
@ hjb
Danke, werd es mal lesen
Was würdet ihr vorschlagen zu nutzen? Ich habe Vocon 3200 unter Windows und muss es sicher auf Linux zum laufen bringen, dabei muss die Hardware-Plattform wirklich egal sein. D.h. es muss möglichst auf allen problemlos laufen. Weiterhin muss es auch etwas schnell laufen, da der Einsatzgebiet auf mobielen Geräten beruht.
Das Programm ist nur konsolenbasiert, d.h. ohne grafische Oberfläche. Es wird lediglich der Audio-Input der Soundkarte genutzt, mehr nicht.
Könnt ihr mir für dieses Vorhaben eine gute Lösung empfehlen? Also, ich bin gegenüber Wine nicht abgeneigt, nur darf es keine Probleme bezüglich verschiedener Hardwareplattformen machen.
@ Janka
Die Software nennt sich Nuance Vocon 3200. Ein direkter Hardwarezugriff erfolgt meines Wissens nicht. Sollte wahrscheinlich über entsprechende DirectX Elemente erfolgen. Ich muss auch dazu sagen, dass ich Berufseinsteiger bin, eher eine studentische Hilfskraft, und auch nicht viel Erfahrung habe.
@ hjb
Danke, werd es mal lesen
Was würdet ihr vorschlagen zu nutzen? Ich habe Vocon 3200 unter Windows und muss es sicher auf Linux zum laufen bringen, dabei muss die Hardware-Plattform wirklich egal sein. D.h. es muss möglichst auf allen problemlos laufen. Weiterhin muss es auch etwas schnell laufen, da der Einsatzgebiet auf mobielen Geräten beruht.
Das Programm ist nur konsolenbasiert, d.h. ohne grafische Oberfläche. Es wird lediglich der Audio-Input der Soundkarte genutzt, mehr nicht.
Könnt ihr mir für dieses Vorhaben eine gute Lösung empfehlen? Also, ich bin gegenüber Wine nicht abgeneigt, nur darf es keine Probleme bezüglich verschiedener Hardwareplattformen machen.
-
- Beiträge: 7
- Registriert: 03. Nov 2006 22:57
Ich gebe euch nun meine vollen Absichten bekannt, ich dachte, dass dies vllt. unnötig ist, aber es kommt leider zu Missverständnissen, also:
Es gibt eine fertige Spracherkennungssoftware von Nuance, eben Vocon 3200. Ich nutze die API dieser Spracherkennungssoftware, um es in eine andere, plattformunabhängige Software zu implementieren. Das Problem ist, dass Vocon 3200 auf Windows läuft und auch die API auf Windows abgestimmt ist.
Es gibt ein Windows-Beispielprogramm, welches Nutzen von der API zieht. Dieses Programm ist konsolenbasiert und nimmt beim Start lediglich die Sprache eines Nutzers auf. Dann erfolgt die Spracherkennung und ein Ergebnis wird auf dem Bildschirm präsentiert. Das Programm ist Standalone, d.h., die Installation der API wird nicht benötigt. Sie greift lediglich auf beiliegende Dlls zu. Dieses Programm möchte ich nun unter Linux zum Laufen bringen (mitsamt der beiliegenden API-dlls). Später kann ich das Programm zu meinen Zwecken umschreiben und in eine andere Software einbinden, das soll nicht das Problem sein. Mein Problem ist einfach nur, dass dieses Programm (und die API-dlls) auf Linux laufen.
Eine Portierung der API der Spracherkennungssoftware ist sehr zeitaufwendig und kostspielig.
Nun habe ich alle Infos preisgegeben. Wenn Fragen sind, bitte scheut nicht zu fragen.
Es gibt eine fertige Spracherkennungssoftware von Nuance, eben Vocon 3200. Ich nutze die API dieser Spracherkennungssoftware, um es in eine andere, plattformunabhängige Software zu implementieren. Das Problem ist, dass Vocon 3200 auf Windows läuft und auch die API auf Windows abgestimmt ist.
Es gibt ein Windows-Beispielprogramm, welches Nutzen von der API zieht. Dieses Programm ist konsolenbasiert und nimmt beim Start lediglich die Sprache eines Nutzers auf. Dann erfolgt die Spracherkennung und ein Ergebnis wird auf dem Bildschirm präsentiert. Das Programm ist Standalone, d.h., die Installation der API wird nicht benötigt. Sie greift lediglich auf beiliegende Dlls zu. Dieses Programm möchte ich nun unter Linux zum Laufen bringen (mitsamt der beiliegenden API-dlls). Später kann ich das Programm zu meinen Zwecken umschreiben und in eine andere Software einbinden, das soll nicht das Problem sein. Mein Problem ist einfach nur, dass dieses Programm (und die API-dlls) auf Linux laufen.
Eine Portierung der API der Spracherkennungssoftware ist sehr zeitaufwendig und kostspielig.
Nun habe ich alle Infos preisgegeben. Wenn Fragen sind, bitte scheut nicht zu fragen.
Wenn das Programm die DirectX-Soundschnittstelle benutzt, sollten sich WineX und Cedega hervorragend eignen. Kannst du nochmal einen Link auf die Dokumentation geben, die dich zu deiner anfänglichen Annahme brachte, das ginge so nicht...
Janka
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
Ich mag die Schreie.
-
- Beiträge: 7
- Registriert: 03. Nov 2006 22:57
Hallo,
danke für den Tipp. Wegen der Doku, ich schau mal genauer rein. Es ist bislang nur eine Vermutung, dass DirectX genutzt wird.
Folgende Fortschritte habe ich gemacht:
- Ich habe versucht unter Linux mit dem aktuellsten Wine das Programm zu starten.
- Es ist ein Fehler aufgetreten, dass die "msvcr80.dll" nicht gefunden worden ist.
- Daraufhin habe ich diese Datei aus den Windowssystemverzeichnissen rausgeholt und in den Programm-Ordner unter Linux kopiert.
- Wieder starte ich Wine. Diesesmal tritt der Fehler :
Ich habe nach diesem Fehler in Verbindung mit Wine gegoogelt und habe entdeckt, dass dieser Fehler u.a. auftritt, wenn man versucht .Net Applikationen mit Wine auszuführen. Für .Net Applikationen kann man eigentlich mit Mono ran, aber nutzt vermutlich das Spracherkennungs-Programm nicht nur .NET-Klassen, sondern auch die Win API. Es gibt aber keine Mono-Wine Kombination...
Ich habe aber Einiges darüber gelesen, dass man zumindest .NET Framework 1.1. halbwegs unter Wine installieren kann. Weiß jemand wie das geht bzw. hat jemand einen Link von euch, wo ich es nachlesen kann? Zur Zeit finde ich nichts bei Google.
Vielleicht ist der oben genannte Fehler nicht auf .NET zurückzufolgen. Vllt. hat jemand eine Ahnung, warum es nicht läuft...
danke für den Tipp. Wegen der Doku, ich schau mal genauer rein. Es ist bislang nur eine Vermutung, dass DirectX genutzt wird.
Folgende Fortschritte habe ich gemacht:
- Ich habe versucht unter Linux mit dem aktuellsten Wine das Programm zu starten.
- Es ist ein Fehler aufgetreten, dass die "msvcr80.dll" nicht gefunden worden ist.
- Daraufhin habe ich diese Datei aus den Windowssystemverzeichnissen rausgeholt und in den Programm-Ordner unter Linux kopiert.
- Wieder starte ich Wine. Diesesmal tritt der Fehler :
Code: Alles auswählen
Microsoft Visual C++ Runtime Library
Runtime Error!
Program: Z:\vocon\audioloop.exe
R6034
An application has made an attempt to load the C runtime library incorrectly.
Please contact the application's support team for more information.
Ich habe aber Einiges darüber gelesen, dass man zumindest .NET Framework 1.1. halbwegs unter Wine installieren kann. Weiß jemand wie das geht bzw. hat jemand einen Link von euch, wo ich es nachlesen kann? Zur Zeit finde ich nichts bei Google.
Vielleicht ist der oben genannte Fehler nicht auf .NET zurückzufolgen. Vllt. hat jemand eine Ahnung, warum es nicht läuft...
-
- Beiträge: 7
- Registriert: 03. Nov 2006 22:57
Genau, habe ich auch gefunden, aber nicht so recht verstanden.
2.) Was bedeutet "Winver=win2k, msi,msiexec=b, install netfx.msi"
3.) Wo soll ich die Schlüssel setzen
Kenne mich auch nicht so doll mit Wine aus.
1.) Welche Versionen von DCOM95, IE6A while back I got the .NET framework to run a program in Wine. These notes may be slightly out of date, so feel free to update them with your experience.
A better way to support .NET programs would be to integrate with Mono. This could be done by creating a wine version of mscoree.dll.
Anyway, here's some notes on what I did:
Notes on getting the .NET framework to install.
1. Install DCOM95, IE6.
2. Winver=win2k, msi,msiexec=b, install netfx.msi
3. Add the following key:
Move some files round:Code: Alles auswählen
[Software\\Microsoft\\.NETFramework] 1101351980 "InstallRoot"="C:\\Windows\\Microsoft.NET\\Framework\\"
Manually added the following key to the registry:Code: Alles auswählen
move files in Win/* to Windows/* cd Windows/Microsoft.NET/Framework/ mkdir v1.1.4322 cp -R Framework/URTInstallPath/* v1.1.4322/ wine .cxoffice/dotwine/fake_windows/Windows/Microsoft.NET/Framework/v1.1.4322/RegAsm.exe c:\\Windows\\System\\mscoree.dll
Code: Alles auswählen
[Software\\Classes\\CLSID\\{E5CB7A31-7512-11D2-89CE-0080C792E5D8}\\InprocServer32] 1101368247 @="c:\\windows\\system\\mscoree.dll"
2.) Was bedeutet "Winver=win2k, msi,msiexec=b, install netfx.msi"
3.) Wo soll ich die Schlüssel setzen
Kenne mich auch nicht so doll mit Wine aus.