Modelul NVIDIA’s Open-Source ASR surclaseaza Whisper

de | ianuarie 24, 2026

Citeste si: https://blog.mersi.ai/2025/07/25/voxtral-mistral-versus-whisper-pentru-audio-ai/

Ca dezvoltator, când trebuie să integrezi transcrierea vocală sau recunoașterea vorbitorului în aplicația ta, primul lucru care îți vine în minte ar putea fi apelarea diferitelor API-uri cloud, dar asta înseamnă de obicei să te confrunți cu latența rețelei, gestionarea cheilor API, confidențialitatea datelor și o posibilă suprasarcină continuă semnificativă. Ce-ar fi dacă toate acestea s-ar putea face offline pe dispozitivul utilizatorului, cu o performanță excelentă?

În acest articol vreau să prezint un proiect open source excelent: FluidAudio. Este un SDK Swift construit special pentru ecosistemul Apple care permite dezvoltatorilor să implementeze procesarea AI audio complet localizată, cu latență redusă, pe dispozitivele Mac și iOS.

Avantajul său principal este că prin delegarea sarcinilor de inferență către Apple Neural Network Engine (ANE), realizează o eficiență extrem de ridicată și un consum scăzut de resurse, fără a depinde de GPU și minimizând sarcina asupra CPU-ului. Aceasta este o mare înlesnire pentru dezvoltarea sarcinilor de fundal care necesită „always on”, aplicații de calcul ambiental sau aplicații mobile cu cerințe stricte privind durata de viață a bateriei.

Mai mult decât un instrument, este o nouă optiune. FluidAudio este mult mai mult decât un simplu SDK.

Aduce mai multe beneficii cheie dezvoltatorilor:

Confidențialitate pe primul loc: Toată procesarea se face local, iar datele audio ale utilizatorului nu părăsesc niciodată dispozitivul. Acesta este un avantaj decisiv pentru aplicațiile care gestionează informații sensibile, cum ar fi întâlnirile, notițele etc.

Performanță extremă: Folosind ANE pentru a realiza rapoarte de eficiență energetică neegalate de soluțiile tradiționale, făcând posibile aplicațiile AI audio în timp real.

Cost zero și funcționare offline: Nu există costuri recurente pentru apeluri API, iar aplicațiile funcționează stabil fără conexiune la internet. În prezent, FluidAudio este folosit de comunitate pentru a oferi funcționalitate AI localizată în aplicații precum Voice Ink, Spokenly, Slipbox și multe altele.

Integrare rapidă Integrează FluidAudio în proiectul tău într-un singur pas cu Swift Package Manager:

dependencies: [ .package(url: „https://github.com/FluidInference/FluidAudio.git„, from: „0.6.1”), ] Important: Când adaugi FluidAudio ca package dependency, adaugă doar biblioteca (nu executabilul).

ASR Quick start

import FluidAudio

// Batch transcription from an audio file
Task {
    // 1) Initialize ASR manager and load models
    // Switch to .v2 for English-only work
    let models = try await AsrModels.downloadAndLoad(version: .v3) 
    let asrManager = AsrManager(config: .default)
    try await asrManager.initialize(models: models)

    // 3) Transcribe the audio 16hz, already converted
    let result = try await asrManager.transcribe(samples)

    // 3) Transcribe a file
    // let url = URL(fileURLWithPath: sample.audioPath)

    // 3) Transcribe AVAudioPCMBuffer
    // let result = try await asrManager.transcribe(audioBuffer)
    print("Transcription: \(result.text)")
}

Un exemplu de output:
{
  "confidence" : 0.98828125,
  "duration" : 11,
  "processingTime" : 0.14163601398468018,
  "rtfx" : 77.663864135742188,
  "text" : "And so, my fellow Americans, ask not what your country can do for you, ask what you can do for your country.",
  "tokenTimings" : [
    {
      "confidence" : 0.99951171875,
      "endTime" : 0.56000000000000005,
      "startTime" : 0.23999999999999999,
      "token" : " And",
      "tokenId" : 1976
    },
    ....
  ]
}

Caracteristici principale pe scurt

FluidAudio oferă trei caracteristici principale care sunt imediat disponibile și ușor de integrat.

Recunoașterea automată a vorbirii (ASR)

FluidAudio folosește modelul Parakeet TDT v3 și suportă transcrierea în până la 25 de limbi europene.

Bulgară (bg), Croată (hr), Cehă (cs), Daneză (da), Olandeză (nl), Engleză (en), Estonă (et), Finlandeză (fi), Franceză (fr), Germană (de), Greacă (el), Maghiară (hu), Italiană (it), Letonă (lv), Lituaniană (lt), Malteză (mt), Poloneză (pl), Portugheză (pt), Română (ro), Slovacă (sk), Slovenă (sl), Spaniolă (es), Suedeză (sv), Rusă (ru), Ucraineană (uk)

Performanța este atât de impresionantă încât pe cipul M4 Pro, durează doar aproximativ 19 secunde pentru a procesa 1 oră de audio. Fie că procesează un fișier audio complet sau oferă transcriere în timp real a vorbirii, face față sarcinii.

Încearcă demo aici: https://huggingface.co/spaces/nvidia/parakeet-tdt-0.6b-v3

Diarizarea vorbitorilor

„Diarizarea vorbitorilor rezolvă problema „cine a vorbit când”. Se bazează pe un model puternic Pyannote care separă și grupează precis diferiți vorbitori. Cu o rată de eroare (DER) scăzută de 17,7% conform rezultatelor pe setul de referință AMI, egalează sau depășește performanța unora dintre cele mai bune soluții din industrie, toate la o viteză de peste 50 de ori mai mare decât în timp real pe un dispozitiv local.

import FluidAudio

// Diarize an audio file
Task {
    let models = try await DiarizerModels.downloadIfNeeded()
    let diarizer = DiarizerManager()  // Uses optimal defaults (0.7 threshold = 17.7% DER)
    diarizer.initialize(models: models)

    // Prepare 16 kHz mono samples (see: Audio Conversion)
    let samples = try await loadSamples16kMono(path: "path/to/meeting.wav")

    // Run diarization
    let result = try diarizer.performCompleteDiarization(samples)
    for segment in result.segments {
        print("Speaker \(segment.speakerId): \(segment.startTimeSeconds)s - \(segment.endTimeSeconds)s")
    }
}

Detectarea activității vocale (VAD)

Bazat pe Silero VAD, FluidAudio poate detecta eficient segmentele de vorbire într-un flux audio. Acest lucru este esențial pentru construirea declanșatoarelor de vorbire, segmentarea automată și alte funcții. Suportă atât analiza fișierelor complete, cât și detectarea în flux în timp real.

import FluidAudio

Task {
    let manager = try await VadManager(
        config: VadConfig(threshold: 0.75)
    )

    let audioURL = URL(fileURLWithPath: "path/to/audio.wav")
    let samples = try AudioConverter().resampleAudioFile(audioURL)

    var segmentation = VadSegmentationConfig.default
    segmentation.minSpeechDuration = 0.25
    segmentation.minSilenceDuration = 0.4

    let segments = try await manager.segmentSpeech(samples, config: segmentation)
    for segment in segments {
        print(
            String(format: "Speech %.2f–%.2fs", segment.startTime, segment.endTime)
        )
    }
}

Toate modelele proiectului FluidAudio sunt open source și sunt furnizate cu documentație detaliată și unelte în linia de comandă pentru ca dezvoltatorii să testeze și să integreze rapid.

Dacă cauți o soluție AI audio prietenoasă cu confidențialitatea și cu performanțe ridicate, FluidAudio merită cu siguranță explorat.