{"id":15116976,"url":"https://github.com/gdzx/audiosource","last_synced_at":"2025-09-27T22:31:38.044Z","repository":{"id":42161171,"uuid":"334781870","full_name":"gdzx/audiosource","owner":"gdzx","description":":microphone: Use an Android device as a USB microphone","archived":false,"fork":false,"pushed_at":"2025-07-20T20:20:55.000Z","size":342,"stargazers_count":253,"open_issues_count":3,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-20T22:11:25.789Z","etag":null,"topics":["android","audio","forwarding","microphone","pulseaudio"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gdzx.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}},"created_at":"2021-01-31T23:45:15.000Z","updated_at":"2025-07-20T20:16:38.000Z","dependencies_parsed_at":"2024-12-19T00:20:21.035Z","dependency_job_id":"fc78dec3-ad5a-44cb-942b-3ddd5ee0ec6b","html_url":"https://github.com/gdzx/audiosource","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/gdzx/audiosource","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdzx%2Faudiosource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdzx%2Faudiosource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdzx%2Faudiosource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdzx%2Faudiosource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gdzx","download_url":"https://codeload.github.com/gdzx/audiosource/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdzx%2Faudiosource/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277302072,"owners_count":25795357,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-27T02:00:08.978Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","forwarding","microphone","pulseaudio"],"created_at":"2024-09-26T01:45:27.504Z","updated_at":"2025-09-27T22:31:38.040Z","avatar_url":"https://github.com/gdzx.png","language":"Java","funding_links":[],"categories":["Linux"],"sub_categories":["Other"],"readme":"# Audio Source\n\nAudio Source forwards Android microphone audio input to the PulseAudio daemon\nthrough ADB, so you can use your Android device as a USB microphone.\n\n![screenshot](assets/screenshot.png)\n\n## Requirements\n\n- Device with at least Android 4.0 (API level 14), but fully tested only on\n  Android 10 (API level 29) so your mileage may vary.\n- GNU/Linux machine with:\n  - Android SDK Platform Tools (requires `adb` in `PATH`).\n  - PulseAudio or PipeWire with PulseAudio support (requires `pactl` in\n    `PATH`).\n  - Python 3 (requires `python3` in `PATH`).\n\n## Installation\n\n[\u003cimg src=\"assets/badge_fdroid.png\"\n     alt=\"Get it on F-Droid\"\n     height=\"80\"\u003e](https://f-droid.org/packages/fr.dzx.audiosource/)\n[\u003cimg src=\"assets/badge_github.png\"\n    alt=\"Get it on GitHub\"\n    height=\"80\"\u003e](https://github.com/gdzx/audiosource/releases/latest)\n\n1. Install the Audio Source APK on your Android device through\n   [F-Droid](https://f-droid.org/packages/fr.dzx.audiosource/), or from the\n   [releases](https://github.com/gdzx/audiosource/releases/latest), or by\n   following the [build instructions](#build-and-install).\n2. Download the\n   [`audiosource`](https://github.com/gdzx/audiosource/blob/master/audiosource)\n   client script on your computer from the\n   [releases](https://github.com/gdzx/audiosource/releases/latest), and mark it\n   executable with `chmod a+x ./audiosource`.\n\n## Usage\n\n1. Enable *Android Debug Bridge* (ADB) from the *Developer options* and connect\n   the device to your computer.\n\n2. Run `./audiosource run` to start Audio Source and forward the audio\n   automatically. You may have to grant the permission to record audio in\n   Android.\n\n3. Run `./audiosource volume LEVEL` to set the PulseAudio source volume to\n   `LEVEL` (for instance `200%`). You will likely need to set the volume higher\n   than `100%`.\n\n## Multi-device\n\nIf you have multiple devices connected then you will have to specify the serial\nnumber of the device you would like to forward audio to with `./audiosource -s\nSERIAL COMMAND` or by setting the `$ANDROID_SERIAL` environment variable.\n\nDevice serial numbers can be found by running `adb devices`. \n\nYou can utilize job control to forward audio from multiple devices\nsimultaneously as follows:\n\n```console\n$ ./audiosource -s shiba run \u0026  # press ENTER to regain control of your terminal\n$ ./audiosource -s 192.168.1.188:39857 run\n```\n\n## Build and install\n\nRun `./gradlew tasks` to list the available commands.\n\n### Debug\n\n```console\n$ ./audiosource build\n$ ./audiosource install\n```\n\n### Release\n\n1. Generate a Java KeyStore:\n\n   ```console\n   $ keytool -keystore /home/user/android.jks -genkey -alias release \\\n          -keyalg RSA -keysize 2048 -validity 30000\n   ```\n\n2. Create `keystore.properties` in the project root directory containing:\n\n   ```ini\n   storeFile=/home/user/android.jks\n   storePassword=STORE_PASS\n   keyAlias=release\n   keyPassword=KEY_PASS\n   ```\n\n3. Build and install:\n\n   ```console\n   $ export AUDIOSOURCE_PROFILE=release\n   $ ./audiosource build\n   $ ./audiosource install\n   ```\n\n## Acknowledgement\n\n[sndcpy](https://github.com/rom1v/sndcpy) for the initial implementation of\naudio playback forwarding.\n\n## License\n\nThis project is licensed under the MIT license ([LICENSE](LICENSE) or\nhttp://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdzx%2Faudiosource","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgdzx%2Faudiosource","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdzx%2Faudiosource/lists"}