{"id":21423912,"url":"https://github.com/picovoice/android-voice-processor","last_synced_at":"2026-03-05T10:32:07.540Z","repository":{"id":176994494,"uuid":"657345456","full_name":"Picovoice/android-voice-processor","owner":"Picovoice","description":"Asynchronous Android audio recording library designed for real-time speech audio processing","archived":false,"fork":false,"pushed_at":"2023-12-22T22:12:43.000Z","size":14570,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-10-19T17:46:03.812Z","etag":null,"topics":["android","audio","audio-processing","audio-recorder","java"],"latest_commit_sha":null,"homepage":"","language":"Java","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/Picovoice.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}},"created_at":"2023-06-22T21:32:23.000Z","updated_at":"2025-07-29T06:54:30.000Z","dependencies_parsed_at":"2023-12-22T23:31:48.864Z","dependency_job_id":null,"html_url":"https://github.com/Picovoice/android-voice-processor","commit_stats":null,"previous_names":["picovoice/android-voice-processor"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Picovoice/android-voice-processor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Picovoice%2Fandroid-voice-processor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Picovoice%2Fandroid-voice-processor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Picovoice%2Fandroid-voice-processor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Picovoice%2Fandroid-voice-processor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Picovoice","download_url":"https://codeload.github.com/Picovoice/android-voice-processor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Picovoice%2Fandroid-voice-processor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30119427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T09:35:22.236Z","status":"ssl_error","status_checked_at":"2026-03-05T09:35:20.028Z","response_time":93,"last_error":"SSL_read: 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":["android","audio","audio-processing","audio-recorder","java"],"created_at":"2024-11-22T21:18:52.004Z","updated_at":"2026-03-05T10:32:07.513Z","avatar_url":"https://github.com/Picovoice.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Android Voice Processor\n\n[![GitHub release](https://img.shields.io/github/release/Picovoice/android-voice-processor.svg)](https://github.com/Picovoice/android-voice-processor/releases)\n[![GitHub](https://img.shields.io/github/license/Picovoice/android-voice-processor)](https://github.com/Picovoice/android-voice-processor/)\n\n[![Maven Central](https://img.shields.io/maven-central/v/ai.picovoice/android-voice-processor?label=maven-central)](https://repo1.maven.org/maven2/ai/picovoice/android-voice-processor/)\n\nMade in Vancouver, Canada by [Picovoice](https://picovoice.ai)\n\n\u003c!-- markdown-link-check-disable --\u003e\n[![Twitter URL](https://img.shields.io/twitter/url?label=%40AiPicovoice\u0026style=social\u0026url=https%3A%2F%2Ftwitter.com%2FAiPicovoice)](https://twitter.com/AiPicovoice)\n\u003c!-- markdown-link-check-enable --\u003e\n[![YouTube Channel Views](https://img.shields.io/youtube/channel/views/UCAdi9sTCXLosG1XeqDwLx7w?label=YouTube\u0026style=social)](https://www.youtube.com/channel/UCAdi9sTCXLosG1XeqDwLx7w)\n\nThe Android Voice Processor is an asynchronous audio capture library designed for real-time audio\nprocessing. Given some specifications, the library delivers frames of raw audio data to the user via\nlisteners.\n\n## Table of Contents\n\n- [Android Voice Processor](#android-voice-processor)\n    - [Table of Contents](#table-of-contents)\n    - [Requirements](#requirements)\n    - [Compatibility](#compatibility)\n    - [Installation](#installation)\n    - [Permissions](#permissions)\n    - [Usage](#usage)\n        - [Capturing with Multiple Listeners](#capturing-with-multiple-listeners)\n    - [Example](#example)\n\n## Requirements\n\n- Java SDK (11+)\n- Android SDK (21+)\n\n## Compatibility\n\n- Android 5.0+ (API 21+)\n\n## Installation\n\nAndroid Voice Processor can be found on Maven Central. To include the package in your Android\nproject, ensure you have included `mavenCentral()` in your top-level `build.gradle` file and then\nadd the following to your app's `build.gradle`:\n\n```groovy\ndependencies {\n    // ...\n    implementation 'ai.picovoice:android-voice-processor:${LATEST_VERSION}'\n}\n```\n\n## Permissions\n\nTo enable audio recording with your Android device's microphone, you must add the following line to\nyour `AndroidManifest.xml` file:\n\n```xml\n\u003cuses-permission android:name=\"android.permission.RECORD_AUDIO\" /\u003e\n```\n\nSee our [example app](example/) or [this guide](https://developer.android.com/training/permissions/requesting)\nfor how to properly request this permission from your users.\n\n## Usage\n\nAccess the singleton instance of `VoiceProcessor`:\n\n```java\nimport ai.picovoice.android.voiceprocessor.*;\n\nVoiceProcessor voiceProcessor = VoiceProcessor.getInstance();\n```\n\nAdd listeners for audio frames and errors:\n\n```java\nfinal VoiceProcessorFrameListener frameListener = frame -\u003e {\n    // use audio data\n};\nfinal VoiceProcessorErrorListener errorListener = e -\u003e {\n    // handle error\n};\n\nvoiceProcessor.addFrameListener(frameListener);\nvoiceProcessor.addErrorListener(errorListener);\n```\n\nStart audio capture with the desired frame length and audio sample rate:\n\n```java\nfinal int frameLength = 512;\nfinal int sampleRate = 16000;\n\nvoiceProcessor.start(frameLength, sampleRate);\n```\n\nStop audio capture:\n```java\nvoiceProcessor.stop();\n```\n\nOnce audio capture has started successfully, any frame listeners assigned to the `VoiceProcessor`\nwill start receiving audio frames with the given `frameLength` and `sampleRate`.\n\n### Capturing with Multiple Listeners\n\nAny number of listeners can be added to and removed from the `VoiceProcessor` instance. However,\nthe instance can only record audio with a single audio configuration (`frameLength` and `sampleRate`),\nwhich all listeners will receive once a call to `start()` has been made. To add multiple listeners:\n```java\nVoiceProcessorFrameListener listener1 = frame -\u003e { };\nVoiceProcessorFrameListener listener2 = frame -\u003e { };\nVoiceProcessorFrameListener[] listeners = new VoiceProcessorFrameListener[] {\n        listener1, listener2 \n};\n\nvoiceProcessor.addFrameListeners(listeners);\n\nvoiceProcessor.removeFrameListeners(listeners);\n// or\nvoiceProcessor.clearFrameListeners();\n```\n\n## Example\n\nThe [Android Voice Processor app](example/) demonstrates how to ask for user permissions and capture output from\nthe `VoiceProcessor`.\n\n## Releases\n\n### v1.0.0 - July 18, 2023\n\n- Initial public release.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpicovoice%2Fandroid-voice-processor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpicovoice%2Fandroid-voice-processor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpicovoice%2Fandroid-voice-processor/lists"}