Mercurial > hg > mtridoc
changeset 0:f0db398fab0e
Initial check in.
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bradford2011/info.tex Mon Jan 23 14:02:17 2012 +0000 @@ -0,0 +1,84 @@ +\documentclass[a4paper,12pt]{article} +\usepackage[rm]{frankgth} +\usepackage{geometry} +\usepackage{tools} +\usepackage{graphicx} + +\parindent=0pt +\parskip=1em +\title{Information Dynamics Installation\\Pattern and Predictability in Music} +\author{Samer Abdallah and Henrik Ekeus} +\begin{document} +\maketitle +One of the noticable features of most sorts of music is that it +involves patterns in time---a repeating bass line, the cycle of +harmonies in a 12 bar blues, a melodic theme that is repeated, perhaps +in slightly different forms, at different pitches or at different speeds, and so on. +One of the tools available to a composer or performer is to play +with his or her audience's expectations, by setting up patterns that +seem more or less predictable, sometimes doing what listeners expect, +and sometimes doing surprising things. + +Our work on \emph{information dynamics} involves studying several +different kinds of predictability in musical patterns, how we as +human listeners might perceive these, and how they shape or affect +the listening experience. + +This installation allows participants to explore a space of melodic +and rhythmical patterns organised by \emph{how predictable} they are, +at least according to a simple model of how one might guess the next +musical event given the previous one. +Each person in the space generates one instrumental line, at a certain speed +and using a certain pitch range. + +\subsection*{Moving around} +As you enter the space, the system will start generating an instrumental +line or voice. The loudness of your voice is linked to your height, +so if you crouch, you will become quiet. The active space is triangular, +with each corner corresponding to three different extremes of predictability/unpredictability. +As you move around, the system will generate patterns corresponding to +where you are in the space. With other people in the space, you can +cooperate to create polyhonic textures, for example, you could lay down +a predictable repeating ostinato or bass line while your companion can +generate a freer melodic line on the off-beats. + +\begin{center} +\hangbox{\includegraphics[width=0.48\linewidth]{triangle.pdf}} +\quad\hangbox{\begin{minipage}{0.4\linewidth} +\vspace{1em} +\textbf{Tip}\quad It's best not to move around too quickly, to give yourself +time hear the pattern you are generating to notice its characteristics. +Then you can decided if you like it or want to try somewhere else. +If you move around quicky, the patterns will change so quickly that there +will effectively \emph{be no pattern}. +\end{minipage}} +\end{center} + + +\subsection*{Control gestures} +\def\out{in$\rightarrow$ out} +\def\in{out$\rightarrow$ in} +Control gestures are made pushing out or pulling in your left and right +arms rapidly, either separately or together (while facing the Kinect +motion tracker; if you face away, then left and right are reversed). + +It should be noted that the system will sometimes detect gestures when +none was intended. In particular, you might find the timing of your voice +goes wild if you walk around quickly. In this case, the \textbf{(\in,\in)} +gesture will reset your voice to the initial tempo and on the beat. +\begin{center} +\begin{tabular}{lll} + \textbf{left arm} & \textbf{right arm} & \textbf{meaning} \\ + \hline\\ + \out & static in & double tempo \\ + \in & static in & halve tempo \\ + static in & \out & triple tempo \\ + static in & \in & one-third tempo \\ + \out & static out & shift by half-beat \\ + \out & \out & change instrument \\ + \in & \in & reset tempo +\end{tabular} +\includegraphics[angle=90,width=\linewidth]{gestures-2.pdf} +\end{center} + +\end{document}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bradford2011/poster.graffle/data.plist Mon Jan 23 14:02:17 2012 +0000 @@ -0,0 +1,1293 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>AutoAdjust</key> + <false/> + <key>CanvasColor</key> + <dict> + <key>w</key> + <string>1</string> + </dict> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>CanvasScale</key> + <real>1</real> + <key>ColorProfile</key> + <dict> + <key>cmykName</key> + <string>Generic CMYK Profile</string> + <key>grayName</key> + <string>Generic Gray Profile</string> + <key>rgbName</key> + <string>Generic RGB Profile</string> + </dict> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2011-09-06 16:21:31 +0100</string> + <key>Creator</key> + <string>Samer Abdallah</string> + <key>DisplayScale</key> + <string>1 cm = 1 cm</string> + <key>GraphDocumentVersion</key> + <integer>5</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{124.582, 1388}, {351.86, 212.646}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>119</integer> + <key>ImageID</key> + <integer>9</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{745.62, 1514.5}, {65, 15}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>118</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.838462</string> + <key>g</key> + <string>0.838462</string> + <key>r</key> + <string>0.838462</string> + </dict> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{715.59, 914.664}, {379.124, 313.865}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>115</integer> + <key>ImageID</key> + <integer>8</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{72, 145.885}, {467.567, 9.76654}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.5</string> + <key>b</key> + <string>0.0185352</string> + <key>g</key> + <string>0.0125349</string> + <key>r</key> + <string>0.634615</string> + </dict> + </dict> + <key>ID</key> + <integer>114</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.49</string> + <key>b</key> + <string>0</string> + <key>g</key> + <string>0.00549084</string> + <key>r</key> + <string>0.580769</string> + </dict> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{594.357, 909.336}, {162.152, 270}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-Book</string> + <key>Size</key> + <real>16</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>75</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Medium;\f1\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs32 \cf0 Tip +\f1 It\'92s best not to move around too quickly, to give yourself time listen to the pattern you are generating. Then you can decided if you like it or want to try somewhere else. If you move around quickly, the patterns will change so quickly that there will effectively be no pattern.}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Class</key> + <string>Group</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{74.3546, 1169.4}, {460.01, 60}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-BookItalic</string> + <key>Size</key> + <real>18</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>80</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;\red11\green9\blue18;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\i\fs36 \cf2 A tracker's eye view: the Kinect camera sees the distance to each object. It finds anything that looks like a body and sends it's position in 3D to the rest of the system.}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{69.1523, 808.516}, {470.415, 350.4}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>81</integer> + <key>ImageID</key> + <integer>3</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + </array> + <key>ID</key> + <integer>79</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{594.867, 586.779}, {523.643, 60}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-BookItalic</string> + <key>Size</key> + <real>18</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>77</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;\red11\green9\blue18;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\i\fs36 \cf2 The computer finds a pattern of notes (represented by the square images on the left) corresponding to where each person is in a triangular space (on the right).}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{594.357, 243.89}, {523.643, 327.277}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>78</integer> + <key>ImageID</key> + <integer>4</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Fuzziness</key> + <real>12.533585548400879</real> + <key>ShadowVector</key> + <string>{-10, 14}</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{97.2863, 1288}, {457.023, 31}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>CharterBT-Bold</string> + <key>Size</key> + <real>24</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>103</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 CharterBT-Roman;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\b\fs48 \cf0 Controls}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{96.7137, 1328}, {442.853, 60}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-Book</string> + <key>Size</key> + <real>18</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>105</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs36 \cf0 Control gestures are made pushing out or pulling in your left and right arms rapidly, either separately or together, while +\i facing +\i0 the Kinect motion tracker.}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{493.714, 1245}, {601, 425.412}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>106</integer> + <key>ImageID</key> + <integer>2</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{72, 1269.17}, {1046, 341.83}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>107</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.838462</string> + <key>g</key> + <string>0.838462</string> + <key>r</key> + <string>0.838462</string> + </dict> + </dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>24</real> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{72, 165.536}, {467.567, 34}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>CharterBT-Roman</string> + <key>Size</key> + <real>28</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>70</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 CharterBT-Roman;} +{\colortbl;\red255\green255\blue255;\red11\green9\blue18;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\slleading-100\ql\qnatural\pardirnatural + +\f0\fs56 \cf2 \expnd0\expndtw0\kerning0 +prediction and predictability in music}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{596.286, 678.058}, {523.643, 200}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-Book</string> + <key>Size</key> + <real>18</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>69</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs36 \cf0 As you enter the space, the system will start generating an instrumental line or voice. The loudness of your voice is linked to your height, so if you crouch, you will become quiet. The active space is triangular, with each corner corresponding to three different extremes of predictability/unpredictability. As you move around, the system will generate patterns corresponding to where you are in the space. With other people in the space, you can cooperate to create polyhonic textures, for example, you could lay down a predictable repeating bass line while your companion creates a freer melodic line on the off-beats.}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{596.286, 152}, {291.098, 44}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-Book</string> + <key>Size</key> + <real>20</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>65</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;\red11\green9\blue18;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs40 \cf2 British Science Festival,Bradford, 14th September 2011.}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{72, 243.89}, {482.31, 500}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-Book</string> + <key>Size</key> + <real>18</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>61</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs36 \cf0 One of the noticable features of most sorts of music is that it involves patterns in time\'97a repeating bass line, the cycle of harmonies in a 12 bar blues, a melodic theme that is repeated, perhaps in slightly different forms, at different pitches or at different speeds, and so on. One of the tools available to a composer or performer is to play with his or her audience\'92s expectations, by setting up patterns that seem more or less predictable, sometimes doing what listeners expect, and sometimes doing surprising things.\ +\ +Our work on information dynamics involves studying several different kinds of predictability in musical patterns, how we as human listeners might perceive these, and how they shape or affect the listening experience. For example, if the music is very easy to predict after a short period of listening, are we more likely to find it boring? Is there a link between difficulty in prediction and musical tension?\ +\ +This installation allows people to explore a space of melodic and rhythmical patterns organised by how predictable they are, at least according to a simple model of how one might guess the next musical event given the previous one. Each person in the space generates one instrumental line, at a certain speed and using a certain pitch range. By cooperating with other people, multilayered musical textures can be created. }</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + <key>VFlip</key> + <string>YES</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{596.286, 71}, {301.109, 66}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-Book</string> + <key>Size</key> + <real>20</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>59</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;\red11\green9\blue18;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs40 \cf2 Henrik Ekeus and Samer Abdallah\ +Centre for Digital Music, \ +Queen Mary University of London.}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{72, 72}, {500.357, 64}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Didot</string> + <key>Size</key> + <real>52</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>58</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 CharterBT-Roman;} +{\colortbl;\red255\green255\blue255;\red11\green9\blue18;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\slleading-100\ql\qnatural\pardirnatural + +\f0\fs104 \cf2 \expnd0\expndtw0\kerning0 +The Melody Triangle}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{942.039, 52}, {175.961, 147.536}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>117</integer> + <key>ImageID</key> + <integer>7</integer> + <key>Opacity</key> + <real>0.5</real> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict> + <key>GridSpacing</key> + <real>14.17322826385498</real> + <key>MajorGridSpacing</key> + <integer>10</integer> + </dict> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>NO</string> + <key>HPages</key> + <integer>2</integer> + <key>HorizontalGuides</key> + <array> + <real>72</real> + <real>1611</real> + </array> + <key>ImageCounter</key> + <integer>10</integer> + <key>ImageLinkBack</key> + <array> + <dict/> + <dict/> + <dict/> + <dict/> + <dict/> + <dict/> + </array> + <key>ImageList</key> + <array> + <string>image9.pdf</string> + <string>image8.pdf</string> + <string>image3.png</string> + <string>image4.png</string> + <string>image2.pdf</string> + <string>image7.pdf</string> + </array> + <key>IsPalette</key> + <string>NO</string> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>Layer 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict/> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheet</key> + <string>Master 1</string> + <key>MasterSheets</key> + <array> + <dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>AutoAdjust</key> + <false/> + <key>CanvasColor</key> + <dict> + <key>w</key> + <string>1</string> + </dict> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>CanvasScale</key> + <real>1</real> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>DisplayScale</key> + <string>1 cm = 1 cm</string> + <key>GraphicsList</key> + <array/> + <key>GridInfo</key> + <dict> + <key>GridSpacing</key> + <real>14.17322826385498</real> + <key>MajorGridSpacing</key> + <integer>10</integer> + </dict> + <key>HPages</key> + <integer>1</integer> + <key>IsPalette</key> + <string>NO</string> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>Layer 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict/> + <key>Orientation</key> + <integer>2</integer> + <key>OutlineStyle</key> + <string>Basic</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>Master 1</string> + <key>UniqueID</key> + <integer>1</integer> + <key>VPages</key> + <integer>1</integer> + </dict> + </array> + <key>ModificationDate</key> + <string>2011-09-12 10:54:40 +0100</string> + <key>Modifier</key> + <string>Samer Abdallah</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>OutlineStyle</key> + <string>Basic</string> + <key>PageBreaks</key> + <string>NO</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{595, 842}</string> + </array> + <key>NSRightMargin</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string> + </array> + <key>NSTopMargin</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string> + </array> + </dict> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>Canvas 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>2</integer> + <key>VerticalGuides</key> + <array> + <real>72</real> + <real>597</real> + <real>1118</real> + <real>1191.2120361328125</real> + </array> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <string>0</string> + <key>DrawerOpen</key> + <false/> + <key>DrawerTab</key> + <string>Outline</string> + <key>DrawerWidth</key> + <real>209</real> + <key>FitInWindow</key> + <false/> + <key>Frame</key> + <string>{{250, 0}, {1029, 778}}</string> + <key>ShowRuler</key> + <false/> + <key>ShowStatusBar</key> + <true/> + <key>VisibleRegion</key> + <string>{{-419, 122}, {2028, 1440}}</string> + <key>Zoom</key> + <string>0.5</string> + </dict> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bradford2011/triangle.graffle Mon Jan 23 14:02:17 2012 +0000 @@ -0,0 +1,539 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>AutoAdjust</key> + <false/> + <key>CanvasColor</key> + <dict> + <key>w</key> + <string>1</string> + </dict> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>CanvasScale</key> + <real>1</real> + <key>ColorProfile</key> + <dict> + <key>cmykName</key> + <string>Generic CMYK Profile</string> + <key>grayName</key> + <string>Generic Gray Profile</string> + <key>rgbName</key> + <string>Generic RGB Profile</string> + </dict> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2011-09-07 21:09:54 +0100</string> + <key>Creator</key> + <string>Samer Abdallah</string> + <key>DisplayScale</key> + <string>1 cm = 1 cm</string> + <key>GraphDocumentVersion</key> + <integer>5</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{285.5, 301.734}, {83, 40}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-Book</string> + <key>Size</key> + <real>18</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>95</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>2</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;\red11\green9\blue18;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qr\pardirnatural + +\f0\fs36 \cf2 repeating\ +cycles}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{63.1899, 301.734}, {115, 40}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-Book</string> + <key>Size</key> + <real>18</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>94</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>2</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;\red11\green9\blue18;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qr\pardirnatural + +\f0\fs36 \cf2 completely\ +unpredictable}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{190.379, 102.464}, {62, 60}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-Book</string> + <key>Size</key> + <real>18</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>93</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;\red11\green9\blue18;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs36 \cf2 one \ +note \ +samba}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{191.691, 50}, {64, 21}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>FranklinGothic-Book</string> + <key>Size</key> + <real>18</real> + </dict> + <key>HFlip</key> + <string>YES</string> + <key>ID</key> + <integer>92</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.491736</string> + <key>r</key> + <string>0.903608</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 FranklinGothic-Book;} +{\colortbl;\red255\green255\blue255;\red11\green9\blue18;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs36 \cf2 tracker}</string> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{43, 65.931}, {361.381, 283.753}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>91</integer> + <key>Shape</key> + <string>VerticalTriangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.830769</string> + <key>g</key> + <string>0.822703</string> + <key>r</key> + <string>0.826736</string> + </dict> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>16</real> + <key>Width</key> + <real>2</real> + </dict> + </dict> + <key>VFlip</key> + <string>YES</string> + </dict> + </array> + <key>GridInfo</key> + <dict> + <key>GridSpacing</key> + <real>14.17322826385498</real> + <key>MajorGridSpacing</key> + <integer>10</integer> + </dict> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>IsPalette</key> + <string>NO</string> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>Layer 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict/> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheet</key> + <string>Master 1</string> + <key>MasterSheets</key> + <array> + <dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>AutoAdjust</key> + <false/> + <key>CanvasColor</key> + <dict> + <key>w</key> + <string>1</string> + </dict> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>CanvasScale</key> + <real>1</real> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>DisplayScale</key> + <string>1 cm = 1 cm</string> + <key>GraphicsList</key> + <array/> + <key>GridInfo</key> + <dict> + <key>GridSpacing</key> + <real>14.17322826385498</real> + <key>MajorGridSpacing</key> + <integer>10</integer> + </dict> + <key>HPages</key> + <integer>1</integer> + <key>IsPalette</key> + <string>NO</string> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>Layer 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict/> + <key>Orientation</key> + <integer>2</integer> + <key>OutlineStyle</key> + <string>Basic</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>Master 1</string> + <key>UniqueID</key> + <integer>1</integer> + <key>VPages</key> + <integer>1</integer> + </dict> + </array> + <key>ModificationDate</key> + <string>2011-09-08 12:50:58 +0100</string> + <key>Modifier</key> + <string>Samer Abdallah</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>OutlineStyle</key> + <string>Basic</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{595, 842}</string> + </array> + <key>NSRightMargin</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string> + </array> + <key>NSTopMargin</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG</string> + </array> + </dict> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>Canvas 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <true/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <string>0</string> + <key>DrawerOpen</key> + <false/> + <key>DrawerTab</key> + <string>Outline</string> + <key>DrawerWidth</key> + <real>209</real> + <key>FitInWindow</key> + <false/> + <key>Frame</key> + <string>{{410, 30}, {586, 746}}</string> + <key>ShowRuler</key> + <false/> + <key>ShowStatusBar</key> + <true/> + <key>VisibleRegion</key> + <string>{{0, 0}, {571, 688}}</string> + <key>Zoom</key> + <string>1</string> + </dict> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/digishore/info.tex Mon Jan 23 14:02:17 2012 +0000 @@ -0,0 +1,84 @@ +\documentclass[a4paper,12pt]{article} +\usepackage[rm]{frankgth} +\usepackage{geometry} +\usepackage{tools} +\usepackage{graphicx} + +\parindent=0pt +\parskip=1em +\title{Information Dynamics Installation\\Pattern and Predictability in Music} +\author{Samer Abdallah and Henrik Ekeus} +\begin{document} +\maketitle +One of the noticable features of most sorts of music is that it +involves patterns in time---a repeating bass line, the cycle of +harmonies in a 12 bar blues, a melodic theme that is repeated, perhaps +in slightly different forms, at different pitches or at different speeds, and so on. +One of the tools available to a composer or performer is to play +with his or her audience's expectations, by setting up patterns that +seem more or less predictable, sometimes doing what listeners expect, +and sometimes doing surprising things. + +Our work on \emph{information dynamics} involves studying several +different kinds of predictability in musical patterns, how we as +human listeners might perceive these, and how they shape or affect +the listening experience. + +This installation allows participants to explore a space of melodic +and rhythmical patterns organised by \emph{how predictable} they are, +at least according to a simple model of how one might guess the next +musical event given the previous one. +Each person in the space generates one instrumental line, at a certain speed +and using a certain pitch range. + +\subsection*{Moving around} +As you enter the space, the system will start generating an instrumental +line or voice. The loudness of your voice is linked to your height, +so if you crouch, you will become quiet. The active space is triangular, +with each corner corresponding to three different extremes of predictability/unpredictability. +As you move around, the system will generate patterns corresponding to +where you are in the space. With other people in the space, you can +cooperate to create polyhonic textures, for example, you could lay down +a predictable repeating ostinato or bass line while your companion can +generate a freer melodic line on the off-beats. + +\begin{center} +\hangbox{\includegraphics[width=0.55\linewidth]{PredictabilitySpace.pdf}} +\quad\hangbox{\begin{minipage}{0.4\linewidth} +\vspace{1em} +\textbf{Tip}\quad It's best not to move around too quickly, to give yourself +time hear the pattern you are generating to notice its characteristics. +Then you can decided if you like it or want to try somewhere else. +If you move around quicky, the patterns will change so quickly that there +will effectively \emph{be no pattern}. +\end{minipage}} +\end{center} + + +\subsection*{Control gestures} +\def\out{in$\rightarrow$ out} +\def\in{out$\rightarrow$ in} +Control gestures are made pushing out or pulling in your left and right +arms rapidly, either separately or together (while facing the Kinect +motion tracker; if you face away, then left and right are reversed). + +It should be noted that the system will sometimes detect gestures when +none was intended. In particular, you might find the timing of your voice +goes wild if you walk around quickly. In this case, the \textbf{(\in,\in)} +gesture will reset your voice to the initial tempo and on the beat. +\begin{center} +\begin{tabular}{lll} + \textbf{left arm} & \textbf{right arm} & \textbf{meaning} \\ + \hline\\ + \out & static in & double tempo \\ + \in & static in & halve tempo \\ + static in & \out & triple tempo \\ + static in & \in & one-third tempo \\ + \out & static out & shift by half-beat \\ + \out & \out & change instrument \\ + \in & \in & reset tempo +\end{tabular} +\includegraphics[angle=90,width=\linewidth]{01.pdf} +\end{center} + +\end{document}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/digishore/notes.tex Mon Jan 23 14:02:17 2012 +0000 @@ -0,0 +1,93 @@ +\documentclass[a4paper]{article} +\usepackage{tools} + +\author{Samer Abdallah and Henrik Ekeus} +\title{Digital Shoreditch\\Information Dynamics Installation} + + +\begin{document} +\maketitle + +\section{How it went} + +\subsection{Reactions of visitors} +Initially some confusion, but after we learned to present it properly, +then generally positive reactions. We would ask everyone to step out +of active space before explaining the ideas behind it and how to use +the system. + +Default unguided response - walking about, waving +arms, dancing---\emph{fast} movements, \emph{rhythmic} +movements. We had to explain that interaction occurs +not on the time scale of the sounds, but on a slower time +scale. + +Types of behaviour - solo, collaborative. + +Timing controls a bit complex and also too easy to mess up timing. +Gesture framework is ok though. + + +\subsection{Performance and reliability of technology} + +Need to walk out and in to `rebirth' voices after restart is annoying +Need a way to limit the number of voices and valid ids effectively +Prolog part is getting flooded with tracking messages +Matlab part is performing ok when limited to only a few +transmats per second, but: + - no time for scatter plot update! + - timeing out problem is bad +Loudness-height link needs calibrating to height of person +Proper 3D calibration needed to allow for tilt. +Use height of bounding box more effectively? + +\section{Future directions} + + \subsection{Writing up} + Submit a paper to, \eg, NIME. + Emphasise high level of control---we excercise control over + \emph{statistical structure}. + + \subsection{Improving the user interface} + Make it easier for users to recognise which voice they are generating. + Remove height bias (detect ground plane). + Occlusions are a problem: mount the kinect higher? + + \subsection{As a compositional tool} + A more `task oriented' approach? Eg, creation of a texture, + creation of a melodic line, \etc. + 3D body gestural control not really needed. Could make + controller with two manual controls, hand trackers. + + \subsection{Other parameters to control} + Short-term variables like note duration, IOI etc. + Longer-term dynamics, like a chord progressions. + Variables which \emph{modulate} the output of other voices, + eg tonality/harmony processes. Requires better pitch representation + for voices so that harmonic changes can be effected without + modifying the outputs of the voice processes. + + \eg voices produce scale degrees. + synth units share a global scale. + tonality process modifies global scale. + Should we implement modulation via wholesale transposition + or via minimal modification of pitches? + + + \subsection{Studying the behaviour of users} + Experiment to observe how people move in the information space + under various conditions: (a) as a solo voice; (b) collaboration + with fixed virtual voice; (c) collaboration with another human. + + \subsection{Performances} + Ask John Eacott about possible venues and state of live score code. + Performance with dancer? Ask Tim or Di. + Performance with live scores and musicians, \eg string quartet. + + \subsection{Sequencer plug-in} + Ask Chris Cannam about this. + + + Core algorithms as engine, service or component + Send Marcus's thesis and stuff about experimental aesthetics to Henrik. +\end{document}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nime2012/NIME-alternate.cls Mon Jan 23 14:02:17 2012 +0000 @@ -0,0 +1,1366 @@ +% SIG-ALTERNATE.CLS - VERSION 1.7 +% "COMPATIBLE" WITH THE "ACM_PROC_ARTICLE-SP.CLS" V2.7SP +% Gerald Murray October 15th. 2004 +% +% ---- Start of 'updates' ---- +% +% Allowance made to switch default fonts between those systems using +% METAFONT and those using 'Type 1' or 'Truetype' fonts. +% See LINE NUMBER 252 for details. +% Also provided for enumerated/annotated Corollaries 'surrounded' by +% enumerated Theorems (line 841). +% Gerry November 11th. 1999 +% +% Made the Permission Statement / Conference Info / Copyright Info +% 'user definable' in the source .tex file OR automatic if +% not specified. +% +% Georgia fixed bug in sub-sub-section numbering in paragraphs (July 29th. 2002) +% JS/GM fix to vertical spacing before Proofs (July 30th. 2002) +% +% Footnotes inside table cells using \minipage (Oct. 2002) +% +% ---- End of 'updates' ---- +% +\def\fileversion{v1.7} % for ACM's tracking purposes +\def\filedate{October 15, 2004} % Gerry Murray's tracking data +\def\docdate {Friday 15th. October 2004} % Gerry Murray (with deltas to doc} +\usepackage{epsfig} +\usepackage{amssymb} +\usepackage{amsmath} +\usepackage{amsfonts} +% +% SIG-ALTERNATE DOCUMENT STYLE +% G.K.M. Tobin August-October 1999 +% adapted from ARTICLE document style by Ken Traub, Olin Shivers +% also using elements of esub2acm.cls +% HEAVILY MODIFIED, SUBSEQUENTLY, BY GERRY MURRAY 2000 +% ARTICLE DOCUMENT STYLE -- Released 16 March 1988 +% for LaTeX version 2.09 +% Copyright (C) 1988 by Leslie Lamport +% +% +%%% sig-alternate.cls is an 'ALTERNATE' document style for producing +%%% two-column camera-ready pages for ACM conferences. +%%% THIS FILE DOES NOT STRICTLY ADHERE TO THE SIGS (BOARD-ENDORSED) +%%% PROCEEDINGS STYLE. It has been designed to produce a 'tighter' +%%% paper in response to concerns over page budgets. +%%% The main features of this style are: +%%% +%%% 1) Two columns. +%%% 2) Side and top margins of 4.5pc, bottom margin of 6pc, column gutter of +%%% 2pc, hence columns are 20pc wide and 55.5pc tall. (6pc =3D 1in, approx) +%%% 3) First page has title information, and an extra 6pc of space at the +%%% bottom of the first column for the ACM copyright notice. +%%% 4) Text is 9pt on 10pt baselines; titles (except main) are 9pt bold. +%%% +%%% +%%% There are a few restrictions you must observe: +%%% +%%% 1) You cannot change the font size; ACM wants you to use 9pt. +%%% 3) You must start your paper with the \maketitle command. Prior to the +%%% \maketitle you must have \title and \author commands. If you have a +%%% \date command it will be ignored; no date appears on the paper, since +%%% the proceedings will have a date on the front cover. +%%% 4) Marginal paragraphs, tables of contents, lists of figures and tables, +%%% and page headings are all forbidden. +%%% 5) The `figure' environment will produce a figure one column wide; if you +%%% want one that is two columns wide, use `figure*'. +%%% +% +%%% Copyright Space: +%%% This style automatically reserves 1" blank space at the bottom of page 1/ +%%% column 1. This space can optionally be filled with some text using the +%%% \toappear{...} command. If used, this command must be BEFORE the \maketitle +%%% command. If this command is defined AND [preprint] is on, then the +%%% space is filled with the {...} text (at the bottom); otherwise, it is +%%% blank. If you use \toappearbox{...} instead of \toappear{...} then a +%%% box will be drawn around the text (if [preprint] is on). +%%% +%%% A typical usage looks like this: +%%% \toappear{To appear in the Ninth AES Conference on Medievil Lithuanian +%%% Embalming Technique, June 1991, Alfaretta, Georgia.} +%%% This will be included in the preprint, and left out of the conference +%%% version. +%%% +%%% WARNING: +%%% Some dvi-ps converters heuristically allow chars to drift from their +%%% true positions a few pixels. This may be noticeable with the 9pt sans-serif +%%% bold font used for section headers. +%%% You may turn this hackery off via the -e option: +%%% dvips -e 0 foo.dvi >foo.ps +%%% +\typeout{Document Class 'sig-alternate' <15th. October '04>. Modified by G.K.M. Tobin/Gerry Murray} +\typeout{Based in part upon document Style `acmconf' <22 May 89>. Hacked 4/91 by} +\typeout{shivers@cs.cmu.edu, 4/93 by theobald@cs.mcgill.ca} +\typeout{Excerpts were taken from (Journal Style) 'esub2acm.cls'.} +\typeout{****** Bugs/comments/suggestions/technicalities to Gerry Murray -- murray@hq.acm.org ******} +\typeout{Questions on the style, SIGS policies, etc. to Adrienne Griscti griscti@acm.org} +\oddsidemargin 4.5pc +\evensidemargin 4.5pc +\advance\oddsidemargin by -1in % Correct for LaTeX gratuitousness +\advance\evensidemargin by -1in % Correct for LaTeX gratuitousness +\marginparwidth 0pt % Margin pars are not allowed. +\marginparsep 11pt % Horizontal space between outer margin and + % marginal note + + % Top of page: +\topmargin 4.5pc % Nominal distance from top of page to top of + % box containing running head. +\advance\topmargin by -1in % Correct for LaTeX gratuitousness +\headheight 0pt % Height of box containing running head. +\headsep 0pt % Space between running head and text. + % Bottom of page: +\footskip 30pt % Distance from baseline of box containing foot + % to baseline of last line of text. +\@ifundefined{footheight}{\newdimen\footheight}{}% this is for LaTeX2e +\footheight 12pt % Height of box containing running foot. + +%% Must redefine the top margin so there's room for headers and +%% page numbers if you are using the preprint option. Footers +%% are OK as is. Olin. +\advance\topmargin by -37pt % Leave 37pt above text for headers +\headheight 12pt % Height of box containing running head. +\headsep 25pt % Space between running head and text. + +\textheight 666pt % 9 1/4 column height +\textwidth 42pc % Width of text line. + % For two-column mode: +\columnsep 2pc % Space between columns +\columnseprule 0pt % Width of rule between columns. +\hfuzz 1pt % Allow some variation in column width, otherwise it's + % too hard to typeset in narrow columns. + +\footnotesep 5.6pt % Height of strut placed at the beginning of every + % footnote =3D height of normal \footnotesize strut, + % so no extra space between footnotes. + +\skip\footins 8.1pt plus 4pt minus 2pt % Space between last line of text and + % top of first footnote. +\floatsep 11pt plus 2pt minus 2pt % Space between adjacent floats moved + % to top or bottom of text page. +\textfloatsep 18pt plus 2pt minus 4pt % Space between main text and floats + % at top or bottom of page. +\intextsep 11pt plus 2pt minus 2pt % Space between in-text figures and + % text. +\@ifundefined{@maxsep}{\newdimen\@maxsep}{}% this is for LaTeX2e +\@maxsep 18pt % The maximum of \floatsep, + % \textfloatsep and \intextsep (minus + % the stretch and shrink). +\dblfloatsep 11pt plus 2pt minus 2pt % Same as \floatsep for double-column + % figures in two-column mode. +\dbltextfloatsep 18pt plus 2pt minus 4pt% \textfloatsep for double-column + % floats. +\@ifundefined{@dblmaxsep}{\newdimen\@dblmaxsep}{}% this is for LaTeX2e +\@dblmaxsep 18pt % The maximum of \dblfloatsep and + % \dbltexfloatsep. +\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be + % 0pt plus ...) +\@fpsep 8pt plus 2fil % Space between floats on float page/column. +\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be + % 0pt plus ... ) +\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...) +\@dblfpsep 8pt plus 2fil % Space between floats on float page. +\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be + % 0pt plus ... ) +\marginparpush 5pt % Minimum vertical separation between two marginal + % notes. + +\parskip 0pt plus 1pt % Extra vertical space between paragraphs. +\parindent 9pt % GM July 2000 / was 0pt - width of paragraph indentation. +\partopsep 2pt plus 1pt minus 1pt% Extra vertical space, in addition to + % \parskip and \topsep, added when user + % leaves blank line before environment. + +\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] +\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] +\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] + +\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. +\@endparpenalty -\@lowpenalty % After a list or paragraph environment. +\@itempenalty -\@lowpenalty % Between list items. + +\@namedef{ds@10pt}{\@latexerr{The `10pt' option is not allowed in the `acmconf' + document style.}\@eha} +\@namedef{ds@11pt}{\@latexerr{The `11pt' option is not allowed in the `acmconf' + document style.}\@eha} +\@namedef{ds@12pt}{\@latexerr{The `12pt' option is not allowed in the `acmconf' + document style.}\@eha} + +\@options + +\lineskip 2pt % \lineskip is 1pt for all font sizes. +\normallineskip 2pt +\def\baselinestretch{1} + +\abovedisplayskip 9pt plus2pt minus4.5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 5.4pt plus3pt minus3pt% +\let\@listi\@listI % Setting of \@listi added 9 Jun 87 + +\def\small{\@setsize\small{9pt}\viiipt\@viiipt +\abovedisplayskip 7.6pt plus 3pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt% +\belowdisplayshortskip 3.6pt plus2pt minus 2pt +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} + +\def\footnotesize{\@setsize\footnotesize{9pt}\ixpt\@ixpt +\abovedisplayskip 6.4pt plus 2pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt% +\belowdisplayshortskip 2.7pt plus 1pt minus 2pt +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} + +\newcount\aucount +\newcount\originalaucount +\newdimen\auwidth +\auwidth=\textwidth +\newdimen\auskip +\newcount\auskipcount +\newdimen\auskip +\global\auskip=1pc +\newdimen\allauboxes +\allauboxes=\auwidth +\newtoks\addauthors +\newcount\addauflag +\global\addauflag=0 %Haven't shown additional authors yet + +\newtoks\subtitletext +\gdef\subtitle#1{\subtitletext={#1}} + +\gdef\additionalauthors#1{\addauthors={#1}} + +\gdef\numberofauthors#1{\global\aucount=#1 +\ifnum\aucount>3\global\originalaucount=\aucount \global\aucount=3\fi %g} +\global\auskipcount=\aucount\global\advance\auskipcount by 1 +\global\multiply\auskipcount by 2 +\global\multiply\auskip by \auskipcount +\global\advance\auwidth by -\auskip +\global\divide\auwidth by \aucount} + +% \and was modified to count the number of authors. GKMT 12 Aug 1999 +\def\alignauthor{% % \begin{tabular} +\end{tabular}% + \begin{tabular}[t]{p{\auwidth}}\centering}% + +% *** NOTE *** NOTE *** NOTE *** NOTE *** +% If you have 'font problems' then you may need +% to change these, e.g. 'arialb' instead of "arialbd". +% Gerry Murray 11/11/1999 +% *** OR ** comment out block A and activate block B or vice versa. +% ********************************************** +% +% -- Start of block A -- (Type 1 or Truetype fonts) +%\newfont{\secfnt}{timesbd at 12pt} % was timenrb originally - now is timesbd +%\newfont{\secit}{timesbi at 12pt} %13 Jan 00 gkmt +%\newfont{\subsecfnt}{timesi at 11pt} % was timenrri originally - now is timesi +%\newfont{\subsecit}{timesbi at 11pt} % 13 Jan 00 gkmt -- was times changed to timesbi gm 2/4/2000 +% % because "normal" is italic, "italic" is Roman +%\newfont{\ttlfnt}{arialbd at 18pt} % was arialb originally - now is arialbd +%\newfont{\ttlit}{arialbi at 18pt} % 13 Jan 00 gkmt +%\newfont{\subttlfnt}{arial at 14pt} % was arialr originally - now is arial +%\newfont{\subttlit}{ariali at 14pt} % 13 Jan 00 gkmt +%\newfont{\subttlbf}{arialbd at 14pt} % 13 Jan 00 gkmt +%\newfont{\aufnt}{arial at 12pt} % was arialr originally - now is arial +%\newfont{\auit}{ariali at 12pt} % 13 Jan 00 gkmt +%\newfont{\affaddr}{arial at 10pt} % was arialr originally - now is arial +%\newfont{\affaddrit}{ariali at 10pt} %13 Jan 00 gkmt +%\newfont{\eaddfnt}{arial at 12pt} % was arialr originally - now is arial +%\newfont{\ixpt}{times at 9pt} % was timenrr originally - now is times +%\newfont{\confname}{timesi at 8pt} % was timenrri - now is timesi +%\newfont{\crnotice}{times at 8pt} % was timenrr originally - now is times +%\newfont{\ninept}{times at 9pt} % was timenrr originally - now is times + +% ********************************************* +% -- End of block A -- +% +% +% -- Start of block B -- METAFONT +% +++++++++++++++++++++++++++++++++++++++++++++ +% Next (default) block for those using Metafont +% Gerry Murray 11/11/1999 +% *** THIS BLOCK FOR THOSE USING METAFONT ***** +% ********************************************* +\newfont{\secfnt}{ptmb at 12pt} +\newfont{\secit}{ptmbi at 12pt} %13 Jan 00 gkmt +\newfont{\subsecfnt}{ptmri at 11pt} +\newfont{\subsecit}{ptmbi at 11pt} % 13 Jan 00 gkmt -- was ptmr changed to ptmbi gm 2/4/2000 + % because "normal" is italic, "italic" is Roman +\newfont{\ttlfnt}{phvb at 18pt} +\newfont{\ttlit}{phvbo at 18pt} % GM 2/4/2000 +\newfont{\subttlfnt}{phvr at 14pt} +\newfont{\subttlit}{phvro at 14pt} % GM 2/4/2000 +\newfont{\subttlbf}{phvb at 14pt} % 13 Jan 00 gkmt +\newfont{\aufnt}{phvr at 12pt} +\newfont{\auit}{phvro at 12pt} % GM 2/4/2000 +\newfont{\affaddr}{phvr at 10pt} +\newfont{\affaddrit}{phvro at 10pt} % GM 2/4/2000 +\newfont{\eaddfnt}{phvr at 12pt} +\newfont{\ixpt}{ptmr at 9pt} +\newfont{\confname}{ptmri at 8pt} +\newfont{\crnotice}{ptmr at 8pt} +\newfont{\ninept}{ptmr at 9pt} +% +++++++++++++++++++++++++++++++++++++++++++++ +% -- End of block B -- + + +\def\email#1{{{\eaddfnt{\vskip 4pt#1}}}} + +\def\addauthorsection{\ifnum\originalaucount>3 + \section{Additional Authors}\the\addauthors + \fi} + +\newcount\savesection +\newcount\sectioncntr +\global\sectioncntr=1 + +\setcounter{secnumdepth}{3} + +\def\appendix{\par +\section*{APPENDIX} +\setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}} } + +\leftmargini 22.5pt +\leftmarginii 19.8pt % > \labelsep + width of '(m)' +\leftmarginiii 16.8pt % > \labelsep + width of 'vii.' +\leftmarginiv 15.3pt % > \labelsep + width of 'M.' +\leftmarginv 9pt +\leftmarginvi 9pt + +\leftmargin\leftmargini +\labelsep 4.5pt +\labelwidth\leftmargini\advance\labelwidth-\labelsep + +\def\@listI{\leftmargin\leftmargini \parsep 3.6pt plus 2pt minus 1pt% +\topsep 7.2pt plus 2pt minus 4pt% +\itemsep 3.6pt plus 2pt minus 1pt} + +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 3.6pt plus 2pt minus 1pt + \parsep 1.8pt plus 0.9pt minus 0.9pt + \itemsep \parsep} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1.8pt plus 0.9pt minus 0.9pt + \parsep \z@ \partopsep 1pt plus 0pt minus 1pt + \itemsep \topsep} + +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} + +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} + +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\def\labelenumi{\theenumi.} +\def\theenumi{\arabic{enumi}} + +\def\labelenumii{(\theenumii)} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} + +\def\labelenumiii{\theenumiii.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} + +\def\labelenumiv{\theenumiv.} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} + +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} + +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse\endlist + +\def\quotation{\list{}{\listparindent 1.5em + \itemindent\listparindent + \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]} +\let\endquotation=\endlist + +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +\def\descriptionlabel#1{\hspace\labelsep \bf #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + +\let\enddescription\endlist + +\def\theequation{\arabic{equation}} + +\arraycolsep 4.5pt % Half the space between columns in an array environment. +\tabcolsep 5.4pt % Half the space between columns in a tabular environment. +\arrayrulewidth .4pt % Width of rules in array and tabular environment. +\doublerulesep 1.8pt % Space between adjacent rules in array or tabular env. + +\tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.) + +\skip\@mpfootins =\skip\footins + +\fboxsep =2.7pt % Space left between box and text by \fbox and \framebox. +\fboxrule =.4pt % Width of rules in box made by \fbox and \framebox. + +\def\thepart{\Roman{part}} % Roman numeral part numbers. +\def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +%\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} % GM 7/30/2002 +%\def\theparagraph {\thesubsubsection.\arabic{paragraph}} % GM 7/30/2002 +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{3} + +\def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not + allowed in the `acmconf' document style.}\@eha} + +\def\l@part#1#2{\addpenalty{\@secpenalty} + \addvspace{2.25em plus 1pt} % space above part line + \begingroup + \@tempdima 3em % width of box holding part number, used by + \parindent \z@ \rightskip \@pnumwidth %% \numberline + \parfillskip -\@pnumwidth + {\large \bf % set line in \large boldface + \leavevmode % TeX command to enter horizontal mode. + #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak % Never break after part entry + \endgroup} + +\def\l@section#1#2{\addpenalty{\@secpenalty} % good place for page break + \addvspace{1.0em plus 1pt} % space above toc entry + \@tempdima 1.5em % width of box holding section number + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \bf % Boldface. + \leavevmode % TeX command to enter horizontal mode. + \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to + \hskip -\leftskip %% 25 Jan 88 change to \numberline + #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par + \endgroup} + + +\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} + +\def\listoffigures{\@latexerr{\listoffigures: Lists of figures are not + allowed in the `acmconf' document style.}\@eha} + +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} + +\def\listoftables{\@latexerr{\listoftables: Lists of tables are not + allowed in the `acmconf' document style.}\@eha} +\let\l@table\l@figure + +\def\footnoterule{\kern-3\p@ + \hrule width .4\columnwidth + \kern 2.6\p@} % The \hrule has default height of .4pt . +% ------ +\long\def\@makefntext#1{\noindent +%\hbox to .5em{\hss$^{\@thefnmark}$}#1} % original +\hbox to .5em{\hss\textsuperscript{\@thefnmark}}#1} % C. Clifton / GM Oct. 2nd. 2002 +% ------- + +\long\def\@maketntext#1{\noindent +#1} + +\long\def\@maketitlenotetext#1#2{\noindent + \hbox to 1.8em{\hss$^{#1}$}#2} + +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +% +\long\def\@makecaption#1#2{ + \vskip \baselineskip + \setbox\@tempboxa\hbox{\textbf{#1: #2}} + \ifdim \wd\@tempboxa >\hsize % IF longer than one line: + \textbf{#1: #2}\par % THEN set as ordinary paragraph. + \else % ELSE center. + \hbox to\hsize{\hfil\box\@tempboxa\hfil}\par + \fi} + +% + +\long\def\@makecaption#1#2{ + \vskip 10pt + \setbox\@tempboxa\hbox{\textbf{#1: #2}} + \ifdim \wd\@tempboxa >\hsize % IF longer than one line: + \textbf{#1: #2}\par % THEN set as ordinary paragraph. + \else % ELSE center. + \hbox to\hsize{\hfil\box\@tempboxa\hfil} + \fi} + +\@ifundefined{figure}{\newcounter {figure}} % this is for LaTeX2e + +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Figure \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +\@ifundefined{table}{\newcounter {table}} % this is for LaTeX2e + +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + +\newtoks\titleboxnotes +\newcount\titleboxnoteflag + +\def\maketitle{\par + \begingroup + \def\thefootnote{\fnsymbol{footnote}} + \def\@makefnmark{\hbox + to 0pt{$^{\@thefnmark}$\hss}} + \twocolumn[\@maketitle] +\@thanks + \endgroup + \setcounter{footnote}{0} + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}\let\thanks\relax + \@copyrightspace} + +%% CHANGES ON NEXT LINES +\newif\if@ll % to record which version of LaTeX is in use + +\expandafter\ifx\csname LaTeXe\endcsname\relax % LaTeX2.09 is used +\else% LaTeX2e is used, so set ll to true +\global\@lltrue +\fi + +\if@ll + \NeedsTeXFormat{LaTeX2e} + \ProvidesClass{sig-alternate} [2004/15/10 - V1.7 - based on acmproc.cls V1.3 <Nov. 30 '99>] + \RequirePackage{latexsym}% QUERY: are these two really needed? + \let\dooptions\ProcessOptions +\else + \let\dooptions\@options +\fi +%% END CHANGES + +\def\@height{height} +\def\@width{width} +\def\@minus{minus} +\def\@plus{plus} +\def\hb@xt@{\hbox to} +\newif\if@faircopy +\@faircopyfalse +\def\ds@faircopy{\@faircopytrue} + +\def\ds@preprint{\@faircopyfalse} + +\@twosidetrue +\@mparswitchtrue +\def\ds@draft{\overfullrule 5\p@} +%% CHANGE ON NEXT LINE +\dooptions + +\lineskip \p@ +\normallineskip \p@ +\def\baselinestretch{1} +\def\@ptsize{0} %needed for amssymbols.sty + +%% CHANGES ON NEXT LINES +\if@ll% allow use of old-style font change commands in LaTeX2e +\@maxdepth\maxdepth +% +\DeclareOldFontCommand{\rm}{\ninept\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}} +\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}} +\fi +% +\if@ll + \renewcommand{\rmdefault}{cmr} % was 'ttm' +% Note! I have also found 'mvr' to work ESPECIALLY well. +% Gerry - October 1999 +% You may need to change your LV1times.fd file so that sc is +% mapped to cmcsc - -for smallcaps -- that is if you decide +% to change {cmr} to {times} above. (Not recommended) + \renewcommand{\@ptsize}{} + \renewcommand{\normalsize}{% + \@setfontsize\normalsize\@ixpt{10.5\p@}%\ninept% + \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@ + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 6\p@ \@minus 3\p@ + \belowdisplayshortskip 6\p@ \@minus 3\p@ + \let\@listi\@listI + } +\else + \def\@normalsize{%changed next to 9 from 10 + \@setsize\normalsize{9\p@}\ixpt\@ixpt + \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@ + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 6\p@ \@minus 3\p@ + \belowdisplayshortskip 6\p@ \@minus 3\p@ + \let\@listi\@listI + }% +\fi +\if@ll + \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8\p@}} + \newcommand\tiny{\@setfontsize\tiny\@vpt{6\p@}} + \newcommand\large{\@setfontsize\large\@xiipt{14\p@}} + \newcommand\Large{\@setfontsize\Large\@xivpt{18\p@}} + \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{20\p@}} + \newcommand\huge{\@setfontsize\huge\@xxpt{25\p@}} + \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30\p@}} +\else + \def\scriptsize{\@setsize\scriptsize{8\p@}\viipt\@viipt} + \def\tiny{\@setsize\tiny{6\p@}\vpt\@vpt} + \def\large{\@setsize\large{14\p@}\xiipt\@xiipt} + \def\Large{\@setsize\Large{18\p@}\xivpt\@xivpt} + \def\LARGE{\@setsize\LARGE{20\p@}\xviipt\@xviipt} + \def\huge{\@setsize\huge{25\p@}\xxpt\@xxpt} + \def\Huge{\@setsize\Huge{30\p@}\xxvpt\@xxvpt} +\fi +\normalsize + +% make aubox hsize/number of authors up to 3, less gutter +% then showbox gutter showbox gutter showbox -- GKMT Aug 99 +\newbox\@acmtitlebox +\def\@maketitle{\newpage + \null + \setbox\@acmtitlebox\vbox{% +\baselineskip 20pt +\vskip 2em % Vertical space above title. + \begin{center} + {\ttlfnt \@title\par} % Title set in 18pt Helvetica (Arial) bold size. + \vskip 1.5em % Vertical space after title. +%This should be the subtitle. +{\subttlfnt \the\subtitletext\par}\vskip 1.25em%\fi + {\baselineskip 16pt\aufnt % each author set in \12 pt Arial, in a + \lineskip .5em % tabular environment + \begin{tabular}[t]{c}\@author + \end{tabular}\par} + \vskip 1.5em % Vertical space after author. + \end{center}} + \dimen0=\ht\@acmtitlebox + \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT + \unvbox\@acmtitlebox + \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi} + + +\newcount\titlenotecount +\global\titlenotecount=0 +\newtoks\tntoks +\newtoks\tntokstwo +\newtoks\tntoksthree +\newtoks\tntoksfour +\newtoks\tntoksfive + +\def\abstract{ +\ifnum\titlenotecount>0 % was =1 + \insert\footins{% + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + }% + \color@begingroup +\ifnum\titlenotecount=1 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=2 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=3 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=4 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=5 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\P$}\rule\z@\footnotesep\ignorespaces\the\tntoksfive\@finalstrut\strutbox}% +\fi + \color@endgroup} %g} +\fi +\setcounter{footnote}{0} +\section*{ABSTRACT}\normalsize%\ninept +} + +\def\endabstract{\if@twocolumn\else\endquotation\fi} + +\def\keywords{\if@twocolumn +\section*{Keywords} +\else \small +\quotation +\fi} + +\def\terms{\if@twocolumn +\section*{General Terms} +\else \small +\quotation +\fi} + +% -- Classification needs to be a bit smart due to optionals - Gerry/Georgia November 2nd. 1999 +\newcount\catcount +\global\catcount=1 + +\def\category#1#2#3{% +\ifnum\catcount=1 +\section*{Categories and Subject Descriptors} +\advance\catcount by 1\else{\unskip; }\fi + \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}% +} + +\def\@category#1#2#3[#4]{% + \begingroup + \let\and\relax + #1 [\textbf{#2}]% + \if!#4!% + \if!#3!\else : #3\fi + \else + :\space + \if!#3!\else #3\kern\z@---\hskip\z@\fi + \textit{#4}% + \fi + \endgroup +} +% + +%%% This section (written by KBT) handles the 1" box in the lower left +%%% corner of the left column of the first page by creating a picture, +%%% and inserting the predefined string at the bottom (with a negative +%%% displacement to offset the space allocated for a non-existent +%%% caption). +%%% +\newtoks\copyrightnotice +\def\ftype@copyrightbox{8} +\def\@copyrightspace{ +\@float{copyrightbox}[b] +\begin{center} +\setlength{\unitlength}{1pc} +\begin{picture}(20,6) %Space for copyright notice +\put(0,-0.95){\crnotice{\@toappear}} +\end{picture} +\end{center} +\end@float} + +\def\@toappear{} % Default setting blank - commands below change this. +\long\def\toappear#1{\def\@toappear{\parbox[b]{20pc}{\baselineskip 9pt#1}}} +\def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}} + +\newtoks\conf +\newtoks\confinfo +\def\conferenceinfo#1#2{\global\conf={#1}\global\confinfo{#2}} + + +\def\marginpar{\@latexerr{The \marginpar command is not allowed in the + `acmconf' document style.}\@eha} + +\mark{{}{}} % Initializes TeX's marks + +\def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} + +\def\@begintheorem#1#2{% + \parskip 0pt % GM July 2000 (for tighter spacing) + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {{\sc #1}\hskip 5\p@\relax#2.}% + ] + \it +} +\def\@opargbegintheorem#1#2#3{% + \parskip 0pt % GM July 2000 (for tighter spacing) + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\sc #1\ #2\ % This mod by Gerry to enumerate corollaries + \setbox\@tempboxa\hbox{(#3)} % and bracket the 'corollary title' + \ifdim \wd\@tempboxa>\z@ % and retain the correct numbering of e.g. theorems + \hskip 5\p@\relax % if they occur 'around' said corollaries. + \box\@tempboxa % Gerry - Nov. 1999. + \fi.}% + ] + \it +} +\newif\if@qeded +\global\@qededfalse + +% -- original +%\def\proof{% +% \vspace{-\parskip} % GM July 2000 (for tighter spacing) +% \global\@qededfalse +% \@ifnextchar[{\@xproof}{\@proof}% +%} +% -- end of original + +% (JSS) Fix for vertical spacing bug - Gerry Murray July 30th. 2002 +\def\proof{% +\vspace{-\lastskip}\vspace{-\parsep}\penalty-51% +\global\@qededfalse +\@ifnextchar[{\@xproof}{\@proof}% +} + +\def\endproof{% + \if@qeded\else\qed\fi + \endtrivlist +} +\def\@proof{% + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\sc Proof.}% + ] + \ignorespaces +} +\def\@xproof[#1]{% + \trivlist + \item[\hskip 10\p@\hskip \labelsep{\sc Proof #1.}]% + \ignorespaces +} +\def\qed{% + \unskip + \kern 10\p@ + \begingroup + \unitlength\p@ + \linethickness{.4\p@}% + \framebox(6,6){}% + \endgroup + \global\@qededtrue +} + +\def\newdef#1#2{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% + \global\@namedef{#1}{\@defthm{#1}{#2}}% + \global\@namedef{end#1}{\@endtheorem}% + }% +} +\def\@defthm#1#2{% + \refstepcounter{#1}% + \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}% +} +\def\@xdefthm#1#2{% + \@begindef{#2}{\csname the#1\endcsname}% + \ignorespaces +} +\def\@ydefthm#1#2[#3]{% + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\it #2% + \savebox\@tempboxa{#3}% + \ifdim \wd\@tempboxa>\z@ + \ \box\@tempboxa + \fi.% + }]% + \ignorespaces +} +\def\@begindef#1#2{% + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\it #1\ \rm #2.}% + ]% +} +\def\theequation{\arabic{equation}} + +\newcounter{part} +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\def\thepart{\Roman{part}} +\def\thesection{\arabic{section}} +\def\thesubsection{\thesection.\arabic{subsection}} +\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} %removed \subsecfnt 29 July 2002 gkmt +\def\theparagraph{\thesubsubsection.\arabic{paragraph}} %removed \subsecfnt 29 July 2002 gkmt +\newif\if@uchead +\@ucheadfalse + +%% CHANGES: NEW NOTE +%% NOTE: OK to use old-style font commands below, since they were +%% suitably redefined for LaTeX2e +%% END CHANGES +\setcounter{secnumdepth}{3} +\def\part{% + \@startsection{part}{9}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@} + {4\p@}{\normalsize\@ucheadtrue}% +} +\def\section{% + \@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}% GM + {4\p@}{\baselineskip 14pt\secfnt\@ucheadtrue}% +} + +\def\subsection{% + \@startsection{subsection}{2}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@} + {4\p@}{\secfnt}% +} +\def\subsubsection{% + \@startsection{subsubsection}{3}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@}% + {4\p@}{\subsecfnt}% +} +\def\paragraph{% + \vskip 12pt\@startsection{paragraph}{3}{\z@}{6\p@ \@plus \p@}% + {-5\p@}{\subsecfnt}% +} +\let\@period=. +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec %gkmt, 11 aug 99 + \global\let\@period\@empty + \leavevmode + \global\let\@period.% + \fi + \par % + \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa + \@afterindentfalse + \fi + \if@nobreak + \everypar{}% + \else + \addpenalty\@secpenalty + \addvspace\@tempskipa + \fi +\parskip=0pt % GM July 2000 (non numbered) section heads + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}} + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% +} +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \edef\@svsec{% + \begingroup + %\ifnum#2>2 \noexpand\rm \fi % changed to next 29 July 2002 gkmt + \ifnum#2>2 \noexpand#6 \fi + \csname the#1\endcsname + \endgroup + \ifnum #2=1\relax .\fi + \hskip 1em + }% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup + #6\relax + \@hangfrom{\hskip #3\relax\@svsec}% + \begingroup + \interlinepenalty \@M + \if@uchead + \uppercase{#8}% + \else + #8% + \fi + \par + \endgroup + \endgroup + \csname #1mark\endcsname{#7}% + \vskip -12pt %gkmt, 11 aug 99 and GM July 2000 (was -14) - numbered section head spacing +\addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7% + }% + \else + \def\@svsechd{% + #6% + \hskip #3\relax + \@svsec + \if@uchead + \uppercase{#8}% + \else + #8% + \fi + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7% + }% + }% + \fi + \@xsect{#5}\hskip 1pt + \par +} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par + \nobreak + \vskip \@tempskipa + \@afterheading + \else + \global\@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + \clubpenalty\@M + \hskip -\parindent + \begingroup + \@svsechd + \@period + \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi + }% + \fi + \ignorespaces +} +\def\@trivlist{% + \@topsepadd\topsep + \if@noskipsec + \global\let\@period\@empty + \leavevmode + \global\let\@period.% + \fi + \ifvmode + \advance\@topsepadd\partopsep + \else + \unskip + \par + \fi + \if@inlabel + \@noparitemtrue + \@noparlisttrue + \else + \@noparlistfalse + \@topsep\@topsepadd + \fi + \advance\@topsep \parskip + \leftskip\z@skip + \rightskip\@rightskip + \parfillskip\@flushglue + \@setpar{\if@newlist\else{\@@par}\fi} + \global\@newlisttrue + \@outerparskip\parskip +} + +%%% Actually, 'abbrev' works just fine as the default +%%% Bibliography style. + +\typeout{Using 'Abbrev' bibliography style} +\newcommand\bibyear[2]{% + \unskip\quad\ignorespaces#1\unskip + \if#2..\quad \else \quad#2 \fi +} +\newcommand{\bibemph}[1]{{\em#1}} +\newcommand{\bibemphic}[1]{{\em#1\/}} +\newcommand{\bibsc}[1]{{\sc#1}} +\def\@normalcite{% + \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}% +} +\def\@citeNB{% + \def\@cite##1##2{##1\if@tempswa , ##2\fi}% +} +\def\@citeRB{% + \def\@cite##1##2{##1\if@tempswa , ##2\fi]}% +} +\def\start@cite#1#2{% + \edef\citeauthoryear##1##2##3{% + ###1% + \ifnum#2=\z@ \else\ ###2\fi + }% + \ifnum#1=\thr@@ + \let\@@cite\@citeyear + \else + \let\@@cite\@citenormal + \fi + \@ifstar{\@citeNB\@@cite}{\@normalcite\@@cite}% +} +\def\cite{\start@cite23} +\def\citeNP{\cite*} +\def\citeA{\start@cite10} +\def\citeANP{\citeA*} +\def\shortcite{\start@cite23} +\def\shortciteNP{\shortcite*} +\def\shortciteA{\start@cite20} +\def\shortciteANP{\shortciteA*} +\def\citeyear{\start@cite30} +\def\citeyearNP{\citeyear*} +\def\citeN{% + \@citeRB + \def\citeauthoryear##1##2##3{##1\ [##3% + \def\reserved@a{##1}% + \def\citeauthoryear####1####2####3{% + \def\reserved@b{####1}% + \ifx\reserved@a\reserved@b + ####3% + \else + \errmessage{Package acmart Error: author mismatch + in \string\citeN^^J^^J% + See the acmart package documentation for explanation}% + \fi + }% + }% + \@ifstar\@citeyear\@citeyear +} +\def\shortciteN{% + \@citeRB + \def\citeauthoryear##1##2##3{##2\ [##3% + \def\reserved@a{##2}% + \def\citeauthoryear####1####2####3{% + \def\reserved@b{####2}% + \ifx\reserved@a\reserved@b + ####3% + \else + \errmessage{Package acmart Error: author mismatch + in \string\shortciteN^^J^^J% + See the acmart package documentation for explanation}% + \fi + }% + }% + \@ifstar\@citeyear\@citeyear % GM July 2000 +} +\def\@citenormal{% + \@ifnextchar [{\@tempswatrue\@citex;} + {\@tempswafalse\@citex,[]}% % GM July 2000 +} +\def\@citeyear{% + \@ifnextchar [{\@tempswatrue\@citex,}% + {\@tempswafalse\@citex,[]}% +} +\def\@citex#1[#2]#3{% + \let\@citea\@empty + \@cite{% + \@for\@citeb:=#3\do{% + \@citea + \def\@citea{#1 }% + \edef\@citeb{\expandafter\@iden\@citeb}% + \if@filesw + \immediate\write\@auxout{\string\citation{\@citeb}}% + \fi + \@ifundefined{b@\@citeb}{% + {\bf ?}% + \@warning{% + Citation `\@citeb' on page \thepage\space undefined% + }% + }% + {\csname b@\@citeb\endcsname}% + }% + }{#2}% +} +\let\@biblabel\@gobble +\newdimen\bibindent +\setcounter{enumi}{1} +\bibindent=0em +\def\thebibliography#1{% \ifnum\addauflag=0\addauthorsection\global\addauflag=1\fi + \section[References]{% <=== OPTIONAL ARGUMENT ADDED HERE + {References} % was uppercased but this affects pdf bookmarks (SP/GM October 2004) + \vskip -9pt % GM July 2000 (for tighter spacing) + \@mkboth{{\refname}}{{\refname}}% + }% + \list{[\arabic{enumi}]}{% + \settowidth\labelwidth{[#1]}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \advance\leftmargin\bibindent + \parsep=0pt\itemsep=1pt % GM July 2000 + \itemindent -\bibindent + \listparindent \itemindent + \usecounter{enumi} + }% + \let\newblock\@empty + \raggedright % GM July 2000 + \sloppy + \sfcode`\.=1000\relax +} + + +\gdef\balancecolumns +{\vfill\eject +\global\@colht=\textheight +\global\ht\@cclv=\textheight +} + +\newcount\colcntr +\global\colcntr=0 +\newbox\savebox + +\gdef \@makecol {% +\global\advance\colcntr by 1 +\ifnum\colcntr>2 \global\colcntr=1\fi + \ifvoid\footins + \setbox\@outputbox \box\@cclv + \else + \setbox\@outputbox \vbox{% +\boxmaxdepth \@maxdepth + \@tempdima\dp\@cclv + \unvbox \@cclv + \vskip-\@tempdima + \vskip \skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + }% + \fi + \xdef\@freelist{\@freelist\@midlist}% + \global \let \@midlist \@empty + \@combinefloats + \ifvbox\@kludgeins + \@makespecialcolbox + \else + \setbox\@outputbox \vbox to\@colht {% +\@texttop + \dimen@ \dp\@outputbox + \unvbox \@outputbox + \vskip -\dimen@ + \@textbottom + }% + \fi + \global \maxdepth \@maxdepth +} +\def\titlenote{\@ifnextchar[\@xtitlenote{\stepcounter\@mpfn +\global\advance\titlenotecount by 1 +\ifnum\titlenotecount=1 + \raisebox{9pt}{$\ast$} +\fi +\ifnum\titlenotecount=2 + \raisebox{9pt}{$\dagger$} +\fi +\ifnum\titlenotecount=3 + \raisebox{9pt}{$\ddagger$} +\fi +\ifnum\titlenotecount=4 +\raisebox{9pt}{$\S$} +\fi +\ifnum\titlenotecount=5 +\raisebox{9pt}{$\P$} +\fi + \@titlenotetext +}} + +\long\def\@titlenotetext#1{\insert\footins{% +\ifnum\titlenotecount=1\global\tntoks={#1}\fi +\ifnum\titlenotecount=2\global\tntokstwo={#1}\fi +\ifnum\titlenotecount=3\global\tntoksthree={#1}\fi +\ifnum\titlenotecount=4\global\tntoksfour={#1}\fi +\ifnum\titlenotecount=5\global\tntoksfive={#1}\fi + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + }% + \color@begingroup + \color@endgroup}} + +%%%%%%%%%%%%%%%%%%%%%%%%% +\ps@plain +\baselineskip=11pt +\let\thepage\relax % For NO page numbers - GM Nov. 30th. 1999 and July 2000 +\def\setpagenumber#1{\global\setcounter{page}{#1}} +%\pagenumbering{arabic} % Arabic page numbers GM July 2000 +\twocolumn % Double column. +\flushbottom % Even bottom -- alas, does not balance columns at end of document +\pagestyle{plain} + +% Need Copyright Year and Copyright Data to be user definable (in .tex file). +% Gerry Nov. 30th. 1999 +\newtoks\copyrtyr +\newtoks\acmcopyr +\newtoks\boilerplate +\global\acmcopyr={X-XXXXX-XX-X/XX/XX} % Default - 5/11/2001 *** Gerry +\global\copyrtyr={200X} % Default - 3/3/2003 *** Gerry +\def\CopyrightYear#1{\global\copyrtyr{#1}} +\def\crdata#1{\global\acmcopyr{#1}} +\def\permission#1{\global\boilerplate{#1}} +% +\global\boilerplate={Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.} +\newtoks\copyrightetc +\global\copyrightetc{Copyright \the\copyrtyr\ \the\acmcopyr} + +\toappear{\the\boilerplate\par +{\confname{\the\conf}} \the\confinfo\par \the\copyrightetc} +% +%% End of sig-alternate.cls -- V1.7 - 10/15/2004 -- +%% Gerry Murray -- Wednesday October 15th. 2004
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nime2012/mtriange.tex Mon Jan 23 14:02:17 2012 +0000 @@ -0,0 +1,43 @@ +\documentclass{NIME-alternate} % [dvips] ?? +\newcommand{\comment}[1] {} +\usepackage{multirow,url,tools} +\usepackage[ps,dvips,all]{xy} +%\usepackage[psamsfonts]{amsfonts} +% \DeclareMathAlphabet\CMcal{OMS}{cmsy}{m}{n} +%% \SetMathAlphabet\CMcal{bold}{OT1}{cmsy}{m}{n} +% \renewcommand{\mathcal}{\CMcal} +\newcommand{\colfig}[2][1]{\includegraphics[width=#1\linewidth]{figs/#2}}% +%\let\expect=\avg + +\CopyrightYear{2008} %will cause 2008 to appear in the copyright line. +\crdata{Copyright remains with the author(s).} +\conferenceinfo{NIME12,}{ Somewhere} + + +\title{The Melody Triangle} +\numberofauthors{2} +\author{ + \alignauthor Henrik Ekeus (1), Samer Abdallah (1)\\ + \affaddr{(1) Centre for Digital Music}\\ + \affaddr{Queen Mary, Univ. of London} +} + +\begin{document} +\maketitle +\begin{abstract} + +This is the abstract. +\end{abstract} +\keywords{Information dynamics, Markov chains, Collaborative performance, Aleatoric composition} + +\section{Introduction} + +Intro\dots + + +\section{acknowledgments} +This work was partly supported by two EPSRC grants: GR/S82213/01 and EP/E045235/1. A. Robertson and J.-B. Thiebaut are supported by EPSRC Research studentships. + +\bibliographystyle{plain} +{\bibliography{thebib}} +\end{document}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nime2012/tools.sty Mon Jan 23 14:02:17 2012 +0000 @@ -0,0 +1,234 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tools}[2007/12/25 v1.1 Samer's general LaTeX tools] +\DeclareOption{detbar}{\def\detbar{y}} +\DeclareOption{innerparen}{\def\inneropt{paren}} +\DeclareOption{innerdot}{\def\inneropt{dot}} +\DeclareOption{innermat}{\def\inneropt{mat}} +\DeclareOption{nodesc}{\def\nodesc{y}} +\ExecuteOptions{innerparen} +\ProcessOptions + +\providecommand{\comment}[1] {} +\usepackage{xspace,units,array,amsmath,graphicx} +\ifx\ifpdf\undefined + \usepackage{ifpdf} +\fi +\ifpdf + \usepackage{epstopdf} +\else +\fi + +% PSTricks things +%\usepackage{pstcol,pstricks,pst-node,pst-plot} +%\psset{linewidth=0.4pt,labelsep=3pt,dotsize=1.2mm,% +% arrowsize=2pt 2.5,arrowlength=1,arrowinset=0.2,% +% gridwidth=0.4pt,griddots=10,subgriddiv=1,gridlabels=7pt,gridcolor=gray} + +\let\oldS=\S +\newcommand{\sect}[1] {$\oldS\,#1$} +\newcommand{\shim}[2] {\hspace{#1mm plus #2mm}} +\newcommand{\ie} {i.e.\@\xspace} +\newcommand{\vrs} {vs.\@\xspace} +\newcommand{\eg} {e.g.\@\xspace} +\newcommand{\etc} {etc.\@\xspace} +\newcommand{\latin}[1] {\emph{#1}\xspace} +\newcommand{\figrf}[1] {fig.~\ref{f:#1}} +\newcommand{\Figrf}[1] {Fig.~\ref{f:#1}} +%\newcommand{\eqrf}[1] {eq.~\ref{eq:#1}} +\newcommand{\eqrf}[1] {(\ref{eq:#1})} +\newcommand{\secrf}[1] {\sect{\ref{s:#1}}} +\newcommand{\chaprf}[1] {Chapter~\ref{ch:#1}} +\newcommand{\ed}[1] {\texttt{[#1]}} +\newcommand{\role} {role\xspace}%{r\^{o}le\xspace} +\newcommand{\naive} {naive\xspace} +\newcommand{\german}[1] {\emph{#1}} +\newcommand{\degr}[1] {$#1^\circ$} +%\newcommand{\nth}[1] {$#1$\hskip 0.1ex th\xspace} +\newcommand{\nth}[1] {$#1$\hspace*{0.2ex}\raisebox{0.35em}{\scriptsize th}\xspace} +\newcommand{\textnth}[1]{#1\hskip 0.2ex \raisebox{0.35em}{\scriptsize th}\xspace} +\newcommand{\const}{\text{const.}} +\newcommand{\D}[1] {$#1$-D\xspace} +\newcommand{\sh} {$\sharp$} +\newcommand{\fl} {$\flat$} +\newcommand{\Hmax}{H_\mathrm{max}} +\newcommand{\Imax}{I_\mathrm{max}} + +% centred dot with space either side for separating things +%\def\nicedot{\hspace{0.7em}\textperiodcentered\hspace{0.7em}} +\newlength\nicedotspace +\setlength\nicedotspace{0.6em plus 0.1em minus 0.2em} +\def\nicedot{\hspace{\nicedotspace}\textperiodcentered\hspace{\nicedotspace}} + +%\newcommand{\margnote}[1] {\marginpar{\raggedright\itshape\small#1}} + +% names +\newcommand{\Hyvarinen}{Hyv\"arinen\xspace} +\newcommand{\Kohler}{K\"ohler\xspace} +\newcommand{\Pragnanz}{Pr\"{a}gnanz\xspace} + +% environments +\ifx\nodesc\undefined + \renewenvironment{description} + {\begin{list}{}{% + \setlength{\labelwidth}{1.5em} + \setlength{\leftmargin}{1.5em} + \let\makelabel\descriptionlabel + }} + {\end{list}} +\fi + +\newenvironment{smallquote} + { \begin{quote} \small} + { \end{quote}} + +\providecommand{\figplacement}{tbp} +\newenvironment{fig}[2][\figplacement] + {% + \newcommand{\bbfig}[1]{\begin{figure}[##1]} + \expandafter\bbfig\expandafter{#1} + \def\fglbl{f:#2} + \let\ocap=\caption + \renewcommand{\caption}[2][]{\ocap[##1]{\small ##2}} + \centering\small + }{% + \label{\fglbl} + \end{figure} + } + +\newenvironment{fig*}[2][\figplacement] + {% + \newcommand{\bbfig}[1]{\begin{figure*}[##1]} + \expandafter\bbfig\expandafter{#1} + \def\figlabel{f:#2} + \let\ocap=\caption + \renewcommand{\caption}[2][]{\ocap[##1]{\small ##2}} + \centering\small + }{% + \label{\figlabel} + \end{figure*} + } + +\newenvironment{eq}[1] + {\begin{equation}\def\eqlabel{eq:#1}} + {\label{\eqlabel}\end{equation}}% + + + + +% ------------- standard mathematics ----------------- + +% --- calculus +\let\oldint\int \def\int#1\dd{\oldint#1\;\dd} +\let\oldiint\iint \def\iint#1\dd#2\dd{\oldiint#1\;\dd#2\;\dd} +\let\oldiiint\iiint \def\iiint#1\dd#2\dd#3\dd{\oldiiint#1\;\dd#2\;\dd#3\;\dd} +\newcommand{\infint}[2] {\int_{-\infty}^\infty#2\dd#1} +\newcommand{\partiald}[2] {\frac{\partial#1}{\partial#2}} +\newcommand{\pd}[2] {\dfrac{\partial#1}{\partial#2}} +\newcommand{\dd} {\mathrm{d}} +\newcommand{\hdbyd}[2][] {\dd{#1}/\dd{#2}} +\newcommand{\dbyd}[2][] {\frac{\dd#1}{\dd#2}} +\newcommand{\dbydt}[1] {\frac{\dd#1}{\dd t}} +\newcommand{\hpd}[2] {{\partial#1}/{\partial#2}} +\newcommand{\grad} {\boldsymbol{\nabla}} +\newcommand{\hfrac}[2] {#1/#2} +\newcommand{\hpfrac}[2] {(#1/#2)} + +% --- statistics +\newcommand{\savg}[2][] {% + \def\sub{#1} % optional subscript + \ifx\sub\empty {\langle #2 \rangle} + \else {\langle #2 \rangle}_{#1} + \fi} + +\newcommand{\avg}[2][] {% + \def\sub{#1} % optional subscript + \ifx\sub\empty {\left\langle #2 \right\rangle} + \else {\left\langle #2 \right\rangle}_{#1} + \fi} + +\newcommand{\expect}[2][] {% + \def\sub{#1} % optional subscript + \ifx\sub\empty \operatorname{E} \, #2 + \else \operatorname{E}_{#1} #2 + \fi +} +\newcommand{\sqbr}[1] {[\,#1]} +\newcommand{\var}[1] {\operatorname{var}\, #1} +\newcommand{\cov}[2] {\operatorname{cov}[#1,#2]} +\newcommand{\cc}[2] {\operatorname{corr}[#1,#2]} +%\newcommand{\KL}[2] {\mathrm{KL}[\, #1 \|\, #2]} +\newcommand{\KL}[2] {D(#1 \|\, #2)} +\newcommand{\define} {\overset{\text{\tiny def}}{=}} +\newcommand{\distr} {\sim} + +% --- sets +\newcommand{\union} {\cup} +\newcommand{\diff} {\backslash} +\newcommand{\intersect} {\cap} +\newcommand{\integers} {\mathbb{Z}} +\newcommand{\reals} {\mathbb{R}} +\newcommand{\complexes} {\mathbb{C}} +%\newcommand{\C} {\mathbb{C}} +\newcommand{\naturals} {\mathbb{N}} +%\renewcommand*{\emptyset} {\varnothing} + +% --- misc +\def\rowvec(#1,#2){\begin{pmatrix} #1 & #2 \end{pmatrix}} +\def\colvec(#1,#2){\begin{pmatrix} #1 \\ #2 \end{pmatrix}} + +\ifx\detbar\undefined\else\def\det#1{|#1|}\fi + +\newcommand{\sqtp}{\sqrt{2 \pi}} +\DeclareMathOperator{\sech}{sech} +\DeclareMathOperator{\sgn} {sgn} +\DeclareMathOperator{\trace} {tr} +\newcommand{\repart}{\Re\,} +\newcommand{\impart}{\Im\,} +\newcommand{\assign} {\leftarrow} +\newcommand*\half {\tfrac{1}{2}} +\newcommand{\fun}[1] {$#1(\cdot)$\xspace} +\newcommand{\ffun}[1] {$#1(\cdot,\cdot)$\xspace} +\newcommand{\tends} {\rightarrow} +\renewcommand*{\vec}[1] {\mathbf{#1}} +\providecommand{\abs}[1] {\lvert#1\rvert} +\providecommand{\norm}[1] {\lVert#1\rVert} +\if\inneropt{paren} + \newcommand{\inner}[2] {(#1,#2)} +\fi +\if\inneropt{dot} + \newcommand{\inner}[2] {#1\cdot#2} +\else + \newcommand{\inner}[2] {{#1}^T#2} +\fi + +% --- psfig bits +\newcommand{\psmath}[2] {\psfrag{#1}{\scriptsize $#2$}} +\newcommand{\psmathbig}[2] {\psfrag{#1}{\small $#2$}} + + +% \linespread{1.1} + + +% top-aligned boxes +\newbox\thehbox +\newcommand{\hangbox}[1]{% + \savebox{\thehbox}{#1}% + \raisebox{-\ht\thehbox}[0pt][\ht\thehbox]{\usebox{\thehbox}}% + % \raisebox{-\ht\thehbox}[0pt][-\ht\thehbox]{\usebox{\thehbox}}% +} + +\newenvironment{hanging}{% + \begingroup + \newbox\thebox + \begin{lrbox}{\thebox} +}{% + \end{lrbox}% + \raisebox{-\ht\thebox}[0pt][\ht\thebox]{\usebox{\thebox}}% + \endgroup +}% + +% Hacky indentation - FIXME! +\newenvironment{indented} + {\vspace{-0.6em}\begin{quote}} + {\end{quote}\vspace{-0.6em}} +