The book explores the technical as well as cultural imaginaries of programming from its insides. It follows the principle that the growing importance of software requires a new kind of cultural thinking — and curriculum — that can account for, and with which to better understand the politics and aesthetics of algorithmic procedures, data processing and abstraction. It takes a particular interest in power relations that are relatively under-acknowledged in technical subjects, concerning class and capitalism, gender and sexuality, as well as race and the legacies of colonialism. This is not only related to the politics of representation but also nonrepresentation: how power differentials are implicit in code in terms of binary logic, hierarchies, naming of the attributes, and how particular worldviews are reinforced and perpetuated through computation. Using p5.js, it introduces and demonstrates the reflexive practice of aesthetic programming, engaging with learning to program as a way to understand and question existing technological objects and paradigms, and to explore the potential for reprogramming wider eco-socio-technical systems. The book itself follows this approach, and is offered as a computational object open to modification and reversioning.
Visions of Chaos is a professional high end software application for Windows. It is simple enough for people who do not understand the mathematics behind it, but advanced enough for enthusiasts to tweak and customise to their needs. It is the most complete all in one application dealing with Chaos Theory and Machine Learning available. Every mode is written to give the best possible quality output. There are thousands of sample files included to give you an idea of what Visions of Chaos is capable of.
Ofelia is a Pd external which allows you to use openFrameworks and Lua within a real-time visual programming environment for creating audiovisual artwork or multimedia applications such as games.
openFrameworks is an open source C++ toolkit for creative coding.
Lua is a powerful, efficient, lightweight, easy-to-learn scripting language.
Pure Data(Pd) is a real-time visual programming language for multimedia.
Thanks to Lua scripting feature, you can do text coding directly on a Pd patch or through a text editor which makes it easier to solve problems that are complicated to express in visual programming languages like Pd. And unlike compiled languages like C/C++, you can see the result immediately as you change code which enables faster workflow. Moreover, you can use openFrameworks functions and classes within a Lua script.
Using Ofelia, you can flexibly choose between patching and coding style based on your preference.
The external is available to be used under macOS, Windows, Linux and Raspberry Pi.
A free educational site that progressively introduces you to the world of computer graphics.
Our application programming approach guides you through small, easy-to-compile programs.
We’ve dispensed with unnecessary technical jargon in favor of everyday language.
Tooll 3 is an open source software to create realtime motion graphics. We are targeting the sweet spot between real-time rendering, graph-based procedural content generation and linear keyframe animation and editing. This combination allows…
artists to build audio reactive vj content
use advanced interfaces for exploring parameters
or to combine keyframe animation with automation
Technical artists can also dive deeper and use tool for advanced development of fragment or compute shaders or to add input from midi controllers and sensors or sources like OSC or Spout.
We strongly believe in usability and intuitive and beautiful interface design. That's why we experiment with different approaches before striking the right balance between usability and powerful flexibility. Currently tool version 3 is an ongoing development. It's stable enough to produce high-end visuals create motion graphics use many industry standard features like color correction, scopes and tone mapping, and export small standalone executables.
Excentro is a simple but advanced tool that can create guilloche designs like backgrounds, borders or rosettes.
The guilloches are vintage design elements that were frequently used for anti-counterfeiting security purposes on banknotes, passports, checks and certificates during the past two hundred years. As the times changed and digital copy and printing technologies perfected, guilloches no longer presented sufficient security measures that could prevent forging and counterfeiting of valuable papers. Today the main part of security technology lies in the special paper or tricky inks the designs are printed upon or with.
Still, it is too early to say that the days of guilloche designs are over. They can still be used to prevent the counterfeiting of products that do not require the highest level of security (i.e. theater tickets, diplomas or gift certificates). Or, they can just be used to decorate and add some aesthetic value to a product giving the ‘money-like’ look and value.
What BirdNET-Pi Does
24/7 recording from any USB sound card/microphone
24/7 local BirdNET-Lite analysis
Automatically extracts the detected songs, chirps, and peeps from recordings
Creates spectrograms of each recorded bird sound
Enters each detection into a local SQlite database for storage and data visualization
Hosts its own Caddy web server so that the data can be accessed from any web browser or device (can be configured to be local only or can easily be made public to share with the world — check out the public installations below!)
Offers local Streamlit database analysis to visualize daily and long-term presence data
Live audio stream
BirdWeather.com integration
https://github.com/grame-cncm/faust
Faust (Functional Audio Stream) is a functional programming language for sound synthesis and audio processing with a strong focus on the design of synthesizers, musical instruments, audio effects, etc. Faust targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards. It is used on stage for concerts and artistic productions, in education and research, in open source projects as well as in commercial applications.
The core component of Faust is its compiler. It allows us to "translate" any Faust digital signal processing (DSP) specification to a wide range of non-domain specific languages such as C++, C, JAVA, JavaScript, LLVM IR, WebAssembly, etc. In this regard, Faust can be seen as an alternative to C++ but is much simpler and intuitive to learn.
Thanks to a wrapping system called "architectures," codes generated by Faust can be easily compiled into a wide variety of objects ranging from audio plug-ins to standalone applications or smartphone and web apps, etc.
Kid Pix just became pubic domain, so the remade (but pretty much exactly the same) version is now available here.
Spacelapser is a tool for exploring the three-dimensional volumes created by loading an entire video into memory. Depending on the motion of the camera, this volume can resemble a lightfield, a slit-scan camera, or a special relativity simulator.
https://github.com/loganwilliams/spacelapser/releases/download/v0.1.2/spacelapser.dmg
Hydra is a platform for live coding visuals, in which each connected browser window can be used as a node of a modular and distributed video synthesizer.
Built using WebRTC (peer-to-peer web streaming) and WebGL, hydra allows each connected browser/device/person to output a video signal or stream, and receive and modify streams from other browsers/devices/people. The API is inspired by analog modular synthesis, in which multiple visual sources (oscillators, cameras, application windows, other connected windows) can be transformed, modulated, and composited via combining sequences of functions.
Features:
Written in javascript and compatible with other javascript libraries
Available as a platform as well as a set of standalone modules
Cross-platform and requires no installation (runs in the browser)
Also available as a package for live coding from within atom text editor
Experimental and forever evolving !!
Cables is your model kit for creating beautiful interactive content. With an easy to navigate interface and results in real time, it allows for fast prototyping and prompt adjustments.
Working with cables is just as easy as creating cable spaghetti:
You are provided with a given set of operators such as mathematical functions, shapes and materials.
Connect these to each other using virtual cables to create the scene you have in mind.
Easily export your piece of work at any time. Embed it into your website or use it for any kind of creative installation.
Welcome to Exploring Technology, a wishful remedy to the increasing knowledge gap between machine builders and machine users.
Learn about :
A-Frame
Arduino
AxiDraw
Bitsy
Cables
Cinema 4D
Circuit
GitHub
Colab
Glitch
Hubs
Hydra
Laser Cutting
Lightform
Lights
Machine Learning
Makey Makey
NFT
Node
Photogrammetry
Processing
Projectors
Raspberry Pi
Resolume
Tone
Spark
Web
Drawing Bot is a free, open source software for converting images to line drawings for Plotters / Drawing Machines / 3D printers. It also serves as an application for visual artists to create stylised line drawings from images / video.
It is available for Windows, Mac and Linux.
If you want to support the development of DrawingBotV3 you can donate here or contribute to the Drawing Bot Collection!
Features
15 Path Finding Algorithms - all highly configurable to create unique drawing styles
Automatic Path Optimisation for Faster Plots - Line Simplifying, Merging, Filtering, Sorting
Pen Settings: configurable colour / stroke width / distribution weight / blend modes - perfect for multi-layered plots.
Image Sequences: You can export image sequences animations of your creations!
Version Control: Save your favourite versions as you go and reload them.
Project Saving & Loading
60+ Image Filters for pre processing the imported image
Automated CMYK separation
Advanced User Interface with live drawing preview
User configurable Drawing Area, with Padding / Scaling Modes
Special pens for Original Colour/Grayscale Sampling
Presets: can be saved/imported/exported for sharing different styles with other users
Exports can be exported per/pen or per/drawing in multiple file types
Batch Processing: Convert entire folders of images automatically.
GCode - configurable Drawing Area, XYZ Offsets / Auto Homing.
vpype Integration
Path Finding Modules
Sketch Lines PFM
Sketch Curves PFM
Sketch Squares PFM
Sketch Quad Beziers PFM
Sketch Cubic Beziers PFM
Sketch Catmull-Roms PFM
Sketch Shapes PFM
Sketch Sobel Edges PFM
Spiral PFM
Voronoi Circles
Voronoi Triangulation
Voronoi Stippling
Voronoi Diagram
Mosaic Rectangles
Mosaic Voronoi
More info here
Supported File Types
Import Formats:
Images: [.tif, .tga, .png, .jpg, .gif, .bmp, .jpeg]
Export Formats:
Vectors: [.svg, .pdf],
Images/Image Sequences: [.tif, .tga, .png, .jpg, .jpeg]
GCode: [.gcode, .txt],
Carefully curated list of awesome creative coding resources primarily for beginners/intermediates :
To the extent possible under law, Terkel Gjervig has waived all copyright and related or neighboring rights to this work.
Rutt-Etra-Izer is a WebGL emulation of the classic Rutt-Etra video synthesizer. This demo replicates the Z-displacement, scanned-line look of the original, but does not attempt to replicate it’s full feature set.
The demo allows you to drag and drop your own images, manipulate them and save the output. Images are generated by scanning the pixels of the input image from top to bottom, with scan-line separated by the ‘Line Separation’ amount. For each line generated, the z-position of the vertices is dependent on the brightness of the pixels.
20 alternative interfaces for creating and editing images and text
https://github.com/constraint-systems
Flow
An experimental image editor that lets you set and direct pixel-flows.
Fracture
Shatter and recombine images using a grid of viewports.
Tri
Tri is an experimental image distorter. You can choose an image to render using a WebGL quad, adjust the texture and position coordinates to create different distortions, and save the result.
Tile
Layout images using a tiling tree layout. Move, split, and resize images using keyboard controls.
Sift
Slice an image into multiple layers. You can offset the slices to create interference patterns and pseudo-3D effects.
Automadraw
Draw and evolve your drawing using cellular automata on a pixel grid with two keyboard-controlled cursors.
Span
Lay out and rearrange text, line by line, using keyboard controls.
Stamp
Image-paint from a source image palette using keyboard controls.
Collapse
Collapse an image into itself using ranked superpixels.
Res
Selectively pixelate an image using a compression algorithm.
Rgb
Pixel-paint using keyboard controls.
Face
Edit both the text and the font it is rendered in.
Pal
Apply an eight-color terminal color scheme to an image. Use the keyboard controls to choose a theme, set thresholds, and cycle hues.
Bix
Draw on binary to glitch text.
Diptych
Pixel-reflow an image to match the dimensions of your text. Save the result as a diptych.
Slide
Divide and slide-stretch an image using keyboard controls.
Freeconfig
Push around image pixels in blocks.
Moire
Generate angular skyscapes using Asteroids-like ship controls.
Hex
A keyboard-driven, grid-based drawing tool.
Etch
A keyboard-based pixel drawing tool.
About
Constraint Systems is a collection of experimental web-based creative tools. They are an ongoing attempt to explore alternative ways of interacting with pixels and text on a computer screen. I hope to someday build these ideas into something larger, but the plan for now is to keep the scopes small and the releases quick.
This timeline is the result of researching the origins of digital paint and draw software, and the tools that were developed to allow for hand manipulation (versus plotter drawn) drawing and painting - the mouse, light pen & drawing tablet. If we look at the software that has become commonplace today (such as adobe photoshop), which allows for painting, animation and photo manipulation in one, we can trace the roots of this software to the University and Corporate Labs that housed large computers with advanced capabilities for their time - MIT Lincoln Labs & Radiation Labs, DARPA & the Augmented Research Centre (ARC), Bell Labs, NYIT’s Computer Graphics Lab, Xerox Palo Alto Research Centre (Xerox PARC), NASA’s Jet Propulsion Labs (JPL). The artistic collaborations that grew out of these labs fueled the advent of Computer Graphics, Computer Art and Video Art from the 1960's to the 1990's.
This visual timeline starts by tracing the paint systems, frame buffers, and graphic user interfaces created out of these labs, with a focus on the first paint/draw software and the various drawing tools. I am interested in how the larger corporate, and often Military Funded laboratories, effected the dawn of the personal computer and the introduction of the personal computer to the home. This timeline continues through the 1980’s, with a focus on the software and hardware that was developed for the home market from late 1970's to the 1990's.
OPENRNDR is a tool to create tools. It is an open source framework for creative coding, written in Kotlin for the Java VM that simplifies writing real-time interactive software. It fully embraces its existing infrastructure of (open source) libraries, editors, debuggers and build tools. It is designed and developed for prototyping as well as the development of robust performant visual and interactive applications. It is not an application, it is a collection of software components that aid the creation of applications.
Key features
a light weight application framework to quickly get you started
a fast OpenGL 3.3 backed drawer written using the LWJGL OpenGL bindings
a set of minimal and clean APIs that welcome programming in a modern style
an extensive shape drawing and manipulation API
asynchronous image loading
runs on Windows, MacOS and Linux
Ecosystem
Applications written in OPENRNDR can communicate with third-party tools and services, either using OPENRNDR’s functionality or via third-party Java libraries.
Existing use cases involve connectivity with devices such as Arduino, Philips Kinet, Microsoft Kinect 2.0, RealSense, DMX, ARTNet and Midi devices; applications that communicate through OpenSoundControl; services such as weather reports and Twitter. If you want to experiment with Machine Learning, try RunwayML that comes with an OPENRNDR integration.
A platform for interactive spaces, interactive environments, interactive objects and prototyping.
tramontana leverages the capabilities of the object that we have all come to carry with us anywhere, all the time, our smartphones. With libraries for Processing, Javascript and openFrameworks you can access the inputs and outputs of one or more smartphones to easily and quickly prototype interactive spaces, connected products or just something you’d like to be wireless. What used to involve complex tasks like networking, native app development, etc. can now be created with a single sketch on your computer.