dorkhub

NextGenVisualizer

Audio visualizer library for Android. Written in Kotlin. Light-weight, Flexible, Easy.

jeffshee
Kotlin7614 forksApache-2.0updated 7 years ago
git clone https://github.com/jeffshee/NextGenVisualizer.gitjeffshee/NextGenVisualizer

[Beta] NextGenVisualizer

Audio visualizer library for Android. Written in Kotlin. Aim for:

Light-weight, Flexible, Easy.

Preview

Tested on Huawei MediaPad M3, performance was around 50~60 fps. (It depends)

Gif

(Basic) Waveform, FftBar, FftLine, FftWave, FftWaveRgb

(Basic) FftCircle, FftCircleWave, FftCircleWaveRgb

Glitch+Beat+Rotate, SimpleIcon, FftCircle

Shake, SimpleIcon, FftCircleWaveRgb, Waveform

Shake, Background, FftCircle

Video

You can watch it on my Google Drive. Full-screen+HD recommended!

☆ I don't own the music, icon and wallpaper. For demonstration purpose only.

Please!! (。>u<。)

While the library isn't quite ready yet, feel free to open an issue if you have any problem/suggestion ❤️

Star my project if you like it! 🌟

Stay tune!!

Parameter's Naming Convention

Just for reference \(;゚∇゚)/ Some of them might not accurate, but you will get the idea.

  1. bitmap = Bitmap class. Doesn't have a default param value.

  2. text = String. "" by default.

  3. painter = Painter class. Doesn't have a default param value.

  4. painters = List of Painter class. Doesn't have a default param value.

  5. paint = Paint class. Lots of customization could be done here. For example, change color, style, stroke_width ...

  6. startHz = Start Frequency

  7. endHz = End Frequency

  8. num = Number of Bars/Bands; In case of "Wave", number of slices. (The more slices, the better quality of the curves = computational heavier)

  9. interpolator = The method of interpolation. "li" for Linear, "sp" for Spline.

  10. side = The side where the drawing should appear. "a" for Side A (= up/out), "b" for Side B (= down/in), "ab" for Both Side

  11. mode = *Might be changed in the future. Mode. "mirror" for Mirror mode.

  12. xR = The ratio of X position to the canvas.width (= the width of the visualizer's view) For example, 0f mean the start/left, while 1f mean the end/right of the screen.

  13. yR = The ratio of Y position to the canvas.height (= the height of the visualizer's view) For example, 0f mean the top, while 1f mean the bottom of the screen.

  14. wR = The ratio of width to the canvas.width

  15. hR = The ratio of height to the canvas.height

  16. X = *Change confirmed. The X position

  17. Y = *Change confirmed. The Y position

  18. gapX = *Might be changed in the future. The width of the gap.

  19. baseR = *Might be changed in the future. The ratio of radius to the canvas.width

  20. ampR = The rate of amplification. 1f by default.

  21. beatAmpR = *Might be changed in the future. The rate of amplification of beat.

  22. peak = *Might be changed in the future. The threshold of beat.

  23. rpm = Rotation per minute.

  24. enableBoost = *Might be changed in the future. To use "Power Spectrum" instead.

more like this

DroidKlipp

Install and monitor KlipperScreen on Android via DroidKlipp APK, USB ADB forwarding, and WiFi fallback

Shell51

search

search projects, people, and tags