A Music Player for android that renders beautiful DNA(Visualization) of the currently playing music.

Overview

MusicDNA - A Music Player like no other



Get it on Google Play Get it on F-Droid
A Music Player for android that makes use of the Visualizer Class for rendering a beautiful DNA (Visualization) of the currently playing music.

Background

The Music Player draws inspiration from paullewis's music-dna. The Player uses the FFT Data supplied by the Visualizer class of Android , calculates the Amplitude at that particular moment and plots the DNA.

The Player

MusicDNA combines the usefullness of a traditional Music Player app with the beautiful visualizations. The Player allows users to play both local music as well as Stream Music directly from SoundCloud. The Player also packs a Powerful Equalizer with BassBoost and Reverb effects

Build Instructions

After cloning the repo, create a file Config.java under \app\src\main\java\com\sdsmdg\harjot\MusicDNA Put the following code in it

package com.sdsmdg.harjot.MusicDNA;

public class Config {
    public static final String CLIENT_ID = "YOUR_SOUNDCLOUD_CLIENT_ID";
    public static final String API_URL = "https://api.soundcloud.com";
    public static final String GENIUS = "YOUR_GENIUS_API_KEY";
}

Replace YOUR_SOUNDCLOUD_CLIENT_ID with a client id received from SoundCloud or leave it blank if you don't want to use SoundCloud streaming.Get SoundCloud Client ID from here : https://developers.soundcloud.com/
Replace YOUR_GENIUS_API_KEY with an API key received from Genius or leave it blank if you don't want to use lyrics from genius.com. Get Genius API key from here : https://genius.com/api-clients/new
After that just import the project into Android Studio.

The Player - In Action

Video Demo : http://sendvid.com/b2hhc1pi
The video's length was cut short due to ADB screenrecord's limit of 3:00 min.
Credits for combining audio and video Piyush Mehrotra

License

MusicDNA is under CC BY-NC-SA license.

