Akışlı Konuşma Tanıma
Ses verisini veya yerel ses dosyasını seçilen AI sağlayıcısına gönderin ve parça parça konuşma tanıma sonuçları alın.
Ön Koşullar
AIBudsAISDKbaşlatılmış ve kayıtlı bir sağlayıcı seçilmiştir.- Sağlayıcı
StreamingASRServiceAPIdesteği sunar. - Giriş baytları yapılandırmada belirtilen
audioFormatile eşleşir. languageForSpeechInputverildiğindeen-USveyazh-CNgibi tireli dil tanımlayıcısı kullanır.
AI desteğiyle uygulayın
AI ile geliştirin
Bu iş akışını AI ile uygulayın
Resmî “AIBuds Akışlı Konuşma Tanımayı Uygulama” becerisini kullanarak iş akışını uygulamanıza uyarlayın.
https://docs-aibuds.github.io/tr/skills/implement-aibuds-streaming-asr adresini okuyup yönergeleri izleyin. Bu beceriyle “AIBuds Akışlı Konuşma Tanımayı Uygulama” iş akışını iOS projesinde uygulayıp doğrulayın.API Reference
Framework
AIBudsAI.xcframework
Import
- Swift
- Objective-C
import AIBudsAI
import AIBudsAIFoundation#import <AIBudsAI/AIBudsAI-Swift.h>Declaration
- Swift
- Objective-C
/// Recognizes voice data.
/// - Parameters:
/// - data: The audio data to recognize.
/// - config: The recognition configuration.
/// - onTranscript: Called for each incremental transcript result.
/// - onFailed: Called when recognition fails.
/// - onFinish: Called when recognition finishes.
public static func recognizeVoice(_ data: Data,
config: StreamingASRConfig = .default,
onTranscript: ((_ transcriptData: StreamSpeechASRModel) -> Void)? = nil,
onFailed: ((_ error: NSError) -> Void)? = nil,
onFinish: (() -> Void)? = nil) -> Void
/// Recognizes a voice file.
/// - Parameters:
/// - filePath: The local path of the audio file to recognize.
/// - config: The recognition configuration.
/// - onTranscript: Called for each incremental transcript result.
/// - onFailed: Called when recognition fails.
/// - onFinish: Called when recognition finishes.
public static func recognizeVoice(withFile filePath: String,
config: StreamingASRConfig = .default,
onTranscript: ((_ transcriptData: StreamSpeechASRModel) -> Void)? = nil,
onFailed: ((_ error: NSError) -> Void)? = nil,
onFinish: (() -> Void)? = nil) -> Void/// Recognizes voice data.
/// - Parameters:
/// - data: The audio data to recognize.
/// - config: The recognition configuration.
/// - onTranscript: Called for each incremental transcript result.
/// - onFailed: Called when recognition fails.
/// - onFinish: Called when recognition finishes.
+ (void)recognizeVoiceData:(NSData * _Nonnull)data
withConfig:(AIBudsStreamingASRConfig * _Nonnull)config
onTranscript:(void (^ _Nullable)(AIBudsStreamSpeechASRModel * _Nonnull))onTranscript
onFailed:(void (^ _Nullable)(NSError * _Nonnull))onFailed
onFinish:(void (^ _Nullable)(void))onFinish;
/// Recognizes a voice file.
/// - Parameters:
/// - filePath: The local path of the audio file to recognize.
/// - config: The recognition configuration.
/// - onTranscript: Called for each incremental transcript result.
/// - onFailed: Called when recognition fails.
/// - onFinish: Called when recognition finishes.
+ (void)recognizeVoiceFile:(NSString * _Nonnull)filePath
withConfig:(AIBudsStreamingASRConfig * _Nonnull)config
onTranscript:(void (^ _Nullable)(AIBudsStreamSpeechASRModel * _Nonnull))onTranscript
onFailed:(void (^ _Nullable)(NSError * _Nonnull))onFailed
onFinish:(void (^ _Nullable)(void))onFinish;İki aşırı yükleme de AIBudsAISDK tarafından sunulur ve seçilen sağlayıcının StreamingASRServiceAPI uygulamasına yönlendirilir.
Yapılandırma
StreamingASRConfig öğesini şu değerlerle oluşturun:
| Değer | Açıklama |
|---|---|
languageForSpeechInput | İsteğe bağlı tanıma dili. Belirtilmezse sağlayıcı geçerli uygulama dilini kullanır. |
audioFormat | .pcm, .mp3 veya .wav gibi giriş biçimi. |
enableSpeakerDiarization | Sağlayıcının konuşmacı bölümlerini ayırt edip etmeyeceği. Varsayılan false. |
Giriş biçimi AIAudioFormat kullanır:
| Değer | Giriş |
|---|---|
.pcm | Seçilen sağlayıcının örnek biçimiyle eşleşen ham PCM ses. |
.opus | Opus kodlu ses. |
.mp3 | MP3 ses. |
.wav | WAV kapsayıcı ses. |
.none / .unknown | Kullanılabilir biçim yok; bu değerlerle tanımayı başlatmayın. |
Her StreamSpeechASRModel; sıra, isteğe bağlı istek kimliği, parça parça döküm, kesinlik işareti, isteğe bağlı döküm sırası ve konuşmacı bölümleri içerir.
Kullanım Örnekleri
Dosyayı Tanıma
- Swift
- Objective-C
let config = StreamingASRConfig(
languageForSpeechInput: "en-US",
audioFormat: .wav,
enableSpeakerDiarization: true
)
AIBudsAISDK.recognizeVoice(
withFile: fileURL.path,
config: config,
onTranscript: { result in
print("Sequence \(result.sequence): \(result.transcript ?? "")")
if result.isDefinite {
print("Definite transcript received")
}
},
onFailed: { error in
print("Recognition failed: \(error.localizedDescription)")
},
onFinish: {
print("Recognition finished")
}
)AIBudsStreamingASRConfig *config =
[[AIBudsStreamingASRConfig alloc] initWithLanguageForSpeechInput:@"en-US"
audioFormat:AIBudsAIAudioFormatWav
enableSpeakerDiarization:YES];
[AIBudsAISDK recognizeVoiceFile:fileURL.path
withConfig:config
onTranscript:^(AIBudsStreamSpeechASRModel *result) {
NSLog(@"Sequence %ld: %@", (long)result.sequence, result.transcript ?: @"");
if (result.isDefinite) {
NSLog(@"Definite transcript received");
}
}
onFailed:^(NSError *error) {
NSLog(@"Recognition failed: %@", error.localizedDescription);
}
onFinish:^{
NSLog(@"Recognition finished");
}];Bellekteki ses için recognizeVoice(_:config:onTranscript:onFailed:onFinish:) öğesini Data / NSData ve aynı geri çağrı yönetimiyle çağırın.
Notlar
- Döküm metni parça parça gelişir ve cümle tamamlandıkça yinelenebilir; arayüz çıktısını oluştururken
sequence,transcriptSequenceveisDefinitekullanın. - Mevcut API tam
Datadeğeri veya dosya yolu kabul eder; akışı başlat/ekle/durdur denetimleri ya da tanıma delegesi sunmaz. onFinishsonuç değeri taşımaz. Tamamlanma sonrasında nihai metin gerekiyorsaonTranscriptile alınan son dökümü saklayın.- Desteklenen biçimler, diller ve konuşmacı ayrımı davranışı sağlayıcıya göre değişebilir.