Hi all, did anyone so far create a tool for an automatic harmonic reduction of polyphonic music?
Attached you'll find one way how that could look like done manually.
The task would be to
* read an arbitrary number of voices (music expressions)
* determine the moments where "something" happens (note/rest)
* calculate the chords for each of these steps
* construct the corresponding music
* a) at the absolute pitches
* b) squashed into one of two ranges (all notes within one octave /
"closest" setting but in order (this is not in the example))
I'm not fixated in *exactly* the output of the example but would like
to know if there's something existing in that direction.
Thanks
Urs
\version "2.20.0"
%\include "oll-core/package.ily"
%\loadPackage notation-fonts
%\useNotationFont \with {
% extensions = ##t
%} arnold
\paper {
indent = 3\cm
system-count = 1
}
\layout {
\context {
\Score
\accidentalStyle dodecaphonic
\override InstrumentName.font-size = #-1
}
}
voice = \relative {
r4 r8 cis'4 d c8
|
c ( fis4. ~ fis8 ) es es f
}
pianoUp = \relative {
\clef bass
r8 b, ( a'4 -> ) r8 b, ( g'4 -> )
|
r8 g ( as,4 g'16-. ) r a,4 ( gis'8 )
}
pianoDown = \relative {
\clef bass
r8 g,4 ( gis,16-. ) r r8 a4 ( gis'16-. ) r
|
r8 a,-. [ a
%-\arnoldStrongbeat
( b'16 )] r r4 b
}
combOneUp = \relative {
r4 r8 cis'16 ~ cis ~ cis8 d8 ~ d c16 ~ c
|
c8 fis ~ fis ~ fis16 ~ fis ~ fis ~ fis es8 ~ es f
}
combOneDown = \relative {
\clef bass
r8 <g, ~ b>8 <g a'~ > <gis, a''~ >16 a'' r8 <a,, b'>8 ~ <a g''> ~ <gis' g'>16 ~ g'
|
r8 <a,, g''>8 <a as'> ~ <as' b>16 ~ as g' r a,8 ~ <a b> ~ <b gis'>
}
combTwo = \relative {
r8 <g' b>8 ~ <g a> ^~ <cis, gis' a>16 ~ <cis a'> ~ cis8
<d a' b>8 ~ <d g a> ~ <c g'! gis>16 ~ <c g'!>
|
c8 <fis g a> ~ <fis as a!> <fis as b>16 ~ <fis as> ~
<fis g> ~ fis <es a>8 ~ <es a b> ~ <f gis b>
}
rhythm = \relative {
r8 d'' d d16 d d8 d d d16 d
|
d8 d d d16 d d d d8 d d
}
\score {
<<
\new Staff \with {
instrumentName = "Voice, orig."
} \voice
\new PianoStaff \with {
instrumentName = "Piano, orig."
} <<
\new Staff \pianoUp
\new Staff \pianoDown
>>
\new PianoStaff \with {
instrumentName = "Comb. 1"
\omit Stem
\omit Flag
\omit Beam
\omit Rest
\omit Dots
}
<<
\new Staff \combOneUp
\new Staff \combOneDown
>>
\new Staff \with {
\override StaffSymbol.line-count = 1
\autoBeamOff
\omit Clef
\omit NoteHead
\omit Accidental
} \rhythm
\new Staff \with {
instrumentName = "Comb. squashed"
\omit Stem
\omit Flag
\omit Beam
\omit Rest
\omit Dots
} \combTwo
>>
}
excerpt.pdf
Description: Adobe PDF document
