Roclet turns an Android phone into a wireless microphone for a Roc Toolkit receiver over Wi-Fi.
Roclet sends the phone's microphone as a Roc rtp+rs8m source stream, with a
separate rs8m repair stream. On the receiver it appears as a normal audio
source. The default ports are 10001 for source and 10002 for repair.
- Android 10 (API 29) or newer on an
arm64-v8adevice. - A Wi-Fi network shared with the receiver.
- A Roc Toolkit receiver, such as
roc-recvor the PipeWire/PulseAudio Roc module.
Start the receiver on the same network, then install Roclet from the releases page. Open the app, enter the receiver's address and ports, and tap the microphone button. Release builds are signed; uninstall a debug build before installing a release build.
See the Roc Toolkit documentation for receiver installation and usage.
- Use the settings button to change the receiver address and source/repair ports. They are remembered between launches. The same panel links to the third-party notices.
- Tap the microphone button to start streaming. Allow microphone access when asked; on Android 13 and newer, allow notifications so the foreground notification can appear.
- The status line shows Starting, Streaming, or Stopped. Tap the button again, or use Stop in the notification, to stop.
- Streaming continues while the screen is off or the app is in the background.
Roclet builds its native dependencies (Roc Toolkit, OpenFEC, roc-java, libuv,
SpeexDSP) from the pinned sources under scripts/native/:
scripts/native/build-native.sh allThen build the app with the Gradle wrapper:
./gradlew :app:assembleDebug
./gradlew :app:assembleReleaseYou need JDK 17+, Android SDK platform/build-tools 36, and Android NDK
21.1.6352462. Release builds are signed only when a signing-properties file is
present; otherwise they produce an unsigned APK. See
scripts/native/README.md for native build details.
Roclet sends audio only to the receiver you configure. It has no analytics, ads, telemetry, accounts, or cloud service, and stores only the destination IP address and ports on the device.
Pull requests and issues are welcome.
Run ./gradlew :app:assembleDebug before submitting changes.
Roclet is licensed under Apache-2.0. Third-party components retain their respective licenses.


