All Projects β†’ gauravk95 β†’ Audio Visualizer Android

gauravk95 / Audio Visualizer Android

Licence: apache-2.0
🎡 [Android Library] A light-weight and easy-to-use Audio Visualizer for Android.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Audio Visualizer Android

Monstercat Visualizer
A real time audio visualizer for Rainmeter similar to the ones used in the Monstercat videos.
Stars: ✭ 571 (-1.72%)
Mutual labels:  audio, music, media-player, visualizer
Music Player Go
🎢🎼 Very slim music player πŸ‘¨β€πŸŽ€ 100% made in Italy πŸ•πŸŒ³πŸŒžπŸπŸŒ„
Stars: ✭ 654 (+12.56%)
Mutual labels:  music, music-player, media-player, android-ui
Tonejs Instruments
A small instrument sample library with quick-loader for tone.js
Stars: ✭ 172 (-70.4%)
Mutual labels:  audio, music, music-player
Awesome Deep Learning Music
List of articles related to deep learning applied to music
Stars: ✭ 2,195 (+277.8%)
Mutual labels:  audio, music, audio-processing
Skplayer
🎡 A simple & beautiful HTML5 music player
Stars: ✭ 437 (-24.78%)
Mutual labels:  audio, music, music-player
Edsp
A cross-platform DSP library written in C++ 11/14. This library harnesses the power of C++ templates to implement a complete set of DSP algorithms.
Stars: ✭ 116 (-80.03%)
Mutual labels:  audio, music, audio-processing
Xsound
Web Audio API Library for Synthesizer, Effects, Visualization, Multi-Track Recording, Audio Streaming, Visual Audio Sprite ...
Stars: ✭ 123 (-78.83%)
Mutual labels:  audio, music, canvas
Q
C++ Library for Audio Digital Signal Processing
Stars: ✭ 481 (-17.21%)
Mutual labels:  audio, music, audio-processing
Fountain Of Colors
Music visualizer for Rainmeter
Stars: ✭ 65 (-88.81%)
Mutual labels:  audio, music, visualizer
Lms
Lightweight Music Server. Access your self-hosted music using a web interface.
Stars: ✭ 315 (-45.78%)
Mutual labels:  audio, music, music-player
Soundspice Mobile
A light-weight and minimalist music player for Android
Stars: ✭ 289 (-50.26%)
Mutual labels:  audio, music, music-player
Tauonmusicbox
The Linux desktop music player from the future! πŸŒ†
Stars: ✭ 494 (-14.97%)
Mutual labels:  audio, music, music-player
Sbplayerclient
ζ”―ζŒε…¨ζ ΌεΌηš„macη‰ˆθ§†ι’‘ζ’­ζ”Ύε™¨
Stars: ✭ 110 (-81.07%)
Mutual labels:  audio, music, music-player
Smusic
html5ιŸ³δΉεˆ—θ‘¨ζ’­ζ”Ύε™¨
Stars: ✭ 106 (-81.76%)
Mutual labels:  audio, music, music-player
Musicplayer
A minimal music player built on electron.
Stars: ✭ 145 (-75.04%)
Mutual labels:  audio, music, music-player
React Cassette Player
Simple ReactJS HTML5 audio player component built with SVG icons from The Noun Project.
Stars: ✭ 93 (-83.99%)
Mutual labels:  audio, music, music-player
Otto
Sampler, Sequencer, Multi-engine synth and effects - in a box! [WIP]
Stars: ✭ 2,390 (+311.36%)
Mutual labels:  audio, music, audio-processing
Vyplayindicator
PlayIndicator inspired by Apple's Music Player.
Stars: ✭ 47 (-91.91%)
Mutual labels:  audio, music, music-player
Audio player flutter
🎧 Apple Music / Tidal Audio Player for Flutter
Stars: ✭ 52 (-91.05%)
Mutual labels:  audio, music, music-player
Swift Radio Pro
Professional Radio Station App for iOS!
Stars: ✭ 2,644 (+355.08%)
Mutual labels:  audio, music, music-player

Audio Visualizer

API Download Build Status Android Arsenal Android Weekly

A light-weight and easy-to-use Audio Visualizer for Android using the Android Canvas.

Demos

CircleLine Hifi
CircleLine Hifi
Blob Blast
Blob Blast
Wave Bar
Wave Bar

Available Visualizers:

  • BlobVisualizer - Gives blob like effect, good for low bpm audio
  • BlastVisualizer - Gives a blast like effect, very random, good for high bpm audio
  • WaveVisualizer - Gives a nice wave like effect, good for all kinds of audio
  • BarVisualizer - Gives the contemporary bar effect, good for all kinds of audio
  • CircleLineVisualizer - Gives the circular bar like effect, good for all kinds of audio
  • HifiVisualizer - Gives a unique circular wave like effect, good for all kinds of audio

Usage

Note: Use of the visualizer requires the permission android.permission.RECORD_AUDIO so add it to your manifest file. Also for Android 6.0 and above you will need request permission in runtime.

Check out the Sample app, to see how its implemented.

  • This library is available on JCenter. To use it, add the following to build.gradle
dependencies {
    implementation 'com.gauravk.audiovisualizer:audiovisualizer:0.9.2'
}
  • Add the com.gauravk.audiovisualizer.visualizer.BlastVisualizer to your XML Layout file:
<com.gauravk.audiovisualizer.visualizer.BlastVisualizer
            xmlns:custom="http://schemas.android.com/apk/res-auto"
            android:id="@+id/blast"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            custom:avDensity="0.8"
            custom:avType="fill"
            custom:avColor="@color/av_dark_blue"
            custom:avSpeed="normal"/>
  • Get the reference to this view in you Java Class
        //get reference to visualizer
        mVisualizer = findViewById(R.id.blast);

        //TODO: init MediaPlayer and play the audio
        
        //get the AudioSessionId from your MediaPlayer and pass it to the visualizer
        int audioSessionId = mAudioPlayer.getAudioSessionId();
        if (audioSessionId != -1)
            mVisualizer.setAudioSessionId(audioSessionId);
        

Alternatively, you can pass the raw audio bytes to the visualizer

        //get reference to visualizer
        mVisualizer = findViewById(R.id.blast);

        //TODO: get the raw audio bytes
        
        //pass the bytes to visualizer
        mVisualizer.setRawAudioBytes(bytes);

Now, release the visualizer in your onDestroy() or onStop()

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (mVisualizer != null)
            mVisualizer.release();
    }

If you want to hide the view upon completion of the audio, use

            //TODO: check for completion of audio eg. using MediaPlayer.OnCompletionListener()
            if (mVisualizer != null)
                mVisualizer.hide();

Similarly, include other visualizer

Attributes

attr Description
avType Changes the Visualization type - outline or fill. (N/A for Bar Visualizer)
avColor Defines the color that is used in the visualizer
avDensity Sets the density of the visualization between (0,1)
avSpeed Defines the speed of the animation - slow, medium and fast
avGravity Updates position of the visualizers - top and bottom (N/A for Blob and Blast Visualizers)
avWidth Describes the width of the line if avType is outline, in case of Bar Visualizer, defines width of the bar

Contribute

Found a bug or have an idea/feature request or any other help needed. Please suggest or report them here

I am always open to new suggestions and good contributions.

Thanks to @wangfengye for CircleLineVisualizer and HifiVisualizer.

License:

    Copyright 2018 Gaurav Kumar

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].