{"id":24332384,"url":"https://github.com/numq/voice-activity-detection","last_synced_at":"2026-04-07T20:31:12.721Z","repository":{"id":264963147,"uuid":"894186236","full_name":"numq/voice-activity-detection","owner":"numq","description":"JVM library for voice activity detection written in Kotlin based on C library fvad and Silero","archived":false,"fork":false,"pushed_at":"2026-03-23T12:29:52.000Z","size":3063,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-24T09:59:38.294Z","etag":null,"topics":["cpp","fvad","java","jni","jvm","kotlin","libfvad","ml","onnx","silero","silero-vad","vad","voice-activity-detection"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/numq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-25T22:56:14.000Z","updated_at":"2026-03-23T12:29:56.000Z","dependencies_parsed_at":"2024-12-13T01:27:11.325Z","dependency_job_id":"522cab6c-4ea2-438c-bdce-12cb918aad63","html_url":"https://github.com/numq/voice-activity-detection","commit_stats":null,"previous_names":["numq/kvad","numq/vad","numq/voice-activity-detection"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/numq/voice-activity-detection","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numq%2Fvoice-activity-detection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numq%2Fvoice-activity-detection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numq%2Fvoice-activity-detection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numq%2Fvoice-activity-detection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/numq","download_url":"https://codeload.github.com/numq/voice-activity-detection/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numq%2Fvoice-activity-detection/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31528260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","fvad","java","jni","jvm","kotlin","libfvad","ml","onnx","silero","silero-vad","vad","voice-activity-detection"],"created_at":"2025-01-18T02:18:40.836Z","updated_at":"2026-04-07T20:31:12.708Z","avatar_url":"https://github.com/numq.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eVoice Activity Detection\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003eJVM library for voice activity detection written in Kotlin based on the C library \u003ca href=\"https://github.com/dpirch/libfvad\"\u003elibfvad\u003c/a\u003e and ML model \u003ca href=\"https://github.com/snakers4/silero-vad\"\u003eSilero\u003c/a\u003e\u003c/p\u003e\n\n### See also\n\n- [Stretch](https://github.com/numq/stretch) *to change the speed of audio without changing the pitch*\n\n\n- [Speech recognition](https://github.com/numq/speech-recognition) *to transcribe audio to text*\n\n\n- [Speech generation](https://github.com/numq/speech-generation) *to generate voice audio from text*\n\n\n- [Text generation](https://github.com/numq/text-generation) *to generate text from prompt*\n\n\n- [Noise reduction](https://github.com/numq/noise-reduction) *to remove noise from audio*\n\n## When to use\n\n\u003e [!NOTE]\n\u003e For best results, it is recommended to apply noise reduction to the input data.\n\n### libfvad\n\nDetects any audio activity, regardless of the sound type. The detection behavior depends on the selected mode. Suitable\nfor general voice activity detection.\n\n### Silero\n\nDetects voice activity specifically containing human speech. Best for speech-focused tasks like transcription and\nvoice-controlled systems.\n\n## Features\n\n- Detects voice activity in PCM audio data\n- Supports any sampling rate and number of channels due to resampling and downmixing\n- Supports different detection modes to balance between sensitivity and accuracy (fvad)\n\n## Installation\n\n- Download latest [release](https://github.com/numq/voice-activity-detection/releases)\n\n- Add library dependency\n   ```kotlin\n   dependencies {\n        implementation(file(\"/path/to/jar\"))\n   }\n   ```\n\n### libfvad\n\n- Unzip binaries\n\n### Silero\n\n- Add ONNX dependency\n   ```kotlin\n   dependencies {\n        implementation(\"com.microsoft.onnxruntime:onnxruntime:1.20.0\")\n   }\n   ```\n\n## Usage\n\n\u003e See the [example](example) module for implementation details\n\n### TL;DR\n\n- Call `detect` to process the input data, use `isContinuous = true` with streaming audio\n\n### Step-by-step\n\n- Load binaries if you are going to use fvad\n   ```kotlin\n   VoiceActivityDetection.Fvad.load(libfvad = \"/path/to/libfvad\", voiceActivityDetection = \"/path/to/voice-activity-detection\")\n   ```\n\n- Create an instance\n\n  ### fvad\n\n  ```kotlin\n  VoiceActivityDetection.Fvad.create()\n  ```\n\n  ### Silero\n\n  ```kotlin\n  VoiceActivityDetection.Silero.create()\n  ```\n\n- Call `inputSizeForMillis` to get the input data size for N milliseconds\n\n\n- Call `minimumInputSize` to get the audio producer buffer size for real-time detection\n\n\n- Call `detect` passing the input data, sample rate and number of channels as arguments\n\n\n- Call `reset` to reset the internal state - for example when the audio source changes\n\n\n- Call `close` to release resources\n\n## Requirements\n\n- JVM version 9 or higher\n\n## License\n\nThis project is licensed under the [Apache License 2.0](LICENSE)\n\n## Acknowledgments\n\n- [libfvad](https://github.com/dpirch/libfvad)\n- [Silero](https://github.com/snakers4/silero-vad)\n\n___\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://numq.github.io/support\"\u003e\n    \u003cimg src=\"https://api.qrserver.com/v1/create-qr-code/?size=112x112\u0026data=https://numq.github.io/support\u0026bgcolor=1a1b26\u0026color=7aa2f7\" \n         width=\"112\" \n         height=\"112\" \n         style=\"border-radius: 4px;\" \n         alt=\"QR code\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://numq.github.io/support\" style=\"text-decoration: none;\"\u003e\n    \u003ccode\u003e\u003cfont color=\"#bb9af7\"\u003enumq.github.io/support\u003c/font\u003e\u003c/code\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnumq%2Fvoice-activity-detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnumq%2Fvoice-activity-detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnumq%2Fvoice-activity-detection/lists"}