{"data":{"slug":"fluidinference-fluidaudio","name":"FluidAudio","tagline":"Frontier CoreML audio models in your apps — text-to-speech, speech-to-text, voice activity detection, and speaker diarization. In Swift, powered by SOTA open source.","github_url":"https://github.com/FluidInference/FluidAudio","owner":"FluidInference","repo":"FluidAudio","owner_avatar_url":"https://avatars.githubusercontent.com/u/216957621?v=4","primary_language":"Swift","stars":2417,"forks":337,"topics":["ane","asr","audio","automatic-speech-recognition","avfoundation","coreml","ios","macos","nvidia","parakeet","real-time","speaker-diarization","speaker-embedding","speaker-identification","speaker-recognition","speech-to-text","swift","vad","voice-activity-detection"],"archived":false,"github_pushed_at":"2026-07-10T23:17:38+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/fluidinference-fluidaudio","markdown_url":"https://www.graphcanon.com/tools/fluidinference-fluidaudio.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/fluidinference-fluidaudio","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=fluidinference-fluidaudio","description":"Frontier CoreML audio models in your apps — text-to-speech, speech-to-text, voice activity detection, and speaker diarization. In Swift, powered by SOTA open source. ","homepage_url":"https://docs.fluidinference.com/introduction","license":"Apache-2.0","open_issues":14,"watchers":42,"ai_summary":null,"readme_excerpt":"## Installation\n\nAdd FluidAudio to your project using Swift Package Manager:\n\n```swift\ndependencies: [\n    .package(url: \"https://github.com/FluidInference/FluidAudio.git\", from: \"0.12.4\"),\n],\n```\n\n**In Xcode:**\n1. Add the FluidAudio package to your project\n2. In the \"Add Package\" dialog, select `FluidAudio`\n3. Add it to your app target\n\n**In Package.swift:**\n```swift\n.product(name: \"FluidAudio\", package: \"FluidAudio\")\n```\n\n**CocoaPods:** We recommend using [cocoapods-spm](https://github.com/trinhngocthuyen/cocoapods-spm) for better SPM integration, but if needed, you can also use our podspec: `pod 'FluidAudio', '~> 0.12.4'`\n\n---\n\n### ASR Quick Start\n\n```swift\nimport FluidAudio\n\n// Batch transcription from an audio file\nTask {\n    // 1) Initialize ASR manager and load models\n    let models = try await AsrModels.downloadAndLoad(version: .v3)  // Switch to .v2 for English-only work\n    let asrManager = AsrManager(config: .default)\n    try await asrManager.loadModels(models)\n\n    // 3) Transcribe the audio 16hz, already converted\n    let result = try await asrManager.transcribe(samples)\n\n    // 3) Transcribe a file\n    // let url = URL(fileURLWithPath: sample.audioPath)\n\n    // 3) Transcribe AVAudioPCMBuffer\n    // let result = try await asrManager.transcribe(audioBuffer)\n    print(\"Transcription: \\(result.text)\")\n}\n```\n\n```bash\n\n---\n\n### VAD Quick Start (Offline Segmentation)\n\nSimple call to return chunk-level probabilities every 256 ms hop:\n\n```swift\nlet results = try await manager.process(samples)\nfor (index, chunk) in results.enumerated() {\n    print(\n        String(\n            format: \"Chunk %02d: prob=%.3f, inference=%.4fs\",\n            index,\n            chunk.probability,\n            chunk.processingTime\n        )\n    )\n}\n```\n\nThe following are higher level APIs better suited to integrate with other systems\n\n```swift\nimport FluidAudio\n\nTask {\n    let manager = try await VadManager(\n        config: VadConfig(defaultThreshold: 0.75)\n    )\n\n    let audioURL = URL(fileURLWithPath: \"path/to/audio.wav\")\n    let samples = try AudioConverter().resampleAudioFile(audioURL)\n\n    var segmentation = VadSegmentationConfig.default\n    segmentation.minSpeechDuration = 0.25\n    segmentation.minSilenceDuration = 0.4\n\n    let segments = try await manager.segmentSpeech(samples, config: segmentation)\n    for segment in segments {\n        print(\n            String(format: \"Speech %.2f–%.2fs\", segment.startTime, segment.endTime)\n        )\n    }\n}\n```\n\n---\n\n### License\n\nApache 2.0 — see `LICENSE` for details.","github_created_at":"2025-06-21T21:09:30+00:00","created_at":"2026-07-11T12:16:59.716223+00:00","updated_at":"2026-07-11T12:17:09.303276+00:00","categories":[{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"speech-audio","name":"Speech & Audio","url":"https://www.graphcanon.com/categories/speech-audio","markdown_url":"https://www.graphcanon.com/categories/speech-audio.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/speech-audio"},{"slug":"vector-databases","name":"Vector Databases","url":"https://www.graphcanon.com/categories/vector-databases","markdown_url":"https://www.graphcanon.com/categories/vector-databases.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/vector-databases"}],"tags":[{"slug":"ane","name":"ane"},{"slug":"asr","name":"asr"},{"slug":"audio","name":"audio"},{"slug":"automatic-speech-recognition","name":"automatic-speech-recognition"},{"slug":"avfoundation","name":"avfoundation"},{"slug":"coreml","name":"coreml"},{"slug":"ios","name":"ios"},{"slug":"macos","name":"macos"}],"trust":{"provenance":{"is_fork":false,"github_id":1006258471,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T12:17:00.418Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":16,"days_since_push":0,"last_release_at":"2026-07-07T22:55:46Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T12:17:03.161Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-11T12:17:02.813Z"},"languages":{"value":["swift"],"source":"github.language","observed_at":"2026-07-11T12:17:02.813Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-07-11T12:17:02.813Z"}}}}