Download :https://github.com/Tw1ddle/geometrize/releases
Features
Recreate images as geometric primitives.
Start with hundreds of images with preset settings.
Export geometrized images to SVG, PNG, JPG, GIF and more.
Export geometrized images as HTML5 canvas or WebGL webpages.
Export shape data as JSON for use in custom projects and creations.
Control the algorithm at the core of Geometrize with ChaiScript scripts.
A showcase with creative machine learning experiments
Orca is an esoteric programming language designed by @hundredrabbits to create procedural sequencers.
This playground lets you use Orca and its companion app Pilot directly in the browser and allows you to publish your creations by sharing their URL.
Table of Contents
Creative Coding History
Modern Creative Coding Uses
Graphics Concepts
Creative Coding Environments and Libraries
Communication Protocols
Multimedia Tools
Unique Displays and Touchscreens
Hardware
Other output options
More resources
Shrub is a tool for painting-and-traveling, and even for painting while moving your own body (for example to use the color of your own pants).
If you touch with two fingers, you can immediately send your drawing as an SMS message. Shrub is designed as a mobile communication tool as much as a mobile drawing tool.
More pro tips: For the best drawings, pinch with your fingers to change the brush size. Twist with your fingers to change the brush softness. And of course, tap with one finger to show and hide the viewfinder.
The TX Modular System is open source audio-visual software for modular synthesis and video generation, built with SuperCollider (https://supercollider.github.io) and openFrameworks (https://openFrameworks.cc).
It can be used to build interactive audio-visual systems such as: digital musical instruments, interactive generative compositions with real-time visuals, sound design tools, & live audio-visual processing tools.
This version has been tested on MacOS (0.10.11) and Windows (10). The audio engine should also work on Linux.
The visual engine, TXV, has only been built so far for MacOS and Windows - it is untested on Linux.
The current TXV MacOS build will only work with Mojave (10.14) or earlier (10.11, 10.12 & 10.13) - but NOT Catalina (10.15) or later.
You don't need to know how to program to use this system. But if you can program in SuperCollider, some modules allow you to edit the SuperCollider code inside - to generate or process audio, add modulation, create animations, or run SuperCollider Patterns.
This database* is an ongoing project to aggregate tools and resources for artists, engineers, curators & researchers interested in incorporating machine learning (ML) and other forms of artificial intelligence (AI) into their practice. Resources in the database come from our partners and network; tools cover a broad spectrum of possibilities presented by the current advances in ML like enabling users to generate images from their own data, create interactive artworks, draft texts or recognise objects. Most of the tools require some coding skills, however, we’ve noted ones that don’t. Beginners are encouraged to turn to RunwayML or entries tagged as courses.
*This database isn’t comprehensive—it's a growing collection of research commissioned & collected by the Creative AI Lab. The latest tools were selected by Luba Elliott. Check back for new entries.
Via : https://docs.google.com/document/d/1TkusCE5mS4tuTYoBwaTV4aJKdSVsf9jFKsGJCx8M05c/edit
This is a list of smaller tools that might be useful in building your game/website/interactive project. Although I’ve mostly also included ‘standards’, this list has a focus on artful tools & toys that are as fun to use as they are functional.
The goal of this list is to enable making entirely outside of closed production ecosystems or walled software gardens.
Paint and Animate Live!
Tagtool transforms your iPad into a visual live instrument. Paint with light, create animated graffiti or tell improvised stories.
https://www.tagtool.org/
https://bibliogram.art/u/tagtoolcrew
Strike is a web-based, 1-bit paint tool, primarily for quick sketching or line-drawing.
Features
brush / eraser / fill tools with different brush shapes and sizes
16-'color' palette via dither patterns. Each pattern is treated as a separate color for fill tool
~50 step undo / redo (it's fragile, so don't rely on it too much)
import PNG and JPG files, which will be converted to 1 bit form
zoom via mouse scroll or two-finger pinch
basic image transform tools (flip / mirror / resize canvas)
save images as a 16-color greyscale (which will import back into Strike with all patterns intact), or as 1-bit black and white image
autosave (see notes)
Animation playground
We’d like to show you a new way to create hand-drawn animation. So playful you’ll think it’s a toy, but it's secretly a robust app with a reimagined UI for animators and creators.
Wonderfully musical
Taking inspiration from music creation tools, using Looom feels more like playing an instrument than operating software - exploring lines, shapes and colors through loopable time and rhythm.
Everyone in the loop
Looom is all about looping animation with a smile. It was designed for professionals and beginners of any age, and is already being used by some influential indie animators.
Libre and modular OSC / MIDI controller :
https://github.com/jean-emmanuel/open-stage-control/releases
"MindCandy Volume 1: PC Demos." The movie explores the definition and roots of an artistic computer sub-culture known as the demoscene, a community that's given me endless inspiration since the 1980s.
WATCHOUT multi-display software is your fast track to creating spectacular shows. Use WATCHOUT to compose and manage all the different media elements in your show – video, still images, animations, graphics, live feeds, sound – and then play it back on multiple displays. Perfectly synchronized, high resolution and right-on-cue.
WATCHOUT is easily integrated and controls external units or devices. It has no limitations on displays, channels or resolutions. With over 15 years of unrivalled performance and reliability, WATCHOUT is the choice of professional show creators worldwide.
WATCHOUT is used in live events, 3D mapping, broadcast, digital signage, museums, planetariums, show rooms, visitor attractions and experience centers. In other words – virtually any market or application where you want multiple display devices and maximum impact.
Uncompressed playback
We understand that image quality is all-important. WATCHOUT supports playback of uncompressed video or images at full resolution and framerate!
Unlimited Display Devices
There are no limits on the number of display devices you can add to your WATCHOUT show. That means no limits on your creativity!
UNLIMITED RESOLUTION
With WATCHOUT you can create any kind of resolution in any kind of aspect ratio. If you want to move beyond 4K, 8K or 16K – no problem.
Virtual Displays
The virtual display feature is a flexible way to map pixels on 3D geometry or your LED walls through a wall processor. It can contain any kind of media, such as video, stills, tweens and dynamic content.
Unlimited timelines
WATCHOUT is a user-friendly, timeline-based show creation tool. Drag and drop media onto an infinite number of timelines, auxiliary timelines or layers.
3D Mapping / Facade projection
With WATCHOUT you can create projection mapping shows on any shape, structure or building. Import your 3D model and use the 3D projection feature to visualize your show!
Capture content
With WATCHOUT you can capture multiple content streams through low latency capture cards, USB cards, network streams, VNC or live IP workflow using NDI® (Network Device Interface).
NDI / Live IP production workflow
WATCHOUT supports NDI® which allows multiple video streams on a shared connection, enabling high quality, low latency, frame-accurate video over local area networks and reducing costs plus deployment time.
Utility library to easily connect to RunwayML from Processing
Feel free to replace this paragraph with a description of the Library.
Contributed Libraries are developed, documented, and maintained by members of the Processing community. Further directions are included with each Library. For feedback and support, please post to the Discourse. We strongly encourage all Libraries to be open source, but not all of them are.
https://github.com/runwayml/processing-library
Installation
Download https://github.com/runwayml/processing-library/releases/download/latest/RunwayML.zip
Unzip into Documents > Processing > libraries
Restart Processing (if it was already running)
A light Rust API for Multiresolution Stochastic Texture Synthesis [1], a non-parametric example-based algorithm for image generation.
Pixel-art scaling algorithms are graphical filters that are often used in video game emulators to enhance hand-drawn 2D pixel art graphics. The re-scaling of pixel art is a specialist sub-field of image rescaling.
As pixel-art graphics are usually in very low resolutions, they rely on careful placing of individual pixels, often with a limited palette of colors. This results in graphics that rely on a high amount of stylized visual cues to define complex shapes with very little resolution, down to individual pixels. This makes image scaling of pixel art a particularly difficult problem.
A number of specialized algorithms[1] have been developed to handle pixel-art graphics, as the traditional scaling algorithms do not take such perceptual cues into account.
Since a typical application of this technology is improving the appearance of fourth-generation and earlier video games on arcade and console emulators, many are designed to run in real time for sufficiently small input images at 60 frames per second. This places constraints on the type of programming techniques that can be used for this sort of real-time processing. Many work only on specific scale factors: 2× is the most common, with 3×, 4×, 5× and 6× also present.
Plugin for GIMP : https://github.com/bbbbbr/gimp-plugin-pixel-art-scalers
Waifu2x
https://en.wikipedia.org/wiki/Waifu2x
https://github.com/lltcggie/waifu2x-caffe/releases
https://github.com/imPRAGMA/W2XKit
https://old.reddit.com/r/WaifuUpscales/new/
https://github.com/BlueCocoa/waifu2x-ncnn-vulkan-macos/releases
https://old.reddit.com/r/Dandere2x/
https://old.reddit.com/r/waifu2x
https://github.com/AaronFeng753/Waifu2x-Extension
https://github.com/K4YT3X/video2x
https://old.reddit.com/r/AnimeResearch
Quote from a reddit comment :
A short list, ordered after output quality and setup time:
SRGAN, Super-resolution generative adversarial network : https://github.com/topics/srgan,
Other implementations: https://github.com/tensorlayer/srgan
https://github.com/brade31919/SRGAN-tensorflow
https://github.com/titu1994/Super-Resolution-using-Generative-Adversarial-Networks
Neural Enhance: https://github.com/alexjc/neural-enhance/
Photoshop: The newest PS version (19.x, since October 2017 release) also has a new upscaling method, called "Preserve Details 2.0 Upscale" but compared to SRGAN the results clearly lack sharp and fine details. You have asked for an App and PS is easy to use and can be automated.
Overview of the most popular algorithms:
https://github.com/IvoryCandy/super-resolution
(VDSR, EDSR, DCRN, SubPixelCNN, SRCNN, FSRCNN, SRGAN)
Not in the list above:
LapSRN: https://github.com/phoenix104104/LapSRN
SelfExSR: https://github.com/jbhuang0604/SelfExSR
RAISR, developed by Google:
https://github.com/MKFMIKU/RAISR
https://github.com/movehand/raisr
Evoboxx is a synthesizer based on the cellular automaton Game of Life, created by mathematician John Horton Conway in 1970. The game is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves, or, for advanced players, by creating patterns with particular properties.
Demonstration tutorial of retraining OpenAI’s GPT-2-small (a text-generating Transformer neural network) on a large public domain Project Gutenberg poetry corpus to generate high-quality English verse.
https://jalammar.github.io/illustrated-gpt2/
Other tutorial : https://medium.com/@ngwaifoong92/beginners-guide-to-retrain-gpt-2-117m-to-generate-custom-text-content-8bb5363d8b7f
https://github.com/minimaxir/gpt-2-simple
Example : http://textsynth.org/
Datasets :
https://www.kaggle.com/datasets
https://github.com/awesomedata/awesome-public-datasets
Scrap webpage with python :
https://www.crummy.com/software/BeautifulSoup/
https://github.com/EugenHotaj/beatles/blob/master/scraper.py
https://github.com/shawwn/colab-tricks
A collection of specifications and tools for 360° video and spatial audio, including:
Spatial Audio metadata specification
Spherical Video metadata specification
Spherical Video V2 metadata specification
VR180 Video Format VR180 video format
Spatial Media tools for injecting spatial media metadata in media files
https://github.com/google/spatial-media/releases/download/v2.1/360.Video.Metadata.Tool.mac.zip
https://github.com/google/spatial-media/releases/download/v2.1/360.Video.Metadata.Tool.win.zip
A standalone timeline app that can be controlled by and sends out its values via OSC.
A Posh based timeline that can be controlled by and sends out its values via OSC.
Brought to you by vvvv.
Requires Internet Explorer >= 10 to be installed on your system.
Looking for a binary download? Get it here.
A free and open-source intermedia sequencer
Enables precise and flexible scripting of interactive scenarios.
Control and score any OSC-compliant software or hardware:
Max/MSP, PureData, openFrameworks, Processing…
Mosaic is an open source multi-platform (osx, linux, windows) live coding and visual programming application, based on openFrameworks.
This project deals with the idea of integrate/amplify human-machine communication, offering a real-time flowchart based visual interface for high level creative coding. As live-coding scripting languages offer a high level coding environment, ofxVisualProgramming and the Mosaic Project as his parent layer container, aim at a high level visual-programming environment, with embedded multi scripting languages availability (Lua, GLSL, Python and BASH(macOS & linux) ).
As this project is based on openFrameworks, one of the goals is to offer as more objects as possible, using the pre-defined OF classes for trans-media manipulation (audio, text, image, video, electronics, computer vision), plus all the gigantic ofxaddons ecosystem actually available (machine learning, protocols, web, hardware interface, among a lot more).
While the described characteristics could potentially offer an extremely high complex result (OF and OFXADDONS ecosystem is really huge, and the possibility of multiple scripting languages could lead every unexperienced user to confusion), the idea behind the interface design aim at avoiding the "high complex" situation, embodying a direct and natural drag&drop connect/disconnet interface (mouse/trackpad) on the most basic level of interaction, adding text editing (keyboard) on a intermediate level of interaction (script editing), following most advanced level of interaction for experienced users (external devices communication, automated interaction, etc...)
Beats is a command-line drum machine. Feed it a song notated in YAML, and it will produce a precision-milled Wave file of impeccable timing and feel.
http://beatsdrummachine.com/tutorial/
http://tropone.de/2019/02/21/ungewoehnliche-wege-rhythmen-zu-programmieren-teil-2-beats-cl/
Open-source virtual modular synthesizer
https://vcvrack.com/manual/index.html
https://patchstorage.com/platform/vcv-rack/
https://community.vcvrack.com/
VCV was founded by Andrew Belt in 2016 and is based in Tennessee, USA. Its flagship product VCV Rack was released on September 10, 2017 at Knobcon after two years of development. It was based on an unreleased C++ modular audio engine written by Andrew in 2012.
Each letter of the alphabet is an operation, lowercase letters operate on bang, uppercase letters operate each frame. Orca is designed to control other applications, create procedural sequencers, and to experiment with livecoding. See the documentation and installation instructions here, or have a look at a tutorial video.
A
add: Outputs the sum of inputs.B
bool: Bangs if input is not empty, or 0.C
clock: Outputs a constant value based on the runtime frame.D
delay: Bangs on a fraction of the runtime frame.E
east: Moves eastward, or bangs.F
if: Bangs if both inputs are equal.G
generator: Writes distant operators with offset.H
halt: Stops southward operators from operating.I
increment: Increments southward operator.J
jumper: Outputs the northward operator.K
konkat: Outputs multiple variables.L
loop: Loops a number of eastward operators.M
modulo: Outputs the modulo of input.N
north: Moves Northward, or bangs.O
offset: Reads a distant operator with offset.P
push: Writes an eastward operator with offset.Q
query: Reads distant operators with offset.R
random: Outputs a random value.S
south: Moves southward, or bangs.T
track: Reads an eastward operator with offset.U
uturn: Reverses movement of inputs.V
variable: Reads and write globally available variables.W
west: Moves westward, or bangs.X
teleport: Writes a distant operator with offset.Y
jymper: Outputs the westward operator.Z
zoom: Moves eastwardly, respawns west on collision.*
bang: Bangs neighboring operators.#
comment: Comments a line, or characters until the next hash.:
midi: Sends a MIDI note.^
cc: Sends a MIDI CC value.;
udp: Sends a UDP message.=
osc: Sends a OSC message.enter
bang selected operator.shift+enter
toggle insert/write.space
toggle play/pause.>
increase BPM.<
decrease BPM.shift+arrowKey
Expand cursor.ctrl+arrowKey
Leap cursor.alt+arrowKey
Move selection.ctrl+c
copy selection.ctrl+x
cut selection.ctrl+v
paste selection.ctrl+z
undo.ctrl+shift+z
redo.]
increase grid size vertically.[
decrease grid size vertically.}
increase grid size horizontally.{
decrease grid size horizontally.ctrl/meta+]
increase program size vertically.ctrl/meta+[
decrease program size vertically.ctrl/meta+}
increase program size horizontally.ctrl/meta+{
decrease program size horizontally.ctrl+=
Zoom In.ctrl+-
Zoom Out.ctrl+0
Zoom Reset.tab
Toggle interface.backquote
Toggle background.Download the app here : https://hundredrabbits.itch.io/orca
Source code : https://github.com/hundredrabbits/Orca
Video tutorial : https://www.youtube.com/watch?v=RaI_TuISSJE
To test midi on Macosx : http://notahat.com/simplesynth
Activate the virtual Midi input on Macosx : https://help.ableton.com/hc/en-us/articles/209774225-Using-virtual-MIDI-buses
Pilot (another way to create music with orca from the same creators) :
Download the app here : https://hundredrabbits.itch.io/pilot
Source code : https://github.com/hundredrabbits/Pilot
A good explanation of the software in German : http://tropone.de/2019/03/13/orca-ein-sequenzer-der-kryptischer-nicht-aussehen-kann-und-ein-versuch-einer-anleitung/
Tapioca Toys Cardboard
Real-world interfaces built to play music, mold landscapes, draw… for kids & grown-ups.
The Cardboard Edition is the latest-born of our tapioca interfaces. We're introducing this compact, low-cost and low-tech version that's easy for us to mail and easy for you to build. All it does require is an iPhone, and not necessarily the latest kind: versions 5 to X are compatible. To learn more about the why and the how, visit our lab article.
ArchiveBox takes a list of website URLs you want to archive, and creates a local, static, browsable HTML clone of the content from those websites (it saves HTML, JS, media files, PDFs, images and more).
You can use it to preserve access to websites you care about by storing them locally offline. ArchiveBox imports lists of URLs, renders the pages in a headless, autheticated, user-scriptable browser, and then saves archive of the content in multiple redundant common formats (HTML, PDF, PNG, WARC) that will last long after the originals disappear off the internet. It automatically extracts assets and media from pages and saves them in easily-accessible folders, with out-of-the-box support for git repositories, audio, video, subtitles, images, PDFs, and more.
You don't need to write any code to create a simple story with Twine, but you can extend your stories with variables, conditional logic, images, CSS, and JavaScript when you're ready.
Twine publishes directly to HTML, so you can post your work nearly anywhere. Anything you create with it is completely free to use any way you like, including for commercial purposes.
Twine was originally created by Chris Klimas in 2009 and is now maintained by a whole bunch of people at several different repositories.
REXPaint is a powerful and user-friendly ASCII art editor. Use a wide variety of tools to create ANSI block/line art, roguelike mockups and maps, UI layouts, and for other game development needs. Originally an in-house dev tool used by Grid Sage Games for traditional roguelike development, this software has been made available to other developers and artists free of charge. While core functionality and tons of features already exist, occasional updates are known to happen.
With Multipaint, you can draw pictures with the color limitations of some typical 8-bit computer platforms. The screen formats supported are Commodore 64 high resolution, Commodore 64 multicolor, Commodore Plus/4 Hires, Commodore Plus/4 multicolor, ZX Spectrum, MSX 1 and Amstrad CPC0.
Multipaint features common drawing tools, color clash emulation, cut brushes, dither patterns, grid / snap, 20-step undo, spare page, magnify modes, direct executable export, export as source, import/export in native formats and much more.
Vuo is a kit for making a million different projects — apps, videos, prototypes, plugins, exhibits, live performance effects, and more. Even if you don't have programming experience, Vuo lets you build your own stuff for Mac.
Vuo is the Finnish word for flow, and that's what Vuo is about — supporting your creative flow. When you're creating, you want to focus on your ideas. You don't want to be distracted or frustrated trying to figure out how your tools work. Vuo helps you stay in the groove by making it easy to find the building blocks you want, put them together, and tweak your creation until it's just the way you want it.
Polycode is a C++ and Lua framework for building interactive applications. It is free, open source and cross-platform.
Field is a development environment for experimental code and digital art in the broadest of possible senses. While there are a great many development environments and digital art tools out there today, this one has been constructed with two key principles in mind:
Embrace and extend — rather than make a personal, private and pristine code utopia, Field tries to bridge to as many libraries, programming languages, and ways of doing things as possible. The world doesn't necessarily need another programming language or serial port library, nor do we have to pick and choose between data-flow systems, graphical user interfaces or purely textual programming — we can have it all in the right environment and we can both leverage the work of others and take control of our own tools and methods.
Live code makes anything possible — Field tries to replace as many "features" with editable code as it can. Its programming language of choice is Python — a world class, highly respected and incredibly flexible language. As such, Field is intensely customizable, with the glue between interface objects and data modifiable inside Field itself. Field takes seriously the idea that its user — you — are a programmer / artist doing serious work and that you should be able to reconfigure your tools to suit your domain and style as closely as possible.
Ezgif.com is simple online GIF maker and toolset for basic animated GIF editing. Here you can create, resize, crop, reverse, optimize, and apply some effects to gifs.
We call them "seeds". Each seed is a machine learning example you can start playing with. Explore, learn and grow them into whatever you like.
This channel was created for anyone that is curious about audio programming, digital signal processing (dsp) and creative coding- from the very basic concepts with no previous programming knowledge all the way up to building your own software instruments and applications in C++ with frameworks like Juce and openFrameworks.
PraxisLIVE
hybrid visual live programming
for creatives, for programmers, for students, for tinkerers
Imagine combining the best of Java or Processing with the best of visual node-based systems like Isadora, Quartz Composer or Node-RED;
imagine components defined like Processing sketches, so you're never constrained by what comes built-in; imagine forking components or creating new ones all while your project is running.
It's all a game of construction — some with a brush, some with a shovel, some choose a pen.
Jackson Pollock
…and some, including myself, choose neural networks. I’m an artist, and I've also been building commercial software for a long while. But art and software used to be two parallel tracks in my life; save for the occasional foray into generative art with Processing and computational photography, all my art was analog… until I discovered GANs (Generative Adversarial Networks).
Since the invention of GANs in 2014, the machine learning community has produced a number of deep, technical pieces about the technique (such as this one). This is not one of those pieces. Instead, I want to share in broad strokes some reasons why GANs are excellent artistic tools and the methods I have developed for creating my GAN-augmented art.
https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
https://people.eecs.berkeley.edu/~taesung_park/CycleGAN/datasets/
https://github.com/eriklindernoren/PyTorch-GAN
https://heartbeat.fritz.ai/introduction-to-generative-adversarial-networks-gans-35ef44f21193
https://github.com/nightrome/really-awesome-gan
https://github.com/zhangqianhui/AdversarialNetsPapers
https://github.com/io99/Resources
https://github.com/yunjey/pytorch-tutorial
https://github.com/bharathgs/Awesome-pytorch-list
https://old.reddit.com/r/MachineLearning
http://www.codingwoman.com/generative-adversarial-networks-entertaining-intro/
https://medium.com/@jonathan_hui/gan-gan-series-2d279f906e7b
https://www.youtube.com/channel/UC9OeZkIwhzfv-_Cb7fCikLQ/videos
https://www.youtube.com/watch?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi&v=aircAruvnKk
https://www.youtube.com/watch?list=PLxt59R_fWVzT9bDxA76AHm3ig0Gg9S3So&v=ZzWaow1Rvho