{"id":25603495,"url":"https://github.com/jeffshee/nextgenvisualizer","last_synced_at":"2025-04-13T09:23:06.356Z","repository":{"id":113338199,"uuid":"185943581","full_name":"jeffshee/NextGenVisualizer","owner":"jeffshee","description":"Audio visualizer library for Android. Written in Kotlin. Light-weight, Flexible, Easy.","archived":false,"fork":false,"pushed_at":"2019-07-20T06:15:19.000Z","size":12854,"stargazers_count":66,"open_issues_count":3,"forks_count":16,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-06T06:37:58.555Z","etag":null,"topics":["android","android-library","audio-visualizer","kotlin","visualizer"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/jeffshee.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},"funding":{"github":"jeffshee","ko_fi":"jeffshee","buy_me_a_coffee":"jeffshee"}},"created_at":"2019-05-10T07:48:56.000Z","updated_at":"2025-04-03T08:33:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"18467462-d726-4d5b-a179-533575667fbf","html_url":"https://github.com/jeffshee/NextGenVisualizer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffshee%2FNextGenVisualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffshee%2FNextGenVisualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffshee%2FNextGenVisualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffshee%2FNextGenVisualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeffshee","download_url":"https://codeload.github.com/jeffshee/NextGenVisualizer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248689444,"owners_count":21145938,"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","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","android-library","audio-visualizer","kotlin","visualizer"],"created_at":"2025-02-21T17:27:08.563Z","updated_at":"2025-04-13T09:23:06.347Z","avatar_url":"https://github.com/jeffshee.png","language":"Kotlin","funding_links":["https://github.com/sponsors/jeffshee","https://ko-fi.com/jeffshee","https://buymeacoffee.com/jeffshee"],"categories":[],"sub_categories":[],"readme":"# [Beta] NextGenVisualizer\nAudio visualizer library for Android. Written in Kotlin. Aim for:\n\u003e Light-weight, Flexible, Easy.\n\n## Preview\nTested on Huawei MediaPad M3, performance was around 50~60 fps. (It depends)\n### Gif\n\u003e (Basic) Waveform, FftBar, FftLine, FftWave, FftWaveRgb\n\n![](/preview/01.gif \"\")\n\n\u003e (Basic) FftCircle, FftCircleWave, FftCircleWaveRgb\n\n![](/preview/02.gif \"\")\n\n\u003e Glitch+Beat+Rotate, SimpleIcon, FftCircle\n\n![](/preview/03.gif \"\")\n\n\u003e Shake, SimpleIcon, FftCircleWaveRgb, Waveform\n\n![](/preview/04.gif \"\")\n\n\u003e Shake, Background, FftCircle\n\n![](/preview/05.gif \"\")\n\n### Video\nYou can watch it on my [Google Drive](https://drive.google.com/open?id=1x6vJIhzd4OsF8EHsRRLp_WZzLGJSMkhp). Full-screen+HD recommended!\n\n☆ I don't own the music, icon and wallpaper. For demonstration purpose only.\n\n## Please!! (｡\u003eｕ\u003c｡)\nWhile the library isn't quite ready yet, feel free to open an issue if you have any problem/suggestion :heart:\n\nStar my project if you like it! :star2:\n\nStay tune!!\n\n## Parameter's Naming Convention\nJust for reference ＼(;ﾟ∇ﾟ)/　Some of them might not accurate, but you will get the idea.\n\n0. bitmap = Bitmap class. Doesn't have a default param value.\n0. text = String. \"\" by default.\n0. painter = Painter class. Doesn't have a default param value.\n0. painters = List of Painter class. Doesn't have a default param value.\n\n1. paint = Paint class. Lots of customization could be done here.\n\tFor example, change color, style, stroke_width ...\n\n2. startHz = Start Frequency\n3. endHz = End Frequency\n\n4. num = Number of Bars/Bands; In case of \"Wave\", number of slices. \n\t(The more slices, the better quality of the curves = computational heavier)\n5. interpolator = The method of interpolation. \"li\" for Linear, \"sp\" for Spline.\n6. side = The side where the drawing should appear. \n\t\"a\" for Side A (= up/out), \"b\" for Side B (= down/in), \"ab\" for Both Side\n\n7. mode = *Might be changed in the future. Mode. \"mirror\" for Mirror mode.\n\n8. xR = The ratio of X position to the canvas.width (= the width of the visualizer's view)\n\tFor example, 0f mean the start/left, while 1f mean the end/right of the screen.\n9. yR = The ratio of Y position to the canvas.height (= the height of the visualizer's view)\n\tFor example, 0f mean the top, while 1f mean the bottom of the screen.\n10. wR = The ratio of width to the canvas.width\n11. hR = The ratio of height to the canvas.height\n\n11. X = *Change confirmed. The X position\n11. Y = *Change confirmed. The Y position\n\n12. gapX = *Might be changed in the future. The width of the gap.\n13. baseR = *Might be changed in the future. The ratio of radius to the canvas.width\n\n14. ampR = The rate of amplification. 1f by default.\n\n15. beatAmpR = *Might be changed in the future. The rate of amplification of beat.\n16. peak = *Might be changed in the future. The threshold of beat.\n17. rpm = Rotation per minute.\n\n18. enableBoost = *Might be changed in the future. To use \"Power Spectrum\" instead.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffshee%2Fnextgenvisualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeffshee%2Fnextgenvisualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffshee%2Fnextgenvisualizer/lists"}