Class: Accords

Inherits:
Object
  • Object
show all
Includes:
VoiceLeading
Defined in:
lib/rubySC/harmonie/accords.rb

Overview

simplement un ensemble de voix marchant en simultanée mais selon une logique harmonique => une basse !

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from VoiceLeading

#accordBasique, #detectPosition, #dispatchNotes, #incrementer, #reduireGrille

Methods included from Intervalles

#intervalles, #intervallesAbs, #intervallesBoucle, #intervallesRel, #squeletteIntervallique

Constructor Details

#initialize(grille:, nbVoix: 3, rythmeHarmonique: nil) ⇒ Accords

Returns a new instance of Accords.



9
10
11
12
13
14
# File 'lib/rubySC/harmonie/accords.rb', line 9

def initialize grille:, nbVoix:3, rythmeHarmonique:nil
	@basse=grille
	@realisation=Array.new(nbVoix) { |i| i=[]  }
	@rythmeHarmonique=rythmeHarmonique
	self.realiserAccords
end

Instance Attribute Details

#grilleObject

Returns the value of attribute grille.



7
8
9
# File 'lib/rubySC/harmonie/accords.rb', line 7

def grille
  @grille
end

Instance Method Details

#playObject



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/rubySC/harmonie/accords.rb', line 16

def play 
	3.times do |i|
	Voix.new "harmo#{i}", {:instrument =>"default",
							   :degree => @realisation[i],
							   :dur => @rythmeHarmonique}
	end
	Voix.new "basse", {:instrument => "fatsaw", 
					   :degree =>@basse,
					   :dur => @rythmeHarmonique}
	#if jouer? ? SC.play : nil
end

#realiserAccordsObject



36
37
38
39
40
41
42
43
44
45
# File 'lib/rubySC/harmonie/accords.rb', line 36

def realiserAccords
	tmp=accordBasique @basse[0]
	foutreDansReal tmp
	grille=reduireGrille @basse
	p grille
	grille.each { |e| 
	tmp=incrementer tmp, e
	p tmp
	foutreDansReal tmp }
end