Sorun Giderme
Dil Modeli Hazırlama Sorunları
Sorunların çoğu, paketlenmiş yapıda sorunlara neden olabilen dil modeli hazırlama ile ilgilidir. Özellikle, aşağıdaki günlüklerle karşılaşabilirsiniz:
LogRuntimeSpeechRecognizer: Error: Language model loading failed: Failed to load the language model asset '/RuntimeSpeechRecognizer/LanguageModels/LanguageModel.LanguageModel'
Bunu düzeltmek için Proje Ayarları'na gidin, ardından Proje -> Paketleme bölümüne gidin. Aşağı kaydırın ve Gelişmiş kategorisini açın, ardından şunları yaptığınızdan emin olun:
DirectoriesToAlwaysCook(etiket olarakAdditional Asset Directories to Cook) içinde/RuntimeSpeechRecognizer/LanguageModelsiçin bir giriş bulunuyor. Bu, eklenti tarafından düzenleyici zamanında otomatik olarak yapılır, ancak bazı kullanıcılar bunu manuel olarak yapmak zorunda kaldıklarını bildirmiştir, bu nedenle lütfen kontrol ettiğinizden emin olun. Bu, dil modeli varlığının paketlenmiş yapıda her zaman hazırlanmasını sağlamak için gereklidir.

bCookMapsOnlyfalseolarak ayarlanmış. Eğertrueolarak ayarlanırsa, önceki özelliği yok sayar ve dil modeli varlığının düzgün şekilde hazırlanmama ihtimali vardır. Bu da eklenti tarafından otomatik olarak yapılır, ancak emin olmak için lütfen bu değişkeni de manuel olarak kontrol edin.

Motorun paketleme davranışını etkileyebilecek başka özellikler de olabilir, bunlar araştırıldıkça daha sonra bu sayfaya eklenebilir.
Android ve iOS Çökmeleri
Bazı durumlarda Android ve iOS'ta, çalışma zamanında (TestFlight testi sırasında olduğu gibi) çökmeler meydana gelebilir. Bu, temeldeki whisper.cpp kütüphanesinin bellek ayırma gereksinimlerinin, bu platformlarda Unreal Engine'in varsayılan ayırıcılarıyla çakışmasından kaynaklanır. Diğer platformlarda, FMalloc varsayılan olarak ANSI ayırıcısını kullanır, bu nedenle bu sorun özellikle Android ve iOS'a özgüdür.
Bunu çözmek için, projenizin Target.cs dosyasında ANSI ayırıcısını zorlamanız gerekir:
Unreal Engine 5.5 ve önceki sürümler için:
- Projeniz kaynak koddan derlenmiş bir motor kullanmalıdır (önceden derlenmiş bir ikili değil)
Target.csdosyanıza aşağıdaki satırı ekleyin:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");
Unreal Engine 5.6 ve sonrası için:
- Hem kaynak koddan derlenmiş hem de önceden derlenmiş motor yapılarıyla çalışır
Target.csdosyanıza aşağıdaki iki satırı ekleyin:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;
Bu, Unreal Engine'i Android ve iOS'ta ANSI ayırıcısını kullanmaya zorlar, whisper.cpp tarafından kullanılan ayırıcıyla eşleşir.