ArtWonk Manual

Introduction


Program Overview

ArtWonk is a MIDI and graphics program that produces MIDI music and animation based on algorithmic processes in real time. You compose by connecting "modules" - graphical objects that represent functions and processes - in real time, adjusting the parameters as you go.

ArtWonk will drive MIDI synthesizers, soft synths and sound cards directly, effectively "playing" them in real time or optionally responding to user or environmental parameters; it will also record directly to a standard MIDI file. Real time paint graphics can be created and manipulated on the fly; and both music and paint can be created together as a synesthetic whole.

Getting started

To get started with ArtWonk, read this overview page, the Modules page, and the Screen Areas page. It may be helpful to run some or all of the Starting Tutorial. Other overview pages that may prove useful are Toolbars, Main Menu, System Module, and Run Loop.

Screen layout

ArtWonk consists of the blue user interface panel (called the Panel); the light blue module Workspace just below (the Workspace); the white tree view of all existing modules to the left (the Module Tree); and the floating graphics display window (the Frame). The partitions between the three main screen areas may be resized by click and drag on the partition borders. You can hide the floating graphics window when you are not using it by clicking on the "x" on the right title bar of the graphics window. Show the graphics window again by selecting Options/Graphics from the main menu, or with the F3 function key.

Tool Tips

ArtWonk makes extensive use of tool tips. To find out what something does, just hold the mouse pointer over it for a few seconds and a tool tip message will appear describing the item. Probably the best way to explore ArtWonk, once you know the basics, is to just noodle around with the mouse, reading the tool tips that pop up.

Creating modules

To create a module, right click on the module Workspace (the light blue colored area). A popup menu will appear. Select a module from the menu and it will be created at the point of the mouse click. Click on the module and drag it to move it.

Connecting modules

Modules have outputs at the top, colored light blue, and inputs at the bottom, colored white if not connected to another module and light yellow if they are. You can enter values directly into the inputs by typing in them. Connect outputs to inputs by drag and drop of the output to the input: click on the output you want to connect, drag it over to the input you want to connect to (you will see a drag icon while doing this), and release the mouse button when the pointer is over the target input. The input will turn light yellow and it will label itself to indicate the output it is connected to.

At any time you can click on an input or output label to see at a glance the connections. If you click on an output label, the label highlights cyan and all inputs connected show a yellow highlighted input label; if you click on an input label, the label of the output that feeds it will highlight cyan, and only the input label you clicked on will highlight orange.

You can also double click on an input to get a pop up of constant values. These values are in a standard text file (use Notepad to edit it, not Word) in the ArtWonk directory, named "Constants.txt," and consist of some descriptive text followed by an equal sign ("=") followed by a value. You are free to add to this file as you like. The function that inserts the value only cares about finding an "=" character somewhere on a line, followed by any value. It ignores everything up to and including the "=", and inserts only the value.

Cut, Copy, Delete, Move

You can Cut, Copy, Delete, or Move groups of modules as well as individual modules.

For individual modules, to Cut, Copy, or Delete, right click on the module to get a pop up menu for the action desired for that module. To move a module, simply click on the top part of the module (or shift-click on the module body, where the input/output labels are), and drag the module to its new location.

Selecting groups of modules

To operate on groups of modules, click and drag on the Workspace (not the module), and enclose the modules you want to target with the rubber band box that appears when you click & drag on the Workspace. Modules that are enclosed in the box become "selected" and their labels will turn red. When you release the mouse button the box will disappear but the selected modules will be indicated by the now red labels. Right click on any of the selected modules to get a popup menu for the selected group.

To move the selected modules as a group, click and drag on the top of any of the selected modules (or shift-click on the module body, where the input/output labels are) and all selected modules will follow the drag. To unselect, click anywhere on the Workspace background.

Deleting modules

Right click on the module and select "Delete" from the popup menu. Deleted modules can be recovered by right clicking on the Workspace background and selecting "Undo Delete" from the popup menu.

Pasting Modules

After a single module or a group of modules has been Cut or Copied, right click on the Workspace background. The module creation popup menu will show a "Paste" command near the top of the popup menu. Selecting Paste will paste the previously copied or cut modules. The modules will appear in exactly the same place in the Workspace as the original modules, so if you did not move the original modules previous to a Paste, they will be covered by the newly pasted modules. However after a Paste operation all modules that were created by the paste will be selected, so you can drag the new modules as a group to whatever location you prefer.

