Module: Intervalles
- Included in:
- Harmonie, Melodie, VoiceLeading
- Defined in:
- lib/rubySC/melodie/intervalles.rb
Instance Method Summary collapse
- #intervalles(melodie) ⇒ Object
- #intervallesAbs(melodie) ⇒ Object
- #intervallesBoucle(melodie) ⇒ Object
- #intervallesRel(melodie, note = 0) ⇒ Object
- #squeletteIntervallique(melodie, gdIntervalle = 5, petitInter = 1) ⇒ Object
Instance Method Details
#intervalles(melodie) ⇒ Object
3 4 5 6 7 8 9 10 11 12 |
# File 'lib/rubySC/melodie/intervalles.rb', line 3 def intervalles melodie tmp=melodie.each_with_index.map{ |a, i| if melodie[i+1] then melodie[i+1]-a end } tmp[0..-2] end |
#intervallesAbs(melodie) ⇒ Object
20 21 22 23 24 |
# File 'lib/rubySC/melodie/intervalles.rb', line 20 def intervallesAbs melodie (intervallesMel melodie).map { :abs } end |
#intervallesBoucle(melodie) ⇒ Object
14 15 16 17 18 |
# File 'lib/rubySC/melodie/intervalles.rb', line 14 def intervallesBoucle melodie intervallesMel melodie << melodie[0]-melodie[-1] end |
#intervallesRel(melodie, note = 0) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/rubySC/melodie/intervalles.rb', line 26 def intervallesRel melodie, note=0 ptDepart = melodie[note] return melodie.map { |x| x-= ptDepart } end |
#squeletteIntervallique(melodie, gdIntervalle = 5, petitInter = 1) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/rubySC/melodie/intervalles.rb', line 33 def squeletteIntervallique melodie, gdIntervalle=5, petitInter=1 i=intervalles melodie i.map! { |e| if e<=petitInter e=0 elsif e>=gdIntervalle e=2 else e=1 end } end |