gibber - An audiovisual live coding environment for the browser

  •        8

Gibber is a live coding environment for the web browser, using the Gibberish.js audio engine, the CodeMirror code editor library and wrapping Three.js for 3d graphics and shader support. Version 2 of Gibber features a much more efficient audio engine, some interesting mapping abstractions and a server/database backend for publishing and browsing files and collaboratively live coding. In order of preference, Gibber runs in Chrome, Safari, and Firefox. The current public URL for the Gibber environment is http://gibber.mat.ucsb.edu. Below is a code sample that shows off the mapping abstractions in Gibber by mapping the output envelope of various drum sounds to the rotation of a Cube and a shader uniform.

https://github.com/gibber-cc/gibber

Dependencies:

browserify : ~5.12.0
codemirror : ^4.11.0
color : ~0.7.1
coreh-mousetrap : ~2.0.0
esprima : ~1.2.2
gibber.audio.lib : latest
gibber.communication.lib : latest
gibber.core.lib : latest
gibber.graphics.lib : latest
gibber.interface.lib : latest
gibber.lib : latest
gibber.server : latest
gibberish-dsp : latest
gulp : ~3.8.8
gulp-browserify : ~0.5.0
gulp-insert : ~0.4.0
gulp-rename : ~1.2.0
gulp-replace : ~0.4.0
gulp-uglify : ~1.0.1
gulp-util : ~3.0.1
interface.js : latest
jquery : ~2.1.1
jquery-commonjs : ~1.7.3
production : ~0.0.2
share : 0.7.3
vinyl-buffer : ~1.0.0
vinyl-source-stream : ~1.0.0
watchify : ~1.0.3

Tags
Implementation
License
Platform

   




Related Projects

gibberish - Fast, JavaScript DSP library that creates JIT optimized audio callbacks using code generation techniques

  •    Javascript

Gibberish is designed to be a fast audio API for the browser. It takes the low-level building blocks provided by genish.js and uses them to create higher-level synthesizers, effects, and sequencers. Gibberish proceses each sample of each synthesis block one sample at a time, enabling a variety of effects not typically possible in browser-based synthesis systems, most importantly single-sample feedback loops and audio-rate modulation of scheduling. Note that this branch is for version 3 of the library. See the master branch for the pre-June 2017 version that is currently used in Gibber. There is also a tagged release of the older version (2.0.0).

ray - A Ruby library for games — supporting audio spatialization and 2D (and even 3D!) graphics

  •    C

A Ruby library for games — supporting audio spatialization and 2D (and even 3D!) graphics

OTTO - Your entire music-making workflow, in one box.

  •    C++

The OTTO is a complete hardware and software solution, with synths, a sampler, effects, sequencers, and studio modules. The interface is modal, easy to use, simple, but most of all, it encourages experimentation. The graphics are quirky, and the workflow is minimal. Yes, the OTTO is heavily inspired by the OP-1, but it is not an OP-1 clone. If you want an OP-1 you can get it here.

Kha - Ultra-portable, high performance, open source multimedia framework.

  •    Haxe

Kha is a low level sdk for building games and media applications in a portable way. Think SDL, but super-charged. Based on the Haxe programming language and the krafix shader-compiler it can cross-compile your code and optimize your assets for even the most obscure systems. Kha is so portable, it can in fact run on top of other game engines and its generational graphics and audio api design gets the best out of every target, supporting super fast 2D graphics just as well as high end 3D graphics. Also, Kha probably added a new target while you were reading this text.

gg - Go Graphics - 2D rendering in Go with a simple API.

  •    Go

gg is a library for rendering 2D graphics in pure Go.There are lots of examples included. They're mostly for testing the code, but they're good for learning, too.


Polycode - Polycode is a cross-platform framework for creative code.

  •    C++

Polycode is a cross-platform framework for creative code. You can use it as a C++ API or as a standalone scripting language to get easy and simple access to accelerated 2D and 3D graphics, hardware shaders, sound and network programming, physics engines and more. The core Polycode API is written in C++ and can be used to create portable native applications.

toy - the thin c++ game engine

  •    C++

toy is a thin and modular c++ game engine. it aims to provide the thinnest and simplest stack of technology for making games directly from c++. toy offers simple expressive c++ idioms for user interface, rendering, audio, and the seamless extension of your game code with zero-cost tools, editors and scripting, to design full featured 2d or 3d games in fast iterations. toy is built on top of the underlying mud library, which provides most functionality. toy simplicity and modularity makes it deeply hackable, extensible and versatile. toy is perfect to build games with atypical constraint: complex user interface and rendering schemes, procedural generation, etc. it provides a fully programmable 3d renderer, with full control over shaders, materials and render paths, as well as higher level primitives and systems such as entities, physics, navmesh generation and navigation, and procedural generation helpers.