Fetching modules

You can move a module or a group of modules beyond the currently visible Workspace by selecting the modules you want to move, then scrolling to the area you want to move them to, and selecting Fetch from menu that pops up when you click on the Workspace background. All the selected modules will be teleported to the current location.

ArtWonk values

ArtWonk outputs produce numbers and/or text, depending on the module. Inputs accept both text and numbers, as appropriate to the module. If the input is non numeric it is considered text. Numbers are double precision floating point, and are automatically converted to other data types such as integers or bytes as needed. You can also enter hexadecimal values by preceding the number with "&H" as &H7F for decimal 127.

Module value readout

You may notice that fast changing values in modules, such as the Main and Clock readouts in the System module, do not, by default, update every time the value changes. Rather, the module readouts update 5 times a second, which is about as fast as you can make sense of them, and has minimal impact on CPU usage. You can change this in the Main menu Global Options. This does not affect readouts in the Panel.

Connecting to MIDI

To connect a MIDI synth, soft synth, or sound card, first make sure you have a working MIDI driver installed on your computer. The simplest way to do this is to find a .mid file and double click on it. If the Media Player or whatever you use for MIDI sound pops up and starts playing the file, you are in business. If not, you need to figure out how to configure your computer to play MIDI before proceeding.

Once you know you have MIDI, load ArtWonk and select Options/MIDI from the main menu. This will pop up a MIDI configuration dialog. Select your MIDI output driver from the list. You can select up to 4 MIDI output drivers and 4 MIDI input drivers, but initially you should just select one Output driver from the Port 0 tab.

If you are using a Sound Blaster type sound card, make sure "SB Banks" is checked (this is the default), if you are using any other card or synth, uncheck it. This option determines how bank changes are made. If you later find Bank change does not work, try the reverse setting.

Tiny tutorial to get first sound

  1. After you have set the MIDI Output driver (you don't need an Input driver yet), right click on the Workspace background to get the module menu. Select Clock from the Clock sub menu. Pop up the module menu again and select Rand Int (not Random) from the Pattern menu.
  2. Click and drag the Strb output of the Clock to the Strb input of the Rand Int module. You should see the output of the Rand Int changing, showing values from 0 to 24, the default setting.
  3. Pop up the module menu, and select MIDI Voice from the MIDI Out menu. Drag the Clock Strb output to the MIDI Voice Clock input. Drag the Rand Int output to the MIDI Voice Note input. Finally, type 1 in the MIDI Note Play input, replacing the 0. At this point you should hear random notes. It ain't much but it's a start!

Computer System Requirements

ArtWonk runs on all Windows operating systems from Windows 98 on, including XT 64, Vista 32 and Vista 64. You also need a sound card or MIDI interface. Most sound chips built into PCs and laptops will work fine. SoundBlaster and similar cards, as well as Emu and other pro and semi pro sound cards work well also.

Software Synthesizer Compatibility

ArtWonk is compatible with all known software synthesizers. Most soft synths do not have their own MIDI drivers, and therefore require a program called a MIDI Loop Back in order to run them with ArtWonk or any other MIDI control software. A MIDI Loop Back gives you a set of virtual patch cords, where you can send the output of ArtWonk to a Loop Back input, then connect your soft synth to the same Loop Back output. These programs are available as free downloads, they are easy to install, and once installed they are trouble free. ArtWonk works very well with any of these free MIDI Loop Back drivers. If you don't know which to use, we recommend MidiYoke.

Hubi's MidiLoopBack (Win 95/98 only)
MidiYoke (Win98/2K/XP/Vista)
Maple MIDI Tools
(Win98/2K/XP/Vista)
Nerds.de LoopBe1 (Win2K/XP/Vista)
Sonic Foundry's Virtual Midi Router (Win98/2K/XP)

VST/VSTi

ArtWonk works very well with popular VST host software such as REAPER, Cubase, Ableton Live, Sonar and FL Studio/Fruity Loops , or the free Wavosaur. Since the output of ArtWonk is a live MIDI stream, essentially an algorithmic keyboard player, it is not a VST application itself. But the VST host programs have MIDI inputs and outputs that can easily be set up to distribute the ArtWonk MIDI stream to the hosted VST and VSTi modules.


ArtWonk is Copyright © 2003-2007 by John Dunn and Algorithmic Arts. All Rights Reserved.