Risoluzione dei problemi
Problemi di staging del modello linguistico
La maggior parte dei problemi è correlata allo staging del modello linguistico, che può causare problemi nella build impacchettata. In particolare, potresti incontrare i seguenti log:
LogRuntimeSpeechRecognizer: Error: Language model loading failed: Failed to load the language model asset '/RuntimeSpeechRecognizer/LanguageModels/LanguageModel.LanguageModel'
Per risolvere questo problema, vai su Impostazioni del Progetto, quindi naviga nella sezione Progetto -> Packaging. Scorri verso il basso e rivela la categoria Avanzate, e assicurati che:
DirectoriesToAlwaysCook(etichettato comeAdditional Asset Directories to Cook) abbia una voce per/RuntimeSpeechRecognizer/LanguageModelsall'interno. Questo viene fatto automaticamente dal plugin durante il tempo di editor, ma alcuni utenti hanno segnalato di doverlo fare manualmente, quindi assicurati di controllare. Questo è necessario per garantire che l'asset del modello linguistico sia sempre messo in stage nella build impacchettata.

bCookMapsOnlysia impostato sufalse. Se è impostato sutrue, ignorerà la proprietà precedente, e c'è la possibilità che l'asset del modello linguistico non venga messo in stage correttamente. Anche questo viene fatto automaticamente dal plugin, ma per sicurezza, controlla manualmente anche questa variabile.

Potrebbero esserci altre proprietà che possono influenzare il comportamento di packaging del motore, che potrebbero essere aggiunte a questa pagina in seguito man mano che vengono investigate.
Crash su Android e iOS
In alcuni casi su Android e iOS, potrebbero verificarsi crash durante il runtime (come durante i test TestFlight). Questo è causato dai requisiti di allocazione della memoria della libreria sottostante whisper.cpp in conflitto con gli allocatori predefiniti di Unreal Engine su queste piattaforme. Su altre piattaforme, FMalloc predefinisce sull'allocatore ANSI, quindi questo problema è specifico per Android e iOS.
Per risolvere questo, devi forzare l'allocatore ANSI nel file Target.cs del tuo progetto:
Per Unreal Engine 5.5 e versioni precedenti:
- Il tuo progetto deve utilizzare un motore compilato dai sorgenti (non un binario pre-compilato)
- Aggiungi la seguente riga al tuo file
Target.cs:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");
Per Unreal Engine 5.6 e versioni successive:
- Funziona sia con build del motore pre-compilate che compilate dai sorgenti
- Aggiungi la seguente riga al tuo file
Target.cs:
StaticAllocator = StaticAllocatorType.Ansi;
Questo forza Unreal Engine a utilizzare l'allocatore ANSI su Android e iOS, corrispondendo all'allocatore utilizzato da whisper.cpp.