Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge branch 'master' of git://github.com/gilesbowkett/archaeopteryx

  • Loading branch information...
commit 55c3413fa016fcfda2152cf5af75e1eab97b49f1 2 parents e7c2484 + 6fec6b9
Yann-Cyril Pelud ypelud authored
29 README
View
@@ -1,13 +1,26 @@
Alpha! Not release-ready! Here be dragonnes! etc.
-Archaeopteryx is a MIDI system for Ruby based on code from Topher Cyll's book "Practical Ruby
-Projects."
+Archaeopteryx is a MIDI system for Ruby. Archaeopteryx uses MIDIator for MIDI Out and recommends rbcoremidi for MIDI In.
-Archaeopteryx successfully generates original drum and bass rhythms, tours the circle of fifths
-and the circle of fourths, does extremely simplistic randomized pseudo-arpeggios, handles chord
-progressions of the I-IV-V and V-I varieties, synchs original rhythms to MP3 playback, and crossfades
-between existing MP3 tracks.
+Archaeopteryx is a collection of hacks, some living on their own branches, many of them ugly. The best-known is a probabilistic step sequencer. Other Archaeopteryx hacks tour the circle of fifths and the circle of fourths, do extremely simplistic randomized pseudo-arpeggios, handle chord progressions of the I-IV-V and V-I varieties, synch the probabilistic step sequencer to MP3 playback, automate Ableton Live to create random, brainless "DJ mixes," and crossfade between existing MP3 tracks.
-Archaeopteryx is a Ruby front-end to prosumer music software such as Propellerhead Reason and
-Ableton Live. You need a MIDI consumer to get anything useful out of it.
+Archaeopteryx differs from projects like ChucK, Supercollider, PD, Max/MSP and OSC in a fundamental way. Archaeopteryx favors simplicity over power, and ubiquitous protocols over any other kind. Archaeopteryx does not want programmatic control over sound or audio. Archaeopteryx exists because music software should have a scriptable command-line interface. Archaeopteryx aspires to be an MPC-2000 with a shell prompt. You use Archaeopteryx as a Ruby front-end to music software such as Propellerhead Reason and Ableton Live.
+
+Consequently you need a MIDI consumer to get anything useful out of Archaeopteryx. The wiki links to two videos which show you how to drive GarageBand with Arx. Arx also includes a simple MIDI consumer written in ChucK which allows programmers to operate Arx's probabilistic step sequencer without being required to buy anything or learn any unfamiliar software. That is, unless you count the ChucK interpreter. Install it here:
+
+ http://chuck.cs.princeton.edu/release/
+
+To use it, first get the consumer running:
+
+ ~/programming/chuck/bin/chuck demo.ck &
+
+Next drive it with the probabilistic step sequencer:
+
+ ruby eval_style.rb
+
+Voila.
+
+The drum samples for demo.ck came from SampleSwap:
+
+ http://www.sampleswap.org/index.php
32 demo.ck
View
@@ -0,0 +1,32 @@
+MidiIn min;
+MidiMsg msg;
+
+if ( !min.open(0) ) me.exit();
+
+SndBuf s[50];
+"drums/BOOM.aif" => s[36].read;
+"drums/crikix.aif" => s[37].read;
+"drums/bendy.aif" => s[39].read;
+"drums/djembe-side.aif" => s[40].read;
+"drums/electrotabla.aif" => s[41].read;
+"drums/basic-ridebell.aif" => s[42].read;
+"drums/african-pe-hi.wav" => s[43].read;
+"drums/909-banging-lofi-hat.aif" => s[44].read;
+"drums/707-ohh.aif" => s[45].read;
+
+for( 0 => int i; i < s.cap(); i++)
+ s[i] => dac;
+
+while( true ) {
+ min => now;
+
+ while( min.recv( msg ) )
+ {
+ <<< msg.data1, msg.data2, msg.data3 >>>;
+ if(msg.data1 >= 0x90 && msg.data1 < 0xa0) {
+ 0 => s[msg.data2].pos;
+ (msg.data3 / 127.0) * 0.9 => s[msg.data2].gain;
+ (msg.data3 / 127.0) * 0.2 + 0.9 => s[msg.data2].rate;
+ }
+ }
+}
BIN  drums/707-ohh.aif
View
Binary file not shown
BIN  drums/909-banging-lofi-hat.aif
View
Binary file not shown
BIN  drums/909-bright-ride.aif
View
Binary file not shown
BIN  drums/909-collapsed-hat.aif
View
Binary file not shown
BIN  drums/BOOM.aif
View
Binary file not shown
BIN  drums/african-pe-hi.wav
View
Binary file not shown
BIN  drums/basic-ridebell.aif
View
Binary file not shown
BIN  drums/beauty_ride1_(long).aif
View
Binary file not shown
BIN  drums/bendy.aif
View
Binary file not shown
BIN  drums/crikix.aif
View
Binary file not shown
BIN  drums/djembe-side.aif
View
Binary file not shown
BIN  drums/electrotabla.aif
View
Binary file not shown
4 mit_license.txt
View
@@ -1,4 +1,6 @@
Copyright 2008 Giles Bowkett
Portions Copyright 2006, 2007 Topher Cyll
Portions Copyright 2008 Michael Fellinger
-# Portions Copyright 2001 Jim Weirich
+Portions Copyright 2008 Ben Bleything
+Portions Copyright 2008 Tom Lieber
+Portions Copyright 2001 Jim Weirich
Please sign in to comment.
Something went wrong with that request. Please try again.