changeset 2:031e2ccb1fb6

Added rhythm parser and parameter setter
author Chunyang Song <csong@eecs.qmul.ac.uk>
date Fri, 20 Mar 2015 18:28:08 +0000
parents b2da092dc2e0
children 1c99053c55cb
files Syncopation models/BasicFuncs.py Syncopation models/BasicFuncs.pyc Syncopation models/KTH.py Syncopation models/LHL.py Syncopation models/LHL.pyc Syncopation models/PRS.py Syncopation models/ParameterSetter.py Syncopation models/ParameterSetter.pyc Syncopation models/RhythmParser.py Syncopation models/SG.py Syncopation models/TMC.py Syncopation models/TMC.pyc Syncopation models/TOB.py Syncopation models/TimeSignature.pkl Syncopation models/WNBD.py Syncopation models/WNBD.pyc Syncopation models/clave.txt Syncopation models/design/composition.svg Syncopation models/design/gui design.svg Syncopation models/design/gui design2.svg Syncopation models/main.py Syncopation models/rhythmbase/clave.txt
diffstat 22 files changed, 2140 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Syncopation models/BasicFuncs.py	Fri Mar 20 18:28:08 2015 +0000
@@ -0,0 +1,163 @@
+# This python file is a collection of basic functions that are used in the syncopation models. 
+
+import math
+
+# The concatenation function is used to concatenate two sequences.
+def concatenate(seq1,seq2):
+	return seq1+seq2
+
+# The repetition function is to concatenate a sequence to itself for 'times' number of times.
+def repeat(seq,times):
+	new_seq = list(seq)
+	if times >= 1:
+		for i in range(times-1):
+			new_seq = concatenate(new_seq,seq)
+	else:
+		#print 'Error: repetition times needs to be no less than 1.'
+		new_seq = []
+	return new_seq
+
+# The subdivision function is to equally subdivide a sequence into 'divisor' number of segments.
+def subdivide(seq,divisor):
+	subSeq = []
+	if len(seq) % divisor != 0:
+		print 'Error: rhythmic sequence cannot be equally subdivided.'
+	else:
+		n = len(seq) / divisor
+		start , end = 0, n
+		for i in range(divisor):
+			subSeq.append(seq[start : end])
+			start = end
+			end = end + n	
+	return subSeq
+
+
+# The ceiling function is to round each number inside a sequence up to its nearest integer.
+def ceiling(seq):
+	seq_ceil = []
+	for s in seq:
+		seq_ceil.append(int(math.ceil(s)))
+	return seq_ceil
+
+# The find_divisor function returns a list of all possible divisors for a length of sequence.
+def find_divisor(number):
+	divisors = [1]
+	for i in range(2,number+1):
+		if number%i ==0:
+			divisors.append(i)
+	return divisors
+
+# The find_divisor function returns a list of all possible divisors for a length of sequence.
+def find_prime_factors(number):
+	prime_factors = find_divisor(number)
+	
+	def is_prime(num):
+		if num < 2:
+			return False
+		if num == 2:
+			return True
+		else:
+			for div in range(2,num):
+				if num % div == 0:
+					return False
+		return True
+
+	for i in range(len(prime_factors)-1,0,-1):
+		if is_prime(prime_factors[i]) == False:
+			del prime_factors[i]
+
+	return prime_factors
+
+# The min_timeSpan function searches for the shortest possible time-span representation for a sequence.
+def get_min_timeSpan(seq):
+	min_ts = [1]
+	for d in find_divisor(len(seq)):
+		segments = subdivide(seq,d)
+		if len(segments)!=0:
+			del min_ts[:]
+			for s in segments:
+				min_ts.append(s[0])
+			if sum(min_ts) == sum(seq):
+				break
+	return min_ts
+
+# get_note_indices returns all the indices of all the notes in this sequence
+def get_note_indices(seq):
+	note_indices = []
+
+	for index in range(len(seq)):
+		if seq[index] != 0:
+			note_indices.append(index)
+
+	return note_indices
+
+# The get_H returns a sequence of metrical weight for a certain metrical level (horizontal),
+# given the sequence of metrical weights in a hierarchy (vertical) and a sequence of subdivisions.
+def get_H(weight_seq,subdivision_seq, level):
+	H = []
+	#print len(weight_seq), len(subdivision_seq), level
+	if (level <= len(subdivision_seq)-1) & (level <= len(weight_seq)-1):
+		if level == 0:
+			H = repeat([weight_seq[0]],subdivision_seq[0])
+		else:
+			H_pre = get_H(weight_seq,subdivision_seq,level-1)
+			for h in H_pre:
+				H = concatenate(H, concatenate([h], repeat([weight_seq[level]],subdivision_seq[level]-1)))
+	else:
+		print 'Error: a subdivision factor or metrical weight is not defined for the request metrical level.'
+	return H
+
+# The get_subdivision_seq function returns the subdivision sequence of several common time-signatures defined by GTTM, 
+# or ask for the top three level of subdivision_seq manually set by the user.
+def get_subdivision_seq(timesig, L_max):
+	subdivision_seq = []
+
+	if timesig == '2/4' or timesig == '4/4':
+		subdivision_seq = [1,2,2]
+	elif timesig == '3/4' or timesig == '3/8':
+		subdivision_seq = [1,3,2]
+	elif timesig == '6/8':
+		subdivision_seq = [1,2,3]
+	elif timesig == '9/8':
+		subdivision_seq = [1,3,3]
+	elif timesig == '12/8':
+		subdivision_seq = [1,4,3]
+	elif timesig == '5/4' or timesig == '5/8':
+		subdivision_seq = [1,5,2]
+	elif timesig == '7/4' or timesig == '7/8':
+		subdivision_seq = [1,7,2]
+	elif timesig == '11/4' or timesig == '11/8':
+		subdivision_seq = [1,11,2]
+	else:
+		print 'Time-signature',timesig,'is undefined. Please indicate subdivision sequence for this requested time-signature, e.g. [1,2,2] for 4/4 meter.'
+		for i in range(3):
+			s = int(input('Enter the subdivision factor at metrical level '+str(i)+':'))
+			subdivision_seq.append(s)
+
+	if L_max > 2:
+		subdivision_seq = subdivision_seq + [2]*(L_max-2)
+	else:
+		subdivision_seq = subdivision_seq[0:L_max+1]
+	
+	return subdivision_seq
+
+ # The split_by_bar function seperates the score representation of rhythm by bar lines, 
+ # resulting in a list representingbar-by-bar rhythm sequence,
+ # e.g. rhythm = ['|',[ts1,td1,v1], [ts2,td2,v2], '|',[ts3,td3,v3],'|'...]
+ # rhythm_bybar = [ [ [ts1,td1,v1], [ts2,td2,v2] ], [ [ts3,td3,v3] ], [...]]
+# def split_by_bar(rhythm):
+# 	rhythm_bybar = []
+# 	bar_index = []
+# 	for index in range(len(rhythm)):
+# 		if rhythm[index] == '|':
+
+# 	return rhythm_bybar
+
+# def yseq_to_vseq(yseq):
+# 	vseq = []
+
+# 	return vseq
+
+
+# # testing
+# print find_prime_factors(10)
\ No newline at end of file
Binary file Syncopation models/BasicFuncs.pyc has changed
--- a/Syncopation models/KTH.py	Sun Oct 05 21:52:41 2014 +0100
+++ b/Syncopation models/KTH.py	Fri Mar 20 18:28:08 2015 +0000
@@ -5,7 +5,7 @@
 '''
 ## Problems! Note indices, post bar
 
-from basic_functions import get_min_timeSpan, get_note_indices, repeat
+from BasicFuncs import get_min_timeSpan, get_note_indices, repeat
 
 # To find the nearest power of 2 equal to or less than the given number
 def roundDownPower2(number):
--- a/Syncopation models/LHL.py	Sun Oct 05 21:52:41 2014 +0100
+++ b/Syncopation models/LHL.py	Fri Mar 20 18:28:08 2015 +0000
@@ -3,7 +3,7 @@
 Institution: Centre for Digital Music, Queen Mary University of London
 '''
 