Comments
  • Copyright violation

    Copyright violation

    Hi @harjot-oberai

    I found this app on the Google Play Store. This guy just took your source code, added some ads in it and put it on the Store, without warning this is free software (but they claim to be based on your source code...)

    I don't know if you agree with this kind of "work", but because you are the owner of the source code, feel free to open a request to google here to remove the fake app from the Store, if it's your wish ;)

    Don't forget to tell Google that:

    • The app is free software and this guy is violating the license;
    • He is falsely claiming he made the app;
    • Include screenshots of your app.
    opened by Poussinou 5
  • error in build.gradle(Module.app)

    error in build.gradle(Module.app)

    Error:(66, 14) Failed to resolve: com.crashlytics.sdk.android:crashlytics:2.6.2 cannot resolve this error please help!!!

    //Code//

    buildscript { repositories { maven { url 'https://maven.fabric.io/public' }

        maven { url 'http://download.crashlytics.com/maven' }
    }
    
    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
    

    } apply plugin: 'com.android.application' apply plugin: 'io.fabric'

    apply plugin: 'com.android.application' apply plugin: 'crashlytics'

    android { compileSdkVersion 23 buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.sdsmdg.harjot.MusicDNA"
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 24
        versionName "0.9.95"
        renderscriptTargetApi 19
        renderscriptSupportModeEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    

    }

    dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12'

    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'jp.wasabeef:recyclerview-animators:2.2.3'
    compile 'com.squareup.retrofit:converter-gson:2.0.0-beta1'
    compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'
    compile 'com.squareup.okhttp:okhttp:2.2.+'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.+'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'de.hdodenhof:circleimageview:2.0.0'
    compile 'com.android.support:support-v4:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'bz.tsung.android:objectify:1.1.1'
    compile 'com.android.support:cardview-v7:23.4.0'
    compile 'com.android.support:palette-v7:23.4.0'
    compile 'com.wang.avi:library:1.0.5'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.diogobernardino:williamchart:2.2'
    compile 'tyrantgit:explosionfield:1.0.1'
    compile 'com.google.code.gson:gson:2.5'
    compile 'com.h6ah4i.android.widget.verticalseekbar:verticalseekbar:0.7.0'
    compile 'jp.wasabeef:blurry:2.0.2'
    compile 'me.priyesh:chroma:1.0.2'
    compile 'com.github.amlcurran.showcaseview:library:5.4.3'
    compile('com.crashlytics.sdk.android:crashlytics:2.6.2@aar') {
        transitive = true;
    }
    

    }

    opened by Sumema 5
  • Could not download gradle.jar (io.fabric.tools:gradle:1.22.0)

    Could not download gradle.jar (io.fabric.tools:gradle:1.22.0)

    I can download gradle-1.22.0.jar from the browser,but build failed in Android Studio:

    A problem occurred configuring root project 'MusicDNA-master'.

    Could not resolve all dependencies for configuration ':classpath'. Could not download gradle.jar (io.fabric.tools:gradle:1.22.0) > Could not get resource 'https://maven.fabric.io/public/io/fabric/tools/gradle/1.22.0/gradle-1.22.0.jar'. > Could not GET 'https://maven.fabric.io/public/io/fabric/tools/gradle/1.22.0/gradle-1.22.0.jar'. > Connect to fabric-artifacts.s3.amazonaws.com:443 [fabric-artifacts.s3.amazonaws.com/54.231.114.146] failed: Connection timed out: connect

    finally,I have to remove the Fabric...

    opened by zhenxun815 2
  • Add video demo

    Add video demo

    Add a video of about 10 seconds in the Player in Action section. The screenshots don't make it very clear how the feel would be while actually using it.

    opened by CodeMaxx 2
  • not support rtl orientation

    not support rtl orientation

    When I change the language of the phone to arabic, the seekBars does not appear can you fix in your library the orientation by adding this attribut

    <com.h6ah4i.android.widget.verticalseekbar.VerticalSeekBar
     android:layoutDirection="ltr"
     ...
    >
    
    opened by ayoubLTS 1
  • Edit Typo

    Edit Typo

    "A Music Player for android that makes use of the Visualzer Class for rendering a beautiful DNA (Visualization) of of the current playing music" on README.md has an error at 'Visualzer', so we modified it to "Visualizer".

    opened by jiParkyoung 1
  • redid pull request with significantly better code changes

    redid pull request with significantly better code changes

    delet this = deleted files (just icons in this) gradles = gradle changes (includes readme and proguard) java = java changes xml = xml changes

    i think the most important part of this (release-wise) is that i actually added support for f-droid releases (which i will work on getting the app in once this is merged)

    Signed-off-by: TacoTheDank [email protected]

    opened by TacoTheDank 1
  • Re-design about fragment

    Re-design about fragment

    Redesigned about page, it now contains

    • Link to GitHub repository
    • Play store link to rate app
    • Option to share app link through email or social network

    About page now also contains copy of license of the application

    Screen shot of about page
    commercial photography locations

    opened by suyashmahar 1
  • Could not find method testImplementation() for arguments [directory 'libs'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

    Could not find method testImplementation() for arguments [directory 'libs'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

    Could not find method testImplementation() for arguments [directory 'libs'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

    This was my error when I tried to sync my project in Android Studio

    opened by pvnkvj 0
  • Could not find method leftShift()

    Could not find method leftShift()

    Could not find method leftShift() for arguments [com.crashlytics.tools.gradle.tasks.FabricTaskBuilder$_pluginGenerateResources_closure4@2c3895a2] on task ':app:fabricGenerateResourcesDebug' of type org.gradle.api.DefaultTask.

    is my problem?

    opened by AnserBaby 0
  • Could not expand ZIP

    Could not expand ZIP

    Could not expand ZIP '/Users/apple/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.6/9180733b7df8542621dc12e21e87557e8c99b8cb/gson-2.8.6.jar'.

    opened by SArsalanK 4
  • Some errors and suggestions on this app

    Some errors and suggestions on this app

    Hello:) while we use this application, we find some errors.

    1. When we press the button to save DNA, the save pop-up appears, but it does not save at SavedDNA. Does this version not work because it's a beta version?
    2. I- phone is IOS. Is this compatible with IOS?
    3. To turn off the MusicDNA app while we are using other app, we should enter the MusicDNA app to stop singing. For better use, please create an x-mark on the top bar.
    4. We've written a Korean-language version of 'how to use tutuorials', where can I add this?
    5. We have translated the four files within the project: app/proguard-rules.pro_Korean.md., Gradle.properties_Korean.md., LICENSE_Korean.md., README_Korean.md, so where can we add these files?
    6. We want to add Korean-language to this app, but we don't know the code well, so if our translations are helpful for people, can we took a picture of the screen which are translated into Korean? Also, If it helpful, we'll send you a translation document or upload it. .

    ^_____^ Thanks for your contribution to make this app better. Thank you and we are expect you to modified these errors. Have a good day!

    opened by dingureeee 1
  • App still maintained?

    App still maintained?

    With the last release (and code commit) dating back to 5/2017, I wonder if you still maintain this app, @harjot-oberai? Will there be future development?

    opened by IzzySoft 2
Owner
Harjot Singh Oberai
Harjot Singh Oberai
Simple Miniflux Android client. Currently, in early development.

Newsjet Miniflux Simple Miniflux Android client. Currently, in early development and not ready for the production. This app is playground to experimen

Andrey Nikanorov 2 Sep 2, 2022
This is a food donation android application designed to reduce food wastage by donating excess food to poor or needy people. Based on Kotlin and currently under development

FOODONOR This is a food donation android application designed to reduce food wastage by donating excess food to poor or needy people. Based on Kotlin

Robert Muriithi 8 Oct 12, 2022
An educational android app that provides services like notes, online videos and visualization calculator to learn and understand deep concepts of DSA.

Aldo ALDO is a free education app for the young programmers who are desiring to master the concepts of Data Structure and Algorithms. ALDO offers prac

Siddharth Singh 2 Aug 8, 2022
The android port of the 2048 game (for offline playing)

2048-android This is the Android port of the 2048 game made by Gabriele Cirulli https://github.com/gabrielecirulli/2048 It's nothing fancy; just a Web

Paul S 996 Dec 24, 2022
Wandroid project based on Kotlin + JetPack + concurrent implementation of MVVM architecture for playing Android App

Wandroid project based on Kotlin + JetPack + concurrent implementation of MVVM architecture for playing Android App

null 32 Feb 13, 2022
Backend service for mobile/web application for a small cinema playing only movies

FFC - Fast & Furious Cinema Backend service for mobile/web application for a small cinema playing only movies from Fast & Furious franchise. Some assu

Łukasz Lipka 0 Dec 12, 2021
DMPLayer is an Android music player prototype

DMPlayer DMPLayer is an Android music player prototype #License Copyright 2015 [email protected] Dibakar Mistry Licensed under the Apache License,

Dibakar Mistry 655 Nov 14, 2022
A Free, Fully Fledged, Open-Source Music Player for Android

Turtle Player Free, Fully Fledged & Open-Source. The Music Player for Android. Turtle Player is designed to be a fun and unique app for playing your m

Edd Turtle 178 Nov 18, 2022
A music picker library for React Native. Provides access to the system's UI for selecting songs from the phone's music library.

Expo Music Picker A music picker library for React Native. Provides access to the system's UI for selecting songs from the phone's music library. Supp

Bartłomiej Klocek 60 Dec 29, 2022
📱 Android Library to implement Rich, Beautiful, Stylish 😍 Material Navigation View for your project with Material Design Guidelines. Easy to use.

Material NavigationView for Android ?? ?? Android Library to implement Rich, Beautiful Material Navigation View for your project with Material Design

Shreyas Patil 198 Dec 17, 2022
An elegant and beautiful Android app manager

An elegant and beautiful Android app manager

Hamza Rizwan 250 Jan 1, 2023
A beautiful android Quotes App where you can read and save quotes.

This repository contains source code of a Quotes app, which helps you stay motivated by providing best picked quotes stated by famous personalities. This app uses zen quotes api, for retrieving quotes.

Gourav Khunger 34 Nov 14, 2022
A beautiful android Quotes App where you can read and save quotes.

QuotesApp A beautiful Quotes App where you can read and save quotes. This repository contains source code of a Quotes app, which helps you stay motiva

Gourav Khunger 24 Nov 12, 2021
QuatroGrade is a beautiful multi color (4 corners) gradient.

| | Setup Guide | Report new issue QuatroGrade QuatroGrade is a beautiful multi color gradient. Basically, it is a 4 vertex gradient. Features: Multi

Basil Miller 33 Oct 9, 2022
A Jetpack Compose-based app to exhibit all the beautiful GLSL Fragment shaders I have ever written, where you can set them as Live Wallpaper.

?? Shader Showcase Shader Showcase is a minimal Android app made with Jetpack Compose, to showcase all the beautiful OpenGL* based Fragment shaders I

Piyush Pradeepkumar 198 Dec 28, 2022
Just another Quotes app with beautiful UI which shows random quotes from the internet

RandomQuotes Just another Quotes app with beautiful UI which shows random quotes from the internet. Screenshots Libraries Volley Android Material API

Hamza Aziz 5 Mar 2, 2022
A beautiful app showing the use of a single recyclerview to display multiple views with motion layout and clean architecture

This app shows how to use a single recyclerview to build a beautiful multiple view layout (See image below) using clean architectural pattern

Ibrajix 62 Dec 26, 2022
Minimalistic audiobook player

Voice This is my digital playground where I am learning. I'm integrating and validating new technologies and ideas here, playing around with new UI /

Paul Woitaschek 1.8k Jan 3, 2023
Minimalistic audiobook player

Voice This is my digital playground where I am learning. I'm integrating and validating new technologies and ideas here, playing around with new UI /

Paul Woitaschek 1.8k Jan 3, 2023