Giter VIP home page Giter VIP logo

keyboardaudiovisualizer's Introduction

KeyboardAudioVisualizer

It's colorful - I like it!

Example-Video:
Example-Video

Visualizations

Keyboard

  • "Frequency Bars" - Simple spectrum visualizer.
  • "Level" - Shows the overall volume.
  • "Beat detection" - Pulses to the beat of the music. (This isn't working really well right now, depending on the music. But in general not satisfying, sorry.)

Mouse/Headset

  • "Beat detection" - Pulses to the beat of the music. (This isn't working really well right now, depending on the music. But in general not satisfying, sorry.)

Mousepad/Lightbar (K95 Platinum)

  • "Level" - Shows the overall volume.
  • "Beat detection" - Pulses to the beat of the music. (This isn't working really well right now, depending on the music. But in general not satisfying, sorry.)

Supported devices

  • All Corsair RGB-devices.
  • Logitech G910 and G610 with physical EU layout. (Untested but should work)
  • (In theory every device with SDK support could be include, open an issue if you want to help with increasing the range of supported devices!)

Settings

Frequency Bars

  • Spectrum: The way the spectrum is grouped together. Values are: (default: Logarithmic)
    • Linear: Each bar represents the same range of frequencies. Most of the time this doesn't look good since low frequencies are underrepresented.
    • Logarithmic: The higher the frequencies get the wider the range of grouped frequencies. This is close to the way humans perceive sound and therfore most of the time looks quite good as long as the range of used frequencies is big enough.
    • Gamma: While Gamma-correction is known from image-processing it still applies quite well to audio-data, grouping not as extreme as logarithmic but still better than linear. The used Gamma-value can be configured.
  • Value: The way the value of a frequency bar is determined. Values are: (default: Sum)
    • Sum: Sums the power of all frequencies grouped in the bar using all available data. Combining this with logarithmic grouping gives the most realistic representation.
    • Max: Uses the maximum value in each group making sure peaks are caught well. This works quite good with gamma-grouping.
    • Average: Uses the average of all frequencies grouped in the bar. This smooths out the whole graph quite a lot.
  • Bars: The number of bars used to represent the spectrum. (default: 48)
  • Min Freq.: The minimum frequency used in the graph. This value shouldn't be modified. (default: 60)
  • Max Freq.: The maximum frequency used in the graph. This value can be lowered to increase the value of lower frequencies. Using high values might lead to death bars if the audio is mastered with an low-pass filter cutting high frequencies. (default: 15000)
  • Gamma: The correction value used for gamma-grouping (disabled if any other grouping is selected). High values lead to a stronger compression of high frequencies. (default: 2)
  • Reference: The reference value used to calculate the power of each bar. Adjust this to your audio volume. Low volume -> low reference, high volume -> higher reference. (default: 90)
  • Smoothing: Smooths the graph to prevent flickering. Low values will cause a hectic fast plot, high values a slow one without peaks. (default: 3)
  • Emphasize: Emphasizes peaks. The higher the value, the bigger the difference between a "loud-bar" and a "quiet-bar". (default: 0.5)

Equalizer
Allows to finetune the graph by slective increasing/decresing the value. You can add new pivots by rightclicking on the visualization-window.
Existing pivots can be deleted by rightclicking on them or moved by leftclicking and dragging around.

Beat detection

No configuration right now

Level

  • Calculation: Defines how the RMS of the audio is plotted. Values are Linear, Logarithmic and Exponential. The used range of the plott increases in that order (exponential has the widest range of peaks). (default: Logarithmic)

  • Scale: Scales the whole graph. Use this to to fit your audio volume. (default: 3)

  • Smoothing: Smooths the plot to prevent flickering. Low values will cause a hectic fast plot, high values a slow one without peaks. (default: 8)

keyboardaudiovisualizer's People

Contributors

darthaffe avatar edwardbaeg avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.