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.