this.voice2 = Array.range(1, len + gap).map(function(i) {
var note = noteProto.copy();
if (i <= len) music.addMorph(note);
always: { note.note.is in this.voice2Chords() }
always: { note.length.is in [8,16,32,64,128] }
this.voice1.each(function (note1, idx) {
var note2 = this.voice2[idx],
note2gap = this.voice2[idx + gap],
always: { priority: 'strong'
self.isValidBichord(note1.note, note2gap.note)
note1.length === note2.length
note1.length = Math.pow(2, Math.round(Math.random() * 2 + 4))
for (var i = idx + 1; (i < len && i <= idx + gap); i++) {
var note1f = this.voice1[i],
note1.note !== note1f.note || note2.note !== note2f.note