-from basic_functions import concatenate, repeat, subdivide, ceiling
+from BasicFuncs import concatenate, repeat, subdivide, ceiling
 
 terminal_nodes = []		# Global variable, storing all the terminal nodes from recursive tree structure in time order
 
Binary file Syncopation models/LHL.pyc has changed
--- a/Syncopation models/PRS.py	Sun Oct 05 21:52:41 2014 +0100
+++ b/Syncopation models/PRS.py	Fri Mar 20 18:28:08 2015 +0000
@@ -3,7 +3,7 @@
 Institution: Centre for Digital Music, Queen Mary University of London
 '''
 
-from basic_functions import repeat, subdivide, ceiling, get_min_timeSpan
+from BasicFuncs import repeat, subdivide, ceiling, get_min_timeSpan
 
 def get_cost(seq,next_seq):
 	seq = get_min_timeSpan(seq)					# converting to the minimum time-span format
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Syncopation models/ParameterSetter.py	Fri Mar 20 18:28:08 2015 +0000
@@ -0,0 +1,90 @@
+'''
+Author: Chunyang Song
+Institution: Centre for Digital Music, Queen Mary University of London
+'''
+
+# Set the parameters: subdivision_seq, weight_seq, L_max, strong_beat_level
+
+L_max = 5
+
+# {'key': time-signature} :  
+# {'value': [subdivision_seq, theoretical beat-level represented by index in the subdivision_seq list]}
+timesigBase = {
+	'2/2': [[1,2,2,2,2],1],
+	'3/2': [[1,3,2,2,2],1],
+	'4/2': [[1,2,2,2,2],1],
+	'2/4': [[1,2,2,2,2],1],
+	'3/4': [[1,3,2,2,2],1],
+	'4/4': [[1,2,2,2,2],2],
+	'5/4': [[1,5,2,2,2],1],
+	'7/4': [[1,7,2,2,2],1],
+	'3/8': [[1,3,2,2,2],1],
+	'5/8': [[1,5,2,2,2],1],
+	'6/8': [[1,2,3,2,2],1],
+	'9/8': [[1,3,3,2,2],1],
+	'12/8':[[1,2,2,3,2],2],	
+}
+
+
+def addTimesig(timesig, subdivision_seq, beat_level):
+	if isTSValid(timesig,subdivision_seq,beat_level):
+		if timesig in timesigBase:
+			print 'This time-signature is existed already.'
+		else:
+			timesigBase[timesig] = [subdivision_seq, beat_level]
+			writeTimesig()
+
+def updateTimesig(timesig, subdivision_seq, beat_level):
+	if isTSValid(timesig,subdivision_seq,beat_level):
+		if timesig in timesigBase:
+			print 'Original settings for', timesig, ':',timesigBase[timesig] 
+			timesigBase[timesig] = [subdivision_seq, beat_level]
+			print 'Changed into:',timesigBase[timesig]
+			writeTimesig()
+
+def isTSValid(timesig, subdivision_seq, beat_level):
+	isValid = False
+	if ('/' not in timesig) or (not timesig.split('/')[0].isdigit()) or (not timesig.split('/')[1].isdigit()):
+		print 'Error: invalid time-signature. Please indicate in the form of fraction, e.g. 4/4, 6/8 or 3/4.'
+	elif subdivision_seq != [s for s in subdivision_seq if isinstance(s,int)]:
+		print 'Error: invalid subdivision sequence. Please indicate in the form of list of numbers, e.g [1,2,2,2,2].'
+	elif beat_level >= len(subdivision_seq):
+		print 'Error: beat-level exceeds the range of subdivision sequence list.'
+	else:
+		isValid = True
+	return isValid
+
+def writeTimesig():
+	import cPickle as pickle
+	timesigFile = open('TimeSignature.pkl', 'wb')
+	pickle.dump(timesigBase, timesigFile)
+	timesigFile.close()
+
+def readTimesig():
+	import cPickle as pickle
+	timesigFile = open('TimeSignature.pkl','rb')
+	data = pickle.load(timesigFile)
+	return data
+	timesigFile.close()
+
+def viewTimesigBase():
+	data = readTimesig()
+	for timesig, settings in data.items():
+		print timesig, settings
+
+def set_L_max(number):
+	L_max = number
+
+def get_subdivision_seq(timesig):
+	if timesig in readTimesig():
+		return timesigBase[timesig][0]
+	else:
+		print 'Error: the subdivision sequence for this time-signature is not defined.'
+		return None
+
+def get_beat_level(timesig):
+	if timesig in readTimesig():
+		return timesigBase[timesig][1]
+	else:
+		print 'Error: the subdivision sequence for this time-signature is not defined.'
+		return None
Binary file Syncopation models/ParameterSetter.pyc has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Syncopation models/RhythmParser.py	Fri Mar 20 18:28:08 2015 +0000
@@ -0,0 +1,76 @@
+'''
+Author: Chunyang Song
+Institution: Centre for Digital Music, Queen Mary University of London
+'''
+
+# Parse the rhythm file and return a list of Bar objects
+
+import ParameterSetter
+
+class Bar:
+
+	def __init__(self, rhythm_seq, subdivision_seq, beat_level):
+		self.rhythm_seq = rhythm_seq
+		self.subdivision_seq = subdivision_seq
+		self.beat_level = beat_level
+
+	def makeBar(self):
+		return [self.rhythm_seq, self.subdivision_seq, self.beat_level]
+
+
+current_timesig = ''
+Piece = []
+
+def readRhythm(fileName):
+	try:
+		f = file(fileName)
+
+		bar = f.readline()
+
+		# While the current line has contents
+		while len(bar) > 0:
+			rhythm_seq = []
+
+			info = bar.split(';')
+			
+			if isInfoValid(info):
+				for i in info:
+					if i[0] == 't':
+						current_timesig = i[i.find('{')+1:i.find('}')]
+					elif i[0] == 'q':
+						rhythmString = i[i.find('{')+1:i.find('}')]
+						rhythm_seq = map(int,rhythmString.split(','))
+					else:
+						print 'Error: %s is not recognisable. Please check this rhythm file: %s.' %(i[0], fileName)
+
+				#Piece.append(Bar(rhythm_seq, subdivision_seq, beat_level).makeBar())
+			else:
+				break
+
+			bar = f.readline()
+
+		return Piece
+	except:
+		print 'Unexpected error.'#, sys.exc_info()[0]
+		raise
+
+def isInfoValid(info):
+	# If two parts of information is not seperated by ;
+	# if 't' in info and 'q' in info:
+	# 	print 'Error: time-signature and rhythm sequence needs ";" to seperate. Please check this rhythm file: %s.' %fileName
+	# 	Piece = None
+	# 	break
+	# elif '{' not in info and '}' not in info:
+	# 	print 'Error: information needs to be enclosed by "{ }". Please check this rhythm file: %s.' %fileName
+	# 	Piece = None
+	# 	break				
+	# else:
+	return True			
+
+# To check whether the given time-signature is existed; if not then requires user to add in the new time-signature
+#def checkTimesig(input):
+
+
+# TESTING
+print readRhythm("rhythmbase/clave.txt")
+
--- a/Syncopation models/SG.py	Sun Oct 05 21:52:41 2014 +0100
+++ b/Syncopation models/SG.py	Fri Mar 20 18:28:08 2015 +0000
@@ -4,7 +4,7 @@
 
 '''
 
