Git Product home page Git Product logo

likethemammal / css-visualizer Goto Github PK

View Code? Open in Web Editor NEW
156.0 16.0 14.0 79.6 MB

Visualizers made entirely from DOM elements and CSS3 Animations and Transforms.

Home Page: https://likethemammal.github.io/css-visualizer/iframe.html?id=visualizer--default

License: Apache License 2.0

JavaScript 92.96% CSS 7.04%
music-visualizer soundcloud-api webaudio-api dom-manipulation css3-animations audio-data

css-visualizer's Introduction

CSS (Animated) Music Visualizer

A set of visualizers animated entirely using DOM elements and CSS3 Animations and Transforms. No SVG, Canvas, WebGL, or plug-in.

Everything is a <div>.

Live Demo

CSS Visualizer - Hexagon Mode

CSS Visualizer - Bars Mode

About

Uses the Web Audio API to decode audio data.

Todo:

  • Chromecast support (doesnt support mp3s)
  • Other visualizations

License

Licensed under Apache License 2.0.

@Likethemammal

css-visualizer's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

css-visualizer's Issues

Google Cast (Chromecast) functionality

This is something I've wanted from the very beginning of this project. I've tried adding it in the past but Chromecast's version of Chrome is a bit different than the Desktop's. Someone recently asked me my thoughts so I thought I'd document them here for everyone.

--

Back when I tried, the Chromecast's chrome browser didnt have the Web Audio API functionality to visualize audio. So the data had to come from the Desktop/Laptop (Sender) that was casting.

I could either use WebRTC to send the data directly to the Chromecast or I could send it over the server. I tried both. Unfortunately, although Chromecasts use WebRTC to make casting work, the WebRTC API is (was) not openly available to the Sender. So I had to use a server-side approach. Tried Websockets and got visualizations showing up on the Chromecast but the FPS was waay to low. Something like 2 frames a second.

I stopped trying to do Chromecast from there. I'm guessing the software and hardware are better now, so its probably more possible. The chromecast branch has my work in it, but the rest of the project in that branch is pretty outdated https://github.com/likethemammal/css-visualizer/tree/chromecast

Live Demo bug

Chrome 36.0.1985.125 m; WIndows 8.1
link: http://likethemammal.github.io/css-visualizer/
It just loads and gives console error straight away, nothing plays, some UI on screen.

Uncaught TypeError: undefined is not a function dancer.min.js:8  
c.load dancer.min.js:8  
a.load dancer.min.js:8  
App.nextSongFromCache app.js:208  
App.setupMusic app.js:121  
App.init app.js:106  
(anonymous function) app.js:245

Add SoundCloud Integration

Add integration with SoundCloud to grab tracks from their API. Use some of the Grooveshark broadcasters' SoundCloud radio profiles.

API

Setup

Attach to parent

Provide Audio source

API

randomize colors

Options

parentSelector required
audioSource
colors [Hexagons visualizer should turn off randomization timer, but handle color switching]
visualizerType
hidePlayer
hideVisualizerControls

UI Options

  • option to hide visualizer controls
    • no fullscreen control, colors and randomizer, type dropdown, and info icon

If audio el provided

  • dont show the genre drop down
  • option to hide player chrome
    • no play, pause, next, volume controls,
    • no who's playing metadata, etc.

if no audio el provided

  • must have player chrome

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.