Android + OpenCL implementation β voice cloning on-device on non-flagship phones (Adreno 6xx)
#16
by a8nova - opened
Hi! I wanted to share an Android + OpenCL implementation of the OpenVoice V2 tone-color converter, in case anyone wants to run it on a phone:
- Try it: Edgi on Google Play β runs fully on-device, no cloud.
- Open source: the app is built on top of the open-source adreno-llms inference engine β https://github.com/a8nova/adreno-llms β pure C++/OpenCL with hand-written kernels tuned for Adreno, running the posterior encoder β normalizing flow β HiFi-GAN decoder as a single fused pass.
It's tuned and tested on Adreno 6xx GPUs β the GPU class in mid-range and older Android phones (verified on a 2020 Motorola Razr / Adreno 620) β and should run on most arm64 Android phones with OpenCL, though the optimizations are Adreno-specific. On the Adreno 620 it clones at ~2Γ real time (RTF ~2.0 on a 19 s clip), bit-exact vs the reference (flow cosine 1.0000, decoder 0.9998).
Hope it's useful β happy to answer questions!