{"id":22015097,"url":"https://github.com/dinaraparanid/crescendo","last_synced_at":"2025-05-07T00:35:02.586Z","repository":{"id":111030414,"uuid":"579472927","full_name":"dinaraparanid/Crescendo","owner":"dinaraparanid","description":"Media Streamer App for Android","archived":false,"fork":false,"pushed_at":"2025-03-23T08:57:29.000Z","size":191700,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T04:35:56.612Z","etag":null,"topics":["android-application","audio-effect","audio-player","audio-streaming","audio-visualizer","equalizer","jetpack-compose","koin","kotlin","ktor","music-player","youtube-downloader","youtube-player"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dinaraparanid.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}},"created_at":"2022-12-17T20:11:48.000Z","updated_at":"2025-03-23T08:57:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"48c5a3e0-35bc-46a1-bbaf-443ec2822c50","html_url":"https://github.com/dinaraparanid/Crescendo","commit_stats":null,"previous_names":["dinaraparanid/crescendo"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FCrescendo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FCrescendo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FCrescendo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinaraparanid%2FCrescendo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dinaraparanid","download_url":"https://codeload.github.com/dinaraparanid/Crescendo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252792485,"owners_count":21804980,"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-application","audio-effect","audio-player","audio-streaming","audio-visualizer","equalizer","jetpack-compose","koin","kotlin","ktor","music-player","youtube-downloader","youtube-player"],"created_at":"2024-11-30T04:19:32.744Z","updated_at":"2025-05-07T00:34:57.568Z","avatar_url":"https://github.com/dinaraparanid.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"**Crescendo**\n-----------------\n\n[![Kotlin](https://img.shields.io/badge/kotlin-2.0.0-blue.svg?logo=kotlin)](http://kotlinlang.org)\n\n## **Developer**\n[Paranid5](https://github.com/dinaraparanid)\n\n## **About App**\n**Crescendo** is a music player Android app that **plays audio from the YouTube (including livestreams)!**\nAdditionally, it supports caching of videos to multiple audio and video formats.\nApplication allows to play both networked audio and local files with multiple audio effects.\nCrescendo provides multiple features to move your music experience to a new level!\n\n### **Preview**\n\n[*Figma Design Frame*](https://www.figma.com/design/SHLuNtTvCyh6HSVVWxtThS/Crescendo?node-id=0-1\u0026m=dev\u0026t=riock3EVbBVkipzT-1)\n\n**Playback of local tracks**\n\n\u003cp\u003e\n    \u003cimg src=\"https://i.ibb.co/jk3m0wW/image.png\" alt=\"playing_preview\" width=\"100\"\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://i.ibb.co/TqBY8SD/image.png\" alt=\"tracks\" width=\"100\"\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://i.ibb.co/HrfWkdV/image.png\" alt=\"track_sort\" width=\"100\"\u003e\n\u003c/p\u003e\n\n**Support of audio effects (Equalizer, Bass, Reverb, Pitch and Speed shifter)**\n\n\u003cp\u003e\n    \u003cimg src=\"https://i.ibb.co/85jzbx4/image.png\" alt=\"audio_effects\" width=\"100\"\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://i.ibb.co/wy68hdZ/image.png\" alt=\"audio_effects\" width=\"250\"\u003e\n\u003c/p\u003e\n\n**Customize your current playlist**\n\n\u003cimg src=\"https://i.ibb.co/ZcXdSPV/image.png\" alt=\"cur_playlist\" width=\"100\"\u003e\n\n**Stream tracks and live streams from the YouTube, cache your favourites**\n\n\u003cp\u003e\n    \u003cimg src=\"https://i.ibb.co/G9qHPvS/image.png\" alt=\"fetch_youtube\" width=\"100\"\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://i.ibb.co/kxzHbfF/image.png\" alt=\"playing_youtube\" width=\"100\"\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://i.ibb.co/Pm3418Z/image.png\" alt=\"live_streaming\" width=\"100\"\u003e\n\u003c/p\u003e\n\n**Control playback and caching with notifications**\n\n\u003cimg src=\"https://i.ibb.co/QQJZ82b/image.png\" alt=\"notifications\" width=\"100\"\u003e\n\n**Trim tracks and convert  to different audio formats**\n\n\u003cp\u003e\n    \u003cimg src=\"https://i.ibb.co/xMZtnK2/image.png\" alt=\"landscape\" width=\"100\"\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://i.ibb.co/rxmsKCW/image.png\" alt=\"landscape\" width=\"100\"\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://i.ibb.co/6BkSwcc/image.png\" alt=\"landscape\" width=\"250\"\u003e\n\u003c/p\u003e\n\n## **Stack**\n\n\u003cul\u003e\n    \u003cli\u003eGeneral\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eKotlin 2.0\u003c/li\u003e\n        \u003cli\u003eCoroutines + Flow\u003c/li\u003e\n        \u003cli\u003eKoin\u003c/li\u003e\n        \u003cli\u003eKtor + OkHttp (Content Negotiation + Json)\u003c/li\u003e\n        \u003cli\u003eKotlinX.Serialization\u003c/li\u003e\n        \u003cli\u003eSQLDelight\u003c/li\u003e\n        \u003cli\u003eArrow\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cp\u003e\u003c/p\u003e\n    \u003cli\u003eMedia\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eExoplayer (as part of AndroidX.Media3)\u003c/li\u003e\n        \u003cli\u003eFFMpeg\u003c/li\u003e\n        \u003cli\u003eJAudioTagger\u003c/li\u003e\n        \u003cli\u003eJava Audio Video Encoder\u003c/li\u003e\n        \u003cli\u003eAndroidX.Media (audio effects)\u003c/li\u003e\n        \u003cli\u003eAndroid Storage Access Framework\u003c/li\u003e\n        \u003cli\u003eAndroid Media Store\u003c/li\u003e\n        \u003cli\u003eAndroid Media Scanner\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cp\u003e\u003c/p\u003e\n    \u003cli\u003eUI\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eCompose Material\u003c/li\u003e\n        \u003cli\u003eCoil + Compose extensions\u003c/li\u003e\n        \u003cli\u003eAndroidX.Palette\u003c/li\u003e\n        \u003cli\u003eAndroidX.Navigation.Compose (NavHost)\u003c/li\u003e\n        \u003cli\u003eAndroidX.ConstraintLayout (Compose version)\u003c/li\u003e\n        \u003cli\u003eComposition Local\u003c/li\u003e\n        \u003cli\u003eAndroid Canvas (Compose version)\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cp\u003e\u003c/p\u003e\n    \u003cli\u003eAndroid specific\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eView Model (+ Kotlin extensions)\u003c/li\u003e\n        \u003cli\u003eForeground Services + Broadcast Receivers\u003c/li\u003e\n        \u003cli\u003eDataStore\u003c/li\u003e\n        \u003cli\u003eKotlinX.Parcelize\u003c/li\u003e\n    \u003c/ul\u003e\n\u003c/ul\u003e\n\n## **Current Status:**\n\n**Beta V 0.4.0.0**\n\n### **Implemented features:**\n1. Media playback of YouTube videos and live streams\n2. Media playback of local tracks\n3. Audio and Video caching to multiple formats\n4. Current playlist system (add and remove tracks)\n5. Audio Effects: EQ, Bass Boost, Reverb, Pitch and Speed shifters\n6. Audio tracks trimming\n7. Updates notifications\n\n### **TODO:**\n1. Recently listened videos/livestreams\n2. Tags changing\n3. Artists, albums and custom playlists\n4. Favourites\n5. Lyrics\n6. App customization and settings\n\n## **System Requirements**\n**Android 7.0** or higher\n\nStable internet connection to play audio from YouTube and cache video is required\n\n## **License**\n*GNU Public License V 3.0*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinaraparanid%2Fcrescendo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdinaraparanid%2Fcrescendo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinaraparanid%2Fcrescendo/lists"}