Showing posts with label video synthesis. Show all posts
Showing posts with label video synthesis. Show all posts
Monday, January 11, 2016
VGA Synthesis: High Frequency Digital Audio Oscillators as Direct Visual Drivers
Audio output 1, 2 and 3 of an RME FireFace UC interface are used to drive the red, green and blue pins of a VGA signal at 640 x 480 @ 60Hz. Audio oscillators at a sampling rate of 192KHz are used to as a source to drive the signal. A simple Max patch is used to control and output the oscillators. An Arduino is used to generate the horizontal and vertical sync.
Labels:
arduino,
max/msp,
vga,
video synthesis
Tuesday, December 22, 2015
VGA Signal Video Synthesis: Teensy 3.2 as Source
Pins 0, 1 and 2 of a Teensy 3.2 are used to drive the red, green and blue pins of a VGA signal at 640 x 480 @ 60Hz. The code is quite straightforward but can be tweaked and pushed quite far. An Arduino is used to generate the horizontal and vertical sync.
Labels:
arduino,
teensy,
vga,
video synthesis
VGA Signal Video Synthesis: Using a Basic No Input Mixer Setup as Signal Source
A Xenyx 302USB mixer is set up feeding back into itself, and the output is used to drive the red, green and blue pins of a VGA signal at 640 x 480 @ 60Hz. An Arduino is used to generate the horizontal and vertical sync.
Labels:
no input,
noise,
vga,
video synthesis
VGA Signal Video Synthesis: Connections
I'm interested in controlling a VGA signal directly, using various kind of signals. A VGA signal is made up of five main components: red, green, blue, horizontal sync, vertical sync.
I've made a cable that has RCA connections for RGB, TS for horizontal and vertical sync and the other end terminates in a 15 pin VGA socket. Note that both the horizontal and vertical sync TS connectors have 68 ohm resistors built in.
The horizontal and vertical signals are generated via an Arduino. There are many examples around of code that will allow this. In this case, a 640 x 480 field is generated at 60Hz.
I've made a cable that has RCA connections for RGB, TS for horizontal and vertical sync and the other end terminates in a 15 pin VGA socket. Note that both the horizontal and vertical sync TS connectors have 68 ohm resistors built in.
The horizontal and vertical signals are generated via an Arduino. There are many examples around of code that will allow this. In this case, a 640 x 480 field is generated at 60Hz.
Saturday, January 11, 2014
Tuesday, September 20, 2011
Dot.AY's Laser Gameboys 2.0 (Now With VGA Hacking)
Labels:
cool stuff by other people,
game boy,
sync,
video synthesis
Thursday, April 21, 2011
Sample Phasing Example on SEGA Master System Hardware (With Debussy)

A brief example of playing back a sample from a Debussy track, and showing some basic audio phasing. Each loop repetition increases the phase difference by only a single sample, hence the changes in timbre.
Sunday, April 25, 2010
Wednesday, August 19, 2009
mxj gol: Game of Life Max/MSP Object
Overview
I have made a very simple max object in order to use the Game of Live by Conway with the LCD object in Max/MSP.
Object
Here is an overview of the arguments, inlets and outlets.
Arguments:
- Argument 1 is the width of the LCD in pixels
- Argument 2 is the height of the LCD in pixels
Inlets:
- Inlet 1 is the trigger to generate the next iteration (via a bang)
- Inlet 2 is the R colour output component
- Inlet 3 is the G colour output component
- Inlet 4 is the B colour output component
- Inlet 5 should be connected to the gated output from the LCD (see below)
- Inlet 6 should be connected to the gated output from the LCD (see below)
Patch Example

Download and Install
Get the .class file here and the .jav file here.
Move to the directory: Max 5 > Cycling '74 > java > classes
To use in a patch, create a new object box and type mxj gol [xwidth] [ywidth]
To edit, create a new object box and type mxj quickie gol
Video Example

Object
Here is an overview of the arguments, inlets and outlets.
Arguments:
- Argument 1 is the width of the LCD in pixels
- Argument 2 is the height of the LCD in pixels
Inlets:
- Inlet 1 is the trigger to generate the next iteration (via a bang)
- Inlet 2 is the R colour output component
- Inlet 3 is the G colour output component
- Inlet 4 is the B colour output component
- Inlet 5 should be connected to the gated output from the LCD (see below)
- Inlet 6 should be connected to the gated output from the LCD (see below)
Patch Example

