Mit dem Dev-Cpp SAPI anwenden?
-
Eine einfache Konsolenanwendung mit MSVC++ sieht so aus:
//in stdafx.h //... #define _ATL_APARTMENT_THREADED #include <atlbase.h> extern CComModule _Module; #include <atlcom.h>
#include <stdafx.h> #include <sapi.h> #include <conio.h> int main() { ISpVoice * pVoice = NULL; if (FAILED(::CoInitialize(NULL))) return FALSE; HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice); if( SUCCEEDED( hr ) ) { hr = pVoice->Speak(L"Hello world", 0, NULL); // Change pitch hr = pVoice->Speak(L"This sounds normal <pitch middle = '-10'/> but the pitch drops half way through", SPF_IS_XML, NULL ); pVoice->Release(); pVoice = NULL; } ::CoUninitialize(); getch(); }
Wie schafft man es mit dem Dev-C++ einen Pointer ISpVoice* zu erhalten?
-
würd mal sagen, du musst nen GNU-Port der SAPI haben..
*fg* BTW: wer hat lust, nen Open-Source-Formant-Synthesizer zu schreiben?
-
GNU-Port der SAPI
Du machst Witze? o.k., 1:0 für Microsoft. Ich verwende den MSVC++.
-
fifi schrieb:
GNU-Port der SAPI
Du machst Witze? o.k.
ist sogar mir schon untergekommen..
Allerdings muss ich dazu sagen, dass ich mir die SAPI noch nicht angeschaut hab. Würde ne lib von einem freien Mitarbeiter bevorzugen..
Leiider hab ich keiner Ahnung von Audioprogrammierung weshalb ich sowas noch nicht wirklich hinbekommen hab..
Das einzige was mir einfiele wäre ne Audiodatei auseinanderzufriemeln in der alle Phoneme möglichst monoton aufgespult wurden und diese dann mit kleinen Geschwindigkeitsschwankungen (zum besseren Ausdruck) aneinanderzureihen und abzuspielen.
Klingt aber wohl auch Schei**
-
ookay, ich hab mich überzeugt, dass es auch anders geht.
300 Zeilen Code erzeugen mittels SDL_audio und einer kleinen (400 Byte) Eingabedatei schon ne gaaaanz rudimentäre Ausgabe..
Ich werds hochladen sowie mein letztes Problem gelöst ist..