-from basic_functions import get_H, get_min_timeSpan
+from BasicFuncs import get_H, get_min_timeSpan
 
 def get_syncopation(seq, subdivision_seq, weight_seq, L_max, rhythm_category):
 	syncopation = None
--- a/Syncopation models/TMC.py	Sun Oct 05 21:52:41 2014 +0100
+++ b/Syncopation models/TMC.py	Fri Mar 20 18:28:08 2015 +0000
@@ -4,7 +4,7 @@
 
 '''
 
-from basic_functions import get_H, ceiling, get_min_timeSpan
+from BasicFuncs import get_H, ceiling, get_min_timeSpan
 
 # The get_metricity function calculates the metricity for a binary sequence with given sequence of metrical weights in a certain metrical level.
 def get_metricity(seq, H):
Binary file Syncopation models/TMC.pyc has changed
--- a/Syncopation models/TOB.py	Sun Oct 05 21:52:41 2014 +0100
+++ b/Syncopation models/TOB.py	Fri Mar 20 18:28:08 2015 +0000
@@ -4,7 +4,7 @@
 
 '''
 
-from basic_functions import ceiling, find_divisor, get_min_timeSpan
+from BasicFuncs import ceiling, find_divisor, get_min_timeSpan
 
 # This function calculates the syncopation value for TOB model.
 def get_syncopation(seq):
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Syncopation models/TimeSignature.pkl	Fri Mar 20 18:28:08 2015 +0000
@@ -0,0 +1,132 @@
+(dp1
+S'2/4'
+p2
+(lp3
+(lp4
+I1
+aI2
+aI2
+aI2
+aI2
+aaI1
+asS'3/2'
+p5
+(lp6
+(lp7
+I1
+aI3
+aI2
+aI2
+aI2
+aaI1
+asS'3/4'
+p8
+(lp9
+(lp10
+I1
+aI3
+aI2
+aI2
+aI2
+aaI1
+asS'12/8'
+p11
+(lp12
+(lp13
+I1
+aI2
+aI2
+aI3
+aI2
+aaI2
+asS'3/8'
+p14
+(lp15
+(lp16
+I1
+aI3
+aI2
+aI2
+aI2
+aaI1
+asS'2/2'
+p17
+(lp18
+(lp19
+I1
+aI2
+aI2
+aI2
+aI2
+aaI1
+asS'6/8'
+p20
+(lp21
+(lp22
+I1
+aI2
+aI3
+aI2
+aI2
+aaI1
+asS'5/4'
+p23
+(lp24
+(lp25
+I1
+aI5
+aI2
+aI2
+aI2
+aaI1
+asS'4/2'
+p26
+(lp27
+(lp28
+I1
+aI2
+aI2
+aI2
+aI2
+aaI1
+asS'7/4'
+p29
+(lp30
+(lp31
+I1
+aI7
+aI2
+aI2
+aI2
+aaI1
+asS'5/8'
+p32
+(lp33
+(lp34
+I1
+aI5
+aI2
+aI2
+aI2
+aaI1
+asS'4/4'
+p35
+(lp36
+(lp37
+I1
+aI2
+aI2
+aI2
+aI2
+aaI2
+asS'9/8'
+p38
+(lp39
+(lp40
+I1
+aI3
+aI3
+aI2
+aI2
+aaI1
+as.
\ No newline at end of file
--- a/Syncopation models/WNBD.py	Sun Oct 05 21:52:41 2014 +0100
+++ b/Syncopation models/WNBD.py	Fri Mar 20 18:28:08 2015 +0000
@@ -3,8 +3,9 @@
 Institution: Centre for Digital Music, Queen Mary University of London
 
 '''
-from basic_functions import repeat, get_note_indices
+from BasicFuncs import repeat, get_note_indices
 
+# To find the product of multiple numbers
 def cumu_multiply(numbers):
 	product = 1
 	for n in numbers:
@@ -15,6 +16,7 @@
 	syncopation = None
 	
 	num_beats = cumu_multiply(subdivision_seq[0:strong_beat_level+1])	# num_beats is the number of strong beats
+	
 	if len(seq)%num_beats != 0:
 		print 'Error: the length of sequence is not subdivable by the subdivision factor in subdivision_seq.'
 	else:
@@ -60,6 +62,6 @@
 				nextnote_index = note_indices[i+1]
 			total += measure_pernote(note_indices[i],nextnote_index)
 
-		syncopation = float(total) / len(note_indices)
+		#syncopation = float(total) / len(note_indices)
 
-	return syncopation
+	return total
Binary file Syncopation models/WNBD.pyc has changed
--- a/Syncopation models/clave.txt	Sun Oct 05 21:52:41 2014 +0100
+++ b/Syncopation models/clave.txt	Fri Mar 20 18:28:08 2015 +0000
@@ -1,1 +1,2 @@
-son; 1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0; 4/4; mono; 2
+|1,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0;'4/4'
+|1,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0;'4/4'
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Syncopation models/design/composition.svg	Fri Mar 20 18:28:08 2015 +0000
@@ -0,0 +1,606 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1260"
+   height="765"
+   id="svg3999"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   sodipodi:docname="composition.svg">
+  <defs
+     id="defs4001" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="651.40769"
+     inkscape:cy="287.63456"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1236"
+     inkscape:window-height="797"
+     inkscape:window-x="39"
+     inkscape:window-y="2"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata4004">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-287.36218)">
+    <text
+       sodipodi:linespacing="125%"
+       id="text3767"
+       y="538.15533"
+       x="360.69235"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:21.23117828px"
+         y="538.15533"
+         x="360.69235"
+         id="tspan3769"
+         sodipodi:role="line" /></text>
+    <rect
+       ry="0"
+       rx="16.225515"
+       y="535.91711"
+       x="239.29541"
+       height="32.890137"
+       width="117.40916"
+       id="rect3903"
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.72483671;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="307.04614"
+       y="543.93628"
+       id="text3905"
+       sodipodi:linespacing="125%"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         sodipodi:role="line"
+         x="307.04614"
+         y="543.93628"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         id="tspan3907">Add Bar</tspan></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text3761-6"
+       y="656.98975"
+       x="213.82579"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:21.23117828px"
+         y="656.98975"
+         x="213.82579"
+         id="tspan3763-2"
+         sodipodi:role="line">Time-signature: </tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70770591;stroke-opacity:1"
+       id="rect3765-1"
+       width="132.54497"
+       height="25.52512"
+       x="380.89713"
+       y="656.41852"
+       rx="0" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text3767-5"
+       y="657.51514"
+       x="396.75983"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:21.23117828px"
+         y="657.51514"
+         x="396.75983"
+         id="tspan3769-6"
+         sodipodi:role="line">2/4</tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70277411;stroke-opacity:1"
+       id="rect3771-8"
+       width="26.096935"
+       height="25.889765"
+       x="488.03195"
+       y="656.41852" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.98999999;fill:#000000;stroke:#000000;stroke-opacity:1"
+       id="path3773-7"
+       sodipodi:sides="3"
+       sodipodi:cx="503"
+       sodipodi:cy="192.09448"
+       sodipodi:r1="13.892444"
+       sodipodi:r2="6.9462218"
+       sodipodi:arg1="-0.52807445"
+       sodipodi:arg2="0.5191231"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 515,185.09448 -5.96891,10.44615 -5.96891,10.44616 L 497,195.59448 l -6.06218,-10.3923 12.03109,-0.0539 z"
+       transform="matrix(0.68676146,0,0,0.72928915,154.95264,527.99476)"
+       inkscape:transform-center-x="0.021349695"
+       inkscape:transform-center-y="2.5132459" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="552.85956"
+       y="653.10809"
+       id="text4265"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4267"
+         x="552.85956"
+         y="653.10809"
+         style="font-size:21.23117828px">or</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="205"
+       y="710.36218"
+       id="text4269"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4271"
+         x="205"
+         y="710.36218" /></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text3761-6-5"
+       y="654.43927"
+       x="586.40173"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:21.23117828px"
+         y="654.43927"
+         x="586.40173"
+         id="tspan3763-2-2"
+         sodipodi:role="line">Subvision sequence: </tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.38355601;stroke-opacity:1"
+       id="rect4294"
+       width="32.876015"
+       height="32.890137"
+       x="791.29541"
+       y="651.91711"
+       rx="4.5433445"
+       ry="0" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="213.82579"
+       y="721.03638"
+       id="text4308"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4310"
+         x="213.82579"
+         y="721.03638"
+         style="font-size:21.23117828px">Tatum:  1/ </tspan></text>
+    <rect
+       rx="0"
+       y="723.41852"
+       x="314.89713"
+       height="25.52512"
+       width="132.54497"
+       id="rect4312"
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70770591;stroke-opacity:1" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="327.71646"
+       y="720.59137"
+       id="text4314"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4316"
+         x="327.71646"
+         y="720.59137"
+         style="font-size:21.23117828px">16</tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.8597151;stroke-opacity:1"
+       id="rect4322"
+       width="165.16982"
+       height="32.890137"
+       x="755.89716"
+       y="593.91711"
+       rx="22.825863"
+       ry="0" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       sodipodi:linespacing="125%"
+       id="text4324"
+       y="598.27899"
+       x="863.51453"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         id="tspan4326"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         y="598.27899"
+         x="863.51453"
+         sodipodi:role="line">Duplicate</tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.79475152;stroke-opacity:1"
+       id="rect4341"
+       width="141.15112"
+       height="32.890137"
+       x="563.91583"
+       y="594.91711"
+       rx="19.506567"
+       ry="0" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       sodipodi:linespacing="125%"
+       id="text4343"
+       y="599.24945"
+       x="656.3844"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         id="tspan4345"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         y="599.24945"
+         x="656.3844"
+         sodipodi:role="line">Remove</tspan></text>
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="218.97829"
+       y="782.17181"
+       id="text4358"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4360"
+         x="218.97829"
+         y="782.17181"
+         style="font-size:21.23117828px">Current Bar:  </tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:#0000d4;fill-opacity:0;stroke:#000000;stroke-width:1.18038225;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="rect4362"
+       width="753.64178"
+       height="190.31403"
+       x="204"
+       y="778.36218"
+       rx="17.968319" />
+    <rect
+       rx="18.794174"
+       y="490.72192"
+       x="188.35974"
+       height="552.28052"
+       width="788.28052"
+       id="rect4364"
+       style="opacity:0.98999999;fill:#0000d4;fill-opacity:0;stroke:#000000;stroke-width:2.05648279;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <rect
+       ry="0"
+       rx="19.506567"
+       y="998.91711"
+       x="515.91583"
+       height="32.890137"
+       width="141.15112"
+       id="rect4366"
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.79475152;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="606.92053"
+       y="991.29272"
+       id="text4368"
+       sodipodi:linespacing="125%"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         sodipodi:role="line"
+         x="610.30011"
+         y="991.29272"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         id="tspan4370">Save as </tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.99114859px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 228,851.36218 701.41612,0"
+       id="path4372"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4374"
+       d="m 228,875.36218 701.41612,0"
+       style="fill:none;stroke:#000000;stroke-width:0.99114859px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.99114859px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 228,895.36218 701.41612,0"
+       id="path4376"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4378"
+       d="m 228,915.36218 701.41612,0"
+       style="fill:none;stroke:#000000;stroke-width:0.99114859px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 228,850.36218 0,66"
+       id="path4380"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4382"
+       d="m 248,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 268,850.36218 0,66"
+       id="path4384"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4386"
+       d="m 288,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 308,850.36218 0,66"
+       id="path4388"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4390"
+       d="m 328,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 348,850.36218 0,66"
+       id="path4392"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4394"
+       d="m 368,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 388,850.36218 0,66"
+       id="path4396"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4398"
+       d="m 408,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 428,850.36218 0,66"
+       id="path4400"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4402"
+       d="m 448,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 468,850.36218 0,66"
+       id="path4404"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4406"
+       d="m 488,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 508,850.36218 0,66"
+       id="path4408"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4410"
+       d="m 528,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 548,850.36218 0,66"
+       id="path4412"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4414"
+       d="m 628,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 648,850.36218 0,66"
+       id="path4416"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4418"
+       d="m 668,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 688,850.36218 0,66"
+       id="path4420"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4422"
+       d="m 708,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 728,850.36218 0,66"
+       id="path4424"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4426"
+       d="m 748,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 768,850.36218 0,66"
+       id="path4428"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4430"
+       d="m 788,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 808,850.36218 0,66"
+       id="path4432"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4434"
+       d="m 828,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 848,850.36218 0,66"
+       id="path4436"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4438"
+       d="m 868,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 888,850.36218 0,66"
+       id="path4440"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4442"
+       d="m 908,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 928,850.36218 0,66"
+       id="path4444"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4450"
+       d="m 568,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 588,850.36218 0,66"
+       id="path4452"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4454"
+       d="m 608,850.36218 0,66"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text4488"
+       y="599.73566"
+       x="248.86272"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:21.23117828px"
+         y="599.73566"
+         x="248.86272"
+         id="tspan4490"
+         sodipodi:role="line">Select Bar:  </tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70770591;stroke-opacity:1"
+       id="rect4492"
+       width="132.54497"
+       height="25.52512"
+       x="378.89713"
+       y="598.41852"
+       rx="0" />
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70277411;stroke-opacity:1"
+       id="rect4494"
+       width="26.096935"
+       height="25.889765"
+       x="486.03195"
+       y="598.41852" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.98999999;fill:#000000;stroke:#000000;stroke-opacity:1"
+       id="path4496"
+       sodipodi:sides="3"
+       sodipodi:cx="503"
+       sodipodi:cy="192.09448"
+       sodipodi:r1="13.892444"
+       sodipodi:r2="6.9462218"
+       sodipodi:arg1="-0.52807445"
+       sodipodi:arg2="0.5191231"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 515,185.09448 -5.96891,10.44615 -5.96891,10.44616 L 497,195.59448 l -6.06218,-10.3923 12.03109,-0.0539 z"
+       transform="matrix(0.68676146,0,0,0.72928915,152.95265,469.99475)"
+       inkscape:transform-center-x="0.021349695"
+       inkscape:transform-center-y="2.5132459" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 356,808.36218 37,0"
+       id="path4498"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:28.30823708000000138px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
+       x="449.3671"
+       y="503.92758"
+       id="text3795"
+       sodipodi:linespacing="125%"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         sodipodi:role="line"
+         id="tspan3797"
+         x="449.3671"
+         y="503.92758">Composition Panel</tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.38355601;stroke-opacity:1"
+       id="rect4294-3"
+       width="32.876015"
+       height="32.890137"
+       x="841.56201"
+       y="650.91711"
+       rx="4.5433445"
+       ry="0" />
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.38355601;stroke-opacity:1"
+       id="rect4294-0"
+       width="32.876015"
+       height="32.890137"
+       x="891.56201"
+       y="650.91711"
+       rx="4.5433445"
+       ry="0" />
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Syncopation models/design/gui design.svg	Fri Mar 20 18:28:08 2015 +0000
@@ -0,0 +1,432 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1052.3622"
+   height="744.09448"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   sodipodi:docname="gui design.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="672.7506"
+     inkscape:cy="423.32172"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-width="1379"
+     inkscape:window-height="838"
+     inkscape:window-x="530"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-308.2677)">
+    <rect
+       style="opacity:0.98999999000000005;fill:none;stroke:#000000;stroke-width:1.337;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect2985"
+       width="753.31415"
+       height="477.23138"
+       x="266.89438"
+       y="363.54309"
+       rx="33.123104"
+       ry="34.960182" />
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.72483671;stroke-opacity:1"
+       id="rect3755"
+       width="117.40916"
+       height="32.890137"
+       x="338.63147"
+       y="749.41803"
+       rx="16.225515"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0000d4;fill-opacity:1;stroke:none;font-family:Sans"
+       x="473.30325"
+       y="590.03131"
+       id="text3757"
+       sodipodi:linespacing="125%"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         sodipodi:role="line"
+         x="473.30325"
+         y="590.03131"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle;fill:#0000d4"
+         id="tspan3805">Measure Syncopation</tspan></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text3761"
+       y="685.52722"
+       x="305.99515"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:21.23117828px"
+         y="685.52722"
+         x="305.99515"
+         id="tspan3763"
+         sodipodi:role="line">Model: </tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70770591;stroke-opacity:1"
+       id="rect3765"
+       width="132.54497"
+       height="25.52512"
+       x="390.33875"
+       y="683.82635"
+       rx="0" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text3767"
+       y="684.11182"
+       x="406.48941"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:21.23117828px"
+         y="684.11182"
+         x="406.48941"
+         id="tspan3769"
+         sodipodi:role="line">LHL</tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70277411;stroke-opacity:1"
+       id="rect3771"
+       width="26.096935"
+       height="25.889765"
+       x="497.47357"
+       y="683.82635" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.98999999;fill:#000000;stroke:#000000;stroke-opacity:1"
+       id="path3773"
+       sodipodi:sides="3"
+       sodipodi:cx="503"
+       sodipodi:cy="192.09448"
+       sodipodi:r1="13.892444"
+       sodipodi:r2="6.9462218"
+       sodipodi:arg1="-0.52807445"
+       sodipodi:arg2="0.5191231"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 515,185.09448 -5.96891,10.44615 -5.96891,10.44616 L 497,195.59448 l -6.06218,-10.3923 12.03109,-0.0539 z"
+       transform="matrix(0.68676146,0,0,0.72928915,164.39426,555.40257)"
+       inkscape:transform-center-x="0.021349695"
+       inkscape:transform-center-y="2.5132459" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text3777"
+       y="438.55078"
+       x="467.77954"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0000d4;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle;fill:#0000d4"
+         y="438.55078"
+         x="467.77954"
+         sodipodi:role="line"
+         id="tspan3821">Generate rhythm</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="470.87473"
+       y="484.34186"
+       id="text3781"
+       sodipodi:linespacing="125%"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         sodipodi:role="line"
+         id="tspan3783"
+         x="470.87473"
+         y="484.34186"
+         style="font-size:21.23117828px">or</tspan></text>
+    <rect
+       rx="0"
+       y="628.50537"
+       x="389.33875"
+       height="25.52512"
+       width="132.54497"
+       id="rect3785"
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70770591;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#d40000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
+       x="508.3844"
+       y="390.31915"
+       id="text3795"
+       sodipodi:linespacing="125%"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         sodipodi:role="line"
+         id="tspan3797"
+         x="508.3844"
+         y="390.31915">Syncopation Toolkit</tspan></text>
+    <rect
+       ry="0"
+       rx="12.633319"
+       y="747.41803"
+       x="516.63147"
+       height="32.890137"
+       width="91.415726"
+       id="rect3833"
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.63958704;stroke-opacity:1" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       sodipodi:linespacing="125%"
+       id="text3835"
+       y="748.20734"
+       x="579.44379"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         id="tspan3837"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         y="748.20734"
+         x="582.82336"
+         sodipodi:role="line">Save as </tspan></text>
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       sodipodi:linespacing="125%"
+       id="text3869"
+       y="749.17767"
+       x="409.41177"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         id="tspan3871"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         y="749.17767"
+         x="409.41177"
+         sodipodi:role="line">Measure</tspan></text>
+    <path
+       inkscape:connector-curvature="0"
+       id="path3891"
+       d="m 279.71307,578.36218 399.45817,0"
+       style="fill:none;stroke:#000000;stroke-width:0.75380325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path3893"
+       d="m 283,814.36218 721.9865,0"
+       style="fill:none;stroke:#000000;stroke-width:1.01341391px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="302"
+       y="832.36218"
+       id="text3895"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         x="302"
+         y="832.36218"
+         id="tspan3899">author, institution, copyright...</tspan></text>
+    <rect
+       ry="0"
+       rx="16.225515"
+       y="533.41803"
+       x="446.63147"
+       height="32.890137"
+       width="117.40916"
+       id="rect3903"
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.72483671;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="520.70587"
+       y="539.57037"
+       id="text3905"
+       sodipodi:linespacing="125%"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         sodipodi:role="line"
+         x="520.70587"
+         y="539.57037"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         id="tspan3907">Browse...</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.01341391px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 283,412.36218 721.9865,0"
+       id="path3911"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.72483671;stroke-opacity:1"
+       id="rect3913"
+       width="117.40916"
+       height="32.890137"
+       x="543.63147"
+       y="681.41803"
+       rx="16.225515"
+       ry="0" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       sodipodi:linespacing="125%"
+       id="text3915"
+       y="685.13104"
+       x="620.66364"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         id="tspan3917"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         y="685.13104"
+         x="620.66364"
+         sodipodi:role="line">Explain</tspan></text>
+    <path
+       inkscape:connector-curvature="0"
+       id="path3919"
+       d="m 283,416.36218 721.9865,0"
+       style="fill:none;stroke:#000000;stroke-width:1.01341391px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.75380325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 680.44216,415.63309 0,399.45817"
+       id="path3926"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="860.15234"
+       y="591.36218"
+       id="text3947"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3949"
+         x="860.15234"
+         y="591.36218">Display</tspan><tspan
+         sodipodi:role="line"
+         x="860.15234"
+         y="641.36218"
+         id="tspan3951">Panel</tspan></text>
+    <g
+       transform="translate(13,-9)"
+       id="g4007">
+      <rect
+         ry="0"
+         rx="19.77331"
+         y="486.34555"
+         x="289.67914"
+         height="34.828163"
+         width="143.08127"
+         id="rect4009"
+         style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.82340407;stroke-opacity:1" />
+      <text
+         transform="scale(0.97040516,1.0304974)"
+         xml:space="preserve"
+         style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+         x="374.00424"
+         y="494.83429"
+         id="text4011"
+         sodipodi:linespacing="125%"><tspan
+           id="tspan4013"
+           sodipodi:role="line"
+           x="374.00424"
+           y="494.83429"
+           style="font-size:21.23117828px;text-align:center;text-anchor:middle">Compose</tspan></text>
+    </g>
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="305.99515"
+       y="631.18457"
+       id="text4512"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4514"
+         x="305.99515"
+         y="631.18457"
+         style="font-size:21.23117828px">Rhythm: </tspan></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text4529"
+       y="539.96655"
+       x="310.11716"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:21.23117828px"
+         y="539.96655"
+         x="310.11716"
+         id="tspan4531"
+         sodipodi:role="line">MIDI:</tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.72483671;stroke-opacity:1"
+       id="rect4533"
+       width="117.40916"
+       height="32.890137"
+       x="544.63147"
+       y="625.41803"
+       rx="16.225515"
+       ry="0" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       sodipodi:linespacing="125%"
+       id="text4535"
+       y="628.84747"
+       x="621.69452"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         id="tspan4537"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         y="628.84747"
+         x="621.69452"
+         sodipodi:role="line">Browse...</tspan></text>
+    <rect
+       rx="0"
+       y="536.59961"
+       x="359.72751"
+       height="25.52512"
+       width="78.847549"
+       id="rect3785-9"
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.54583991;stroke-opacity:1" />
+    <g
+       transform="matrix(0.51226407,0,0,1,436.06716,45.60255)"
+       id="g4007-3">
+      <rect
+         ry="0"
+         rx="19.77331"
+         y="486.34555"
+         x="289.67914"
+         height="34.828163"
+         width="143.08127"
+         id="rect4009-0"
+         style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.82340407;stroke-opacity:1" />
+    </g>
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="611.1748"
+       y="539.93158"
+       id="text4512-2"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4514-4"
+         x="611.1748"
+         y="539.93158"
+         style="font-size:21.23117828px">Parse</tspan></text>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Syncopation models/design/gui design2.svg	Fri Mar 20 18:28:08 2015 +0000
@@ -0,0 +1,587 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1052.3622"
+   height="744.09448"
+   id="svg3037"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   sodipodi:docname="gui design2.svg">
+  <defs
+     id="defs3039" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="533.46975"
+     inkscape:cy="476.62951"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="852"
+     inkscape:window-x="-3"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata3042">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-308.2677)">
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:1.42536926;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="rect2985"
+       width="772.68378"
+       height="542.57593"
+       x="90.973335"
+       y="321.09619"
+       rx="0"
+       ry="39.747078" />
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70770591;stroke-opacity:1"
+       id="rect3765"
+       width="132.54497"
+       height="25.52512"
+       x="111.78729"
+       y="583.02972"
+       rx="0" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text3767"
+       y="583.3869"
+       x="118.41238"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:15px"
+         y="583.3869"
+         x="118.41238"
+         id="tspan3769"
+         sodipodi:role="line">Rhythm score</tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70277411;stroke-opacity:1"
+       id="rect3771"
+       width="26.096935"
+       height="25.889765"
+       x="218.92212"
+       y="583.02972" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.98999999;fill:#000000;stroke:#000000;stroke-opacity:1"
+       id="path3773"
+       sodipodi:sides="3"
+       sodipodi:cx="503"
+       sodipodi:cy="192.09448"
+       sodipodi:r1="13.892444"
+       sodipodi:r2="6.9462218"
+       sodipodi:arg1="-0.52807445"
+       sodipodi:arg2="0.5191231"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 515,185.09448 -5.96891,10.44615 -5.96891,10.44616 L 497,195.59448 l -6.06218,-10.3923 12.03109,-0.0539 z"
+       transform="matrix(0.68676146,0,0,0.72928915,-114.15719,454.60598)"
+       inkscape:transform-center-x="0.021349695"
+       inkscape:transform-center-y="2.5132459" />
+    <text
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#d40000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
+       x="334.6926"
+       y="338.1142"
+       id="text3795"
+       sodipodi:linespacing="125%"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         sodipodi:role="line"
+         id="tspan3797"
+         x="334.6926"
+         y="338.1142">Syncopation Toolkit</tspan></text>
+    <path
+       inkscape:connector-curvature="0"
+       id="path3893"
+       d="m 124.44855,837.56559 721.9865,0"
+       style="fill:none;stroke:#000000;stroke-width:1.01341391px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="347.44855"
+       y="858.56555"
+       id="text3895"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         x="347.44855"
+         y="858.56555"
+         id="tspan3899">author, institution, copyright...</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.01341391px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 114.44855,359.56559 721.9865,0"
+       id="path3911"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path3919"
+       d="m 114.44855,363.56559 721.9865,0"
+       style="fill:none;stroke:#000000;stroke-width:1.01341391px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.60953158;stroke-opacity:1"
+       id="rect4009"
+       width="78.405975"
+       height="34.828163"
+       x="118.12769"
+       y="378.54895"
+       rx="10.835421"
+       ry="0" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text4011"
+       y="390.22748"
+       x="162.18417"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         y="390.22748"
+         x="165.56375"
+         sodipodi:role="line"
+         id="tspan4013">Open </tspan></text>
+    <g
+       transform="matrix(0.51226407,0,0,1,-9.48429,169.80596)"
+       id="g4007-3">
+      <rect
+         ry="0"
+         rx="19.77331"
+         y="486.34555"
+         x="289.67914"
+         height="34.828163"
+         width="143.08127"
+         id="rect4009-0"
+         style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.82340407;stroke-opacity:1" />
+    </g>
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="145.85217"
+       y="660.45911"
+       id="text4512-2"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4514-4"
+         x="145.85217"
+         y="660.45911"
+         style="font-size:21.23117828px">&lt;&lt;Pre</tspan></text>
+    <g
+       id="g3225"
+       transform="matrix(0.64452614,0,0,1,564.20215,167.80596)">
+      <rect
+         style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.82340407;stroke-opacity:1"
+         id="rect3227"
+         width="143.08127"
+         height="34.828163"
+         x="289.67914"
+         y="486.34555"
+         rx="19.77331"
+         ry="0" />
+    </g>
+    <text
+       sodipodi:linespacing="125%"
+       id="text3229"
+       y="658.51825"
+       x="780.63837"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:21.23117828px"
+         y="658.51825"
+         x="780.63837"
+         id="tspan3231"
+         sodipodi:role="line">Next&gt;&gt;</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.67899835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 259.79856,480.36218 0,86"
+       id="path3235"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path3237"
+       d="m 832.24777,480.36218 0,86"
+       style="fill:none;stroke:#000000;stroke-width:1.67899835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="131"
+       y="773.36218"
+       id="text3239"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3241"
+         x="131"
+         y="773.36218"
+         style="font-size:20px">Syncopation for the current bar:</tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.54018879;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="rect3243"
+       width="574.60986"
+       height="33"
+       x="258.43835"
+       y="579.36218"
+       rx="6.0292158" />
+    <text
+       xml:space="preserve"
+       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="475"
+       y="451.36218"
+       id="text3245"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3247"
+         x="475"
+         y="451.36218"
+         style="font-size:20px">Bar: </tspan></text>
+    <rect
+       ry="0"
+       rx="16.225515"
+       y="655.6214"
+       x="271.08002"
+       height="32.890137"
+       width="117.40916"
+       id="rect3262"
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.72483671;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="339.80026"
+       y="658.15686"
+       id="text3264"
+       sodipodi:linespacing="125%"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         sodipodi:role="line"
+         x="339.80026"
+         y="658.15686"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         id="tspan3266">Duplicate</tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.72483671;stroke-opacity:1"
+       id="rect3268"
+       width="117.40916"
+       height="32.890137"
+       x="431.08002"
+       y="655.6214"
+       rx="16.225515"
+       ry="0" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       sodipodi:linespacing="125%"
+       id="text3270"
+       y="658.15686"
+       x="504.67978"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         id="tspan3272"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         y="658.15686"
+         x="504.67978"
+         sodipodi:role="line">Insert</tspan></text>
+    <rect
+       ry="0"
+       rx="16.225515"
+       y="655.6214"
+       x="591.08002"
+       height="32.890137"
+       width="117.40916"
+       id="rect3274"
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.72483671;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="669.55908"
+       y="658.15686"
+       id="text3276"
+       sodipodi:linespacing="125%"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         sodipodi:role="line"
+         x="669.55908"
+         y="658.15686"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         id="tspan3278">Remove</tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.71250141;stroke-opacity:1"
+       id="rect3765-1"
+       width="134.34735"
+       height="25.52512"
+       x="112.58297"
+       y="514.41852"
+       rx="0" />
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70277411;stroke-opacity:1"
+       id="rect3771-1"
+       width="26.096935"
+       height="25.889765"
+       x="221.52017"
+       y="514.41852" />
+    <path
+       sodipodi:type="star"
+       style="opacity:0.98999999;fill:#000000;stroke:#000000;stroke-opacity:1"
+       id="path3773-8"
+       sodipodi:sides="3"
+       sodipodi:cx="503"
+       sodipodi:cy="192.09448"
+       sodipodi:r1="13.892444"
+       sodipodi:r2="6.9462218"
+       sodipodi:arg1="-0.52807445"
+       sodipodi:arg2="0.5191231"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 515,185.09448 -5.96891,10.44615 -5.96891,10.44616 L 497,195.59448 l -6.06218,-10.3923 12.03109,-0.0539 z"
+       transform="matrix(0.68676146,0,0,0.72928915,-111.55913,385.99479)"
+       inkscape:transform-center-x="0.021349695"
+       inkscape:transform-center-y="2.5132459" />
+    <rect
+       rx="0"
+       y="718.02972"
+       x="216.78729"
+       height="25.52512"
+       width="132.54497"
+       id="rect3328"
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70770591;stroke-opacity:1" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="231.76712"
+       y="715.362"
+       id="text3330"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3332"
+         x="231.76712"
+         y="715.362"
+         style="font-size:20px">LHL</tspan></text>
+    <rect
+       y="718.02972"
+       x="323.92212"
+       height="25.889765"
+       width="26.096935"
+       id="rect3334"
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.70277411;stroke-opacity:1" />
+    <path
+       inkscape:transform-center-y="2.5132459"
+       inkscape:transform-center-x="0.021349695"
+       transform="matrix(0.68676146,0,0,0.72928915,-9.15719,589.60598)"
+       d="m 515,185.09448 -5.96891,10.44615 -5.96891,10.44616 L 497,195.59448 l -6.06218,-10.3923 12.03109,-0.0539 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="0.5191231"
+       sodipodi:arg1="-0.52807445"
+       sodipodi:r2="6.9462218"
+       sodipodi:r1="13.892444"
+       sodipodi:cy="192.09448"
+       sodipodi:cx="503"
+       sodipodi:sides="3"
+       id="path3336"
+       style="opacity:0.98999999;fill:#000000;stroke:#000000;stroke-opacity:1"
+       sodipodi:type="star" />
+    <text
+       sodipodi:linespacing="125%"
+       id="text3338"
+       y="737.36218"
+       x="134"
+       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         style="font-size:20px"
+         y="737.36218"
+         x="134"
+         id="tspan3340"
+         sodipodi:role="line">Model:</tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.8673262;stroke-opacity:1"
+       id="rect3342"
+       width="168.10727"
+       height="32.890137"
+       x="408.67905"
+       y="713.6214"
+       rx="23.23181"
+       ry="0" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       sodipodi:linespacing="125%"
+       id="text3344"
+       y="714.44031"
+       x="508.80188"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         id="tspan3346"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         y="714.44031"
+         x="508.80188"
+         sodipodi:role="line">Model tutorial</tspan></text>
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="118.41238"
+       y="604.73578"
+       id="text3348"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3350"
+         x="118.41238"
+         y="604.73578"
+         style="font-size:15px">Binary sequence</tspan></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text3352"
+       y="496.36218"
+       x="110"
+       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         style="font-size:18px"
+         y="496.36218"
+         x="110"
+         id="tspan3354"
+         sodipodi:role="line">Time-signature: </tspan></text>
+    <rect
+       style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.9013148;stroke-opacity:1"
+       id="rect3342-5"
+       width="181.54094"
+       height="32.890137"
+       x="657.94635"
+       y="380.91711"
+       rx="25.088293"
+       ry="0" />
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       sodipodi:linespacing="125%"
+       id="text3344-6"
+       y="391.582"
+       x="771.854"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         id="tspan3346-3"
+         style="font-size:21.23117828px;text-align:center;text-anchor:middle"
+         y="391.582"
+         x="771.854"
+         sodipodi:role="line">Save rhythm as</tspan></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text3380"
+       y="825.36218"
+       x="129"
+       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         style="font-size:20px"
+         y="825.36218"
+         x="129"
+         id="tspan3382"
+         sodipodi:role="line">Syncopation for the entire piece:</tspan></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text3387"
+       y="403.36218"
+       x="199"
+       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         style="font-size:20px"
+         y="403.36218"
+         x="199"
+         id="tspan3389"
+         sodipodi:role="line">*.midi/.txt</tspan></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text3391"
+       y="614.43988"
+       x="268.86493"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"
+       transform="scale(0.97040516,1.0304974)"><tspan
+         style="font-size:15px;fill:#ff2a2a"
+         y="614.43988"
+         x="268.86493"
+         id="tspan3393"
+         sodipodi:role="line">give examples for both mode, and notification if input is invalid</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 522,452.36218 29,0"
+       id="path3395"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 467.5,772.36218 29,0"
+       id="path3395-0"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 469.5,826.36218 29,0"
+       id="path3395-4"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:0.98999999;fill:#ff2a2a;fill-opacity:0;stroke:#000000;stroke-width:1.32440054;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="rect3522"
+       width="749.66852"
+       height="275"
+       x="102.3315"
+       y="428.36218"
+       rx="10.632164" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 271,277.09448 0,20"
+       id="path3524"
+       inkscape:connector-curvature="0"
+       transform="translate(0,308.2677)" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 267,224.09448 554,0"
+       id="path3526"
+       inkscape:connector-curvature="0"
+       transform="translate(0,308.2677)" />
+    <text
+       xml:space="preserve"
+       style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:WinSongTTF;-inkscape-font-specification:WinSongTTF"
+       x="276"
+       y="534.36218"
+       id="text3530"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3532"
+         x="276"
+         y="534.36218">/</tspan></text>
+    <text
+       transform="scale(0.97040516,1.0304974)"
+       xml:space="preserve"
+       style="font-size:28.30823708px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;font-family:Sans"
+       x="134.90025"
+       y="771.64551"
+       id="text3534"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3536"
+         x="134.90025"
+         y="771.64551"
+         style="font-size:15px;fill:#ff2a2a">Explain why this syncopation is none</tspan></text>
+  </g>
+</svg>
--- a/Syncopation models/main.py	Sun Oct 05 21:52:41 2014 +0100
+++ b/Syncopation models/main.py	Fri Mar 20 18:28:08 2015 +0000
@@ -1,5 +1,11 @@
+'''
+Author: Chunyang Song
+Institution: Centre for Digital Music, Queen Mary University of London
 
-def syncopation_perbar(seq, model, timesig = None, subdivision_seq = None, weight_seq = None, L_max = 5, prebar_seq = None, postbar_seq = None, strong_beat_level = None):
+'''
+
+
+def sync_perbar_permodel(seq, model, timesig = None, subdivision_seq = None, weight_seq = None, L_max = 5, prebar_seq = None, postbar_seq = None, strong_beat_level = None):
 	syncopation = None
 
 	if seq == None or model == None:
@@ -10,15 +16,18 @@
 	
 	else:
 		while subdivision_seq == None:
-			from basic_functions import get_subdivision_seq
+			from BasicFuncs import get_subdivision_seq
 			subdivision_seq = get_subdivision_seq(timesig, L_max)
 
-		# polyrhythm detection:
+		# The get_rhythm_category function is used to detect rhythm category: monorhythm or polyrhythm.
+		# For monorhythms, all prime factors of the length of minimum time-span representation of this sequence are
+		# elements of its subdivision_seq, otherwise it is polyrhythm; 
+		# e.g. prime_factors of polyrhythm 100100101010 in 4/4 is [2,3] but subdivision_seq = [1,2,2] for 4/4 
 		def get_rhythm_category():
 			rhythm_category = 'mono'
-			from basic_functions import get_min_timeSpan, find_prime_factors
+			from BasicFuncs import get_min_timeSpan, find_prime_factors
 			for f in find_prime_factors(len(get_min_timeSpan(seq))):
-				if not (f in subdivision_seq):		# if one of the prime factors of this sequence is not in subdivision_seq
+				if not (f in subdivision_seq): 
 					rhythm_category = 'poly'
 					break
 			return rhythm_category
@@ -50,36 +59,45 @@
 			import TOB
 			syncopation = TOB.get_syncopation(seq)
 		elif model == 'WNBD':
-			import WNBD		# based on normalising per bar so far, should be normalising whole rhythm... 
+			import WNBD
 			if strong_beat_level == None:
 				if timesig == '4/4':
 					strong_beat_level = 2
 				else:
 					strong_beat_level = 1 
 			syncopation = WNBD.get_syncopation(seq, subdivision_seq, strong_beat_level, postbar_seq)
+
 		else:
 			print 'Error: undefined syncopation model.'
 
 	return syncopation
 
+# def syncopation_all(rhythm, model, timesig, subdivision_seq = None, weight_seq = None, L_max = 5, strong_beat_level = None):
+# 	syncopation = 0
+# 	# Chope rhythm into seq
+# 	# ...
 
-#def syncopation(rhythm, model, timesig, subdivision_seq = None, weight_seq = None, L_max = 5, strong_beat_level = None):
+# 	for (seq_perbar in seq):
+# 		sync_perbar = syncopation_perbar(seq_perbar,model, timesig, subdivision_seq, weight_seq, L_max, strong_beat_level)
+# 		if sync_perbar != None:
+# 			syncopation = syncopation + sync_perbar
 
+# 	return syncopation
 
 
 ### TESTING
-clave = [1,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0]
-bf = [0,0,0,1,0,0,0,0,0,0,1,0]
-rhythm = [0,1,0,1,0,1,0,1]
-classic1 = [1,0,1,1]*3 + [1,0,0,0]
-classic2 = [1,0,0,1]*3 + [1,0,0,0]
-shiko = [1,0,1,1,0,1,1,0]
-rumba = [1,0,0,1,0,0,0,1,0,0,1,0,1,0,0,0]
-soukous = [1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0]
-gahu = [1,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0]
-bossanova = [1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0]
+# clave = [1,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0]
+# bf = [0,0,0,1,0,0,0,0,0,0,1,0]
+# rhythm = [0,1,0,1,0,1,0,1]
+# classic1 = [1,0,1,1]*3 + [1,0,0,0]
+# classic2 = [1,0,0,1]*3 + [1,0,0,0]
+# shiko = [1,0,1,1,0,1,1,0]
+# rumba = [1,0,0,1,0,0,0,1,0,0,1,0,1,0,0,0]
+# soukous = [1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0]
+# gahu = [1,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0]
+# bossanova = [1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0]
 
-classic12 = [1,0,0,1,1,1,1,0,0,1,1,1]
-soli = [1,0,1,0,1,0,1,0,1,1,0,1]
+# classic12 = [1,0,0,1,1,1,1,0,0,1,1,1]
+# soli = [1,0,1,0,1,0,1,0,1,1,0,1]
 
-print syncopation_perbar(seq = clave, model = 'TMC', timesig = '4/4')
+# print sync_perbar(seq = clave, model = 'WNBD', timesig = '4/4')
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Syncopation models/rhythmbase/clave.txt	Fri Mar 20 18:28:08 2015 +0000
@@ -0,0 +1,3 @@
+t{4/4};q{1,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0}
+q{1,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0}
+t{3/4};q{1,1,1}
\ No newline at end of file