Sorun Giderme
Dil Modeli Hazırlama Sorunları
Sorunların çoğu, paketlenmiş yapıda problemlere 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 genişletin ve şunları kontrol edin:
DirectoriesToAlwaysCook(etiket olarakPaketlenecek Ek Varlık Dizinleri) içinde/RuntimeSpeechRecognizer/LanguageModelsiçin bir giriş bulunduğundan emin olun. Bu, editör zamanında eklenti tarafından 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ır bulundurulmasını sağlamak için gereklidir.

bCookMapsOnlydeğerininfalseolarak ayarlandığından emin olun. 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 yine de emin olmak için lütfen bu değişkeni 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. Bunun nedeni, temeldeki whisper.cpp kütüphanesinin bellek ayırma gereksinimlerinin, bu platformlarda Unreal Engine'in varsayılan ayırıcılarıyla çakışmasıdı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ı ile çalışır
Target.csdosyanıza aşağıdaki satırı ekleyin:
StaticAllocator = StaticAllocatorType.Ansi;
Bu, Unreal Engine'i Android ve iOS'ta ANSI ayırıcıyı kullanmaya zorlar ve whisper.cpp tarafından kullanılan ayırıcıyla eşleşir.