Download and Install
Get the .class file here and the .jav file here.
Move to the directory: Max 5 > Cycling '74 > java > classes
To use in a patch, create a new object box and type mxj gol [xwidth] [ywidth]
To edit, create a new object box and type mxj quickie gol
Video Example
Labels:
digital manipulation,
diy stuff,
max/msp,
video synthesis,
visual arts
Tuesday, August 18, 2009
automaticWeeds Object for Max/MSP

The idea is to connect the object to an LCD object in Max.
Inlet 1: bang for next iteration
Inlet 2, 3 and 4: set the red, green and blue colour components of the visual output
Inlet 5 and 6: unpack the first outlet from the LCD object into two ints, and connect here
Outlet 1: connect to LCD
Argument 1 and 2: the width and height of the field in cells.
Argument 3: the size of each cell (as a square) in pixels.
The size of the LCD should be the cell field size as width and height times by the cell size in pixels. So, in the object above, the LCD object would be 600 x 600 pixels.
If anyone wants to muck around with this object (still a work in progress) or wants to see the patch please let me know.
I'm quite happy with the visual outcome, all though it can and will be worked on of course.
Labels:
max/msp,
video synthesis,
visual arts
Tuesday, May 26, 2009
Audio Effects as Visual Effects
This is a follow on from a previous post, where I described a Max/MSP patch I had made in order to use visual effects as audio effects. Naturally, the same patch can be used the other way around - ie. an image can be loaded and turned into audio, after which audio effects are applied and then turned back into an image.
For example, in the following two sets of six images, the top left image is the original and the others have been affected using audio effects.

For example, in the following two sets of six images, the top left image is the original and the others have been affected using audio effects.


Labels:
digital manipulation,
max/msp,
video synthesis
Thursday, April 02, 2009
How to: Use Arduino to Generate Glitchy Audio VGA Visuals

This post is a guide for people that are interested in my previous posts about dual monitor VGA hacking (see 1, 2 and 3).
You will need:
• A laptop or a computer with a VGA output
• A breadboard (optional) and some wires or a strip board for soldering
• Wire and breadboard jumpers (optional)
• 2 female VGA connectors
• 1 male VGA connector
• up to 3 lots of 15x1 or 15x2 pin headers (optional)
• An Arduino, Picaxe or other microcontroller with an onboard ADC or a standalone ADC
• Audio cable and connector
• 1 or 2 CRT or LCD monitors
Hardware Setup:
The idea here is to connect the horizontal and vertical sync signals from the computer / laptop to the other monitors. However, the actual RGB data lines will be controlled by the Arduino / µC / ADC. You can see the pinouts for the VGA ports below (taken from pinouts.ru).



From the VGA output of the computer / laptop to the first external monitor, connect pins:
4, 5, 6, 7, 8, 10, 11, 12, 13 and 14.
From the first external monitor to the second external monitor, connect pins:
5, 6, 7, 8, 13 and 14. Then connect pin 1 of the first external monitor to pin 2 of the second external monitor, pin 3 to pin 2 and pin 2 to pin 3. By changing this mapping, you can change the way the colour of the second monitor looks like compared to the first one.
For my setup, I used an Arduino board. So I took an audio signal and connected the signal wire to analog pin 0 and the shield to Arduino ground. I also connected Arduino ground to pin 5 of the VGA connectors. Then I connected Arduino pins 4, 5 and 6 to pins 1, 2 and 3 of the first external monitor connection.
Also, for my setup, I basically made up three little jumper boards with pin headers that connect all fifteen VGA pins to the breadboard. Then it was simply a matter of using breadboard jumpers to connect each appropriate pin to the other - easy!
Software Setup:
All that is happening with the software is that the Arduino or whatever is doing a digital conversion and then setting an output digital pin port to the lower 8 bits of the 10 bit data. That's all!
The code is as simple as this:
void setup() {
DDRD = B11111111;
}
void loop() {
PORTD = analogRead(0);
}
Of course, you can edit this an muck around with adding delays etc to get different effects and so on.
Labels:
arduino,
digital manipulation,
video synthesis
Subscribe to:
Posts (Atom)