Ana içeriğe geç

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

  • AIBudsAISDK başlatılmış ve kayıtlı bir sağlayıcı seçilmiştir.
  • Sağlayıcı StreamingASRServiceAPI desteği sunar.
  • Giriş baytları yapılandırmada belirtilen audioFormat ile eşleşir.
  • languageForSpeechInput verildiğinde en-US veya zh-CN gibi 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.
Resmî beceriyi görüntüle

API Reference

Framework

AIBudsAI.xcframework

Import

Swift
import AIBudsAI
import AIBudsAIFoundation

Declaration

Swift
/// 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

İ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ğerAçı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.
enableSpeakerDiarizationSağlayıcının konuşmacı bölümlerini ayırt edip etmeyeceği. Varsayılan false.

Giriş biçimi AIAudioFormat kullanır:

DeğerGiriş
.pcmSeçilen sağlayıcının örnek biçimiyle eşleşen ham PCM ses.
.opusOpus kodlu ses.
.mp3MP3 ses.
.wavWAV kapsayıcı ses.
.none / .unknownKullanı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
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")
    }
)

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, transcriptSequence ve isDefinite kullanın.
  • Mevcut API tam Data değeri veya dosya yolu kabul eder; akışı başlat/ekle/durdur denetimleri ya da tanıma delegesi sunmaz.
  • onFinish sonuç değeri taşımaz. Tamamlanma sonrasında nihai metin gerekiyorsa onTranscript ile 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.