Ana içeriğe geç

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:

  1. DirectoriesToAlwaysCook (etiket olarak Additional Asset Directories to Cook) içinde /RuntimeSpeechRecognizer/LanguageModels iç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.

Additional Asset Directories to Cook

  1. bCookMapsOnly false olarak ayarlanmış. Eğer true olarak 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.

Additional Asset Directories to Cook

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.cs dosyanı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.cs dosyanı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.