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