Project Autumn

  •    CSharp

Project Autumn is a Multi Platform Game Engine in .Net providing an ability to compile once and have it run on all platforms. It will provide Graphical Management for 2D/3D, Input Management for Mice, Keyboards and Controllers/Joysticks, Audio Input/Output, Networking and Media.

shader-school - :mortar_board: A workshopper for GLSL shaders and graphics programming

  •    Javascript

An introduction to GLSL shaders and graphics programming that runs in your web browser. The script will ask you if you want to create an answer directory, press y to accept. This will populate your current directory with shader files for you to edit for each lesson – hopefully, it should also automatically open your web browser but if it doesn't you can find the workshop menu on http://localhost:12492/.

SkiaSharp - The Skia 2D Graphics library from Google exposed to

  •    CSharp

SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library (https://skia.org/). It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.The API Documentation is available on the web to browse.

DiligentEngine - Master repository for Diligent Engine project

  •    C++

Diligent Engine is a lightweight cross-platform abstraction layer between the application and the platform-specific graphics API designed to take advantages of next-generation APIs such as Direct3D12 and Vulkan, while providing support for older platforms via Direct3D11, OpenGL and OpenGLES. Diligent Engine exposes common front-end for all supported platforms and provides interoperability with underlying native API. Shader source code converter allows HLSL shaders to be used on all supported platforms and rendering backends. The engine is intended to be used as a graphics subsystem in a game engine or any other 3D application, and supports integration with Unity. Diligent Engine is distributed under Apache 2.0 license and is free to use. Alternatively, you can get master repository fisrt, and then individually clone all submodules into the engine's root folder.

blend2d - 2D Vector Graphics Engine Powered by a JIT Compiler

  •    C++

2D Vector Graphics Powered by a JIT Compiler. See blend2d.com page for more details.

clubber - Application of music theory in audio reactive visualizations

  •    Javascript

This small js library listens to audio sources and extracts the underlying rhythmic information. The linear frequency energies are converted into midi notes which music theory suggests to be a better segregation for music audio. A set of meaningful measurements are produced in a form suitable for direct use in webgl shaders, or any other context. This simple flow provides a powerful framework for the rapid development of awesome audio reactive visualisations.

tinyrenderer - A brief computer graphics / rendering course

  •    C++

Check the wiki for the detailed lessons. My source code is irrelevant. Read the wiki and implement your own renderer. Only when you suffer through all the tiny details you will learn what is going on. I do want to get emails for feedback (dmitry.sokolov@univ-lorraine.fr); do not hesitate to contact me if you have any questions.

awesome-creative-coding - 🎨 Creative Coding: Generative Art, Data visualization, Interaction Design, Resources

  •    HTML

Carefully curated list of awesome creative coding resources primarily for beginners/intermediates. Creative coding is a different discipline than programming systems. The goal is to create something expressive instead of something functional. Interaction design, information visualization and generative art are all different types of creative coding – which has become a household term describing artworks articulated as code.

Synfig Studio - 2D animation software

  •    C++

Synfig Studio is a free and open-source 2D animation software, designed as powerful industrial-strength solution for creating film-quality animation using a vector and bitmap artwork. It eliminates the need to create animation frame-by frame, allowing you to produce 2D animation of a higher quality with fewer people and resources.

server - CasparCG Server is a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs

  •    C++

Thank you for your interest in CasparCG Server, a professional software used to play out and record professional graphics, audio and video to multiple outputs. CasparCG Server has been in 24/7 broadcast production since 2006. The CasparCG Server works on Windows and Linux.

LibKSD - The C++ Game Framework

  •    C++

A C++ game framework based on SDL and libSigC++. It provides 2D graphics, an audio subsystem, integration with OpenGL, a plugin system, and a widget-set.

lyon - 2D graphics rendering experiments in rust.

  •    Rust

A path tessellation library written in rust for GPU-based 2D graphics rendering. For now the goal is to provide efficient SVG-compliant path tessellation tools to help with rendering vector graphics on the GPU. For now think of this library as a way to turn complex paths into triangles for use in your own rendering engine.

Magelan - Java 2D Graphics Editor

  •    Java

This project provides a library of easy to use 2D graphics editor tools and a functional and extendable stand-alone graphics editor.