// frenchwaltz Begin Doc These try to do the "French Cafe" sound. The song "Pigalle" works quite well with this. Note the setting of the BassRegister variable which tries to emulate the "switches" on a real accordion. In this case we have an accordion with three reed banks labeled "L", "M" and "H"--this will make large changes to the accordion um-pa-pa stuff End Author Bob van der Poel SeqClear Time 3 Timesig 3 4 Include stdpats34 Begin DocVar BassRegister Sets the bass register, 1=L 2=LM 3=LH 4=LMH 5=M 6=MH 7=H (Default=4). CSeq Internal, Chord sequence list, BSeq Internal, Bass sequence list. End NewSet BassRegister 4 Begin Chord Define A1 2 3 90 ; 3 3 90 // chords on 2,3 A2 2 8. 90 ; 3 3 80 // same, but with 2 a bit draggy A3 2 8. 70 ; 3 8. 60 // same, but a bit softer to use with bass walk End ////////////////////////////////////////////// ///// FrenchWaltz Cheezy 3/4 with accordion SeqSize 8 // For the left hand chord (the basic accomp. on an accordion) // we use a combination of a chord and bass patterns. The BASS // track is a single note on beat 1, the CHORD track has full // chords on 2, 3. Accordion basses are quite limited ... in most // cases a single octave. So, to duplicate this sound we use the // NOTESPAN directive for Chord and Bass to limit the notes used. // To get a fuller sound we duplicate the chord and bass tracks // with a higher pitched register (a musette accordion would have // the 2nd register slightly de-tuned). // Use macros for the sequences so they are easy to dup Set Cseq A1 / / A2 A1 / / A3 Set Bseq B1 B1/5 B1 B1/5 B1 B1/5 B1/5 B123 // Create 3 tracks for chord and bass. Each track has same voice, etc. but // has a different notespan. The notespan range corresponds to the register // settings on an accordion. Ranges are F# to F (which matches what MMA uses). Begin Chord-L Sequence $Cseq Articulate 70 Octave 4 // This has no effect! NoteSpan 42 53 Volume mp End Begin Bass-L Sequence $Bseq Articulate 60 Octave $_Chord-L_Octave Volume $_Chord-L_Volume NoteSpan $_Chord-L_Span End // Set the voice for Chord-L. We copy this voicing to the other tracks // so it has be set at least once. Wrap in case this is read a 2nd time. StackValue $_Debug Debug Warnings=Off Chord-L Voice Accordion Bass-L Voice Accordion Debug $_StackValue Begin Chord-M Copy Chord-L NoteSpan 54 65 Sequence $Cseq End Begin Chord-H Copy Chord-L NoteSpan 66 77 Sequence $Cseq End Begin Bass-M Copy Bass-L NoteSpan $_Chord-M_Span Sequence $Bseq End Begin Bass-H Copy Bass-L NoteSpan $_Chord-H_Span Sequence $Bseq End // Setting of chshare and voice is done here in a no-warning // wrapper. The problem is that if you re-read this file a // bunch of warnings pop up. StackValue $_Debug Debug Warnings=Off Chord-M ChShare Chord-L Chord-H ChShare Chord-L Bass-L ChShare Chord-L Bass-M ChShare Chord-L Bass-H ChShare Chord-L Debug $_StackValue // Now we look at the value in BassRegister and turn off the voices // we're not using. You might think that you can do with by setting // empty sequences (nope, we change the seqeunce for other grooves and // you'd have to do this stuff again); deleting the track (same nope) // or doing a 'OFF' (nope, on a re-read after a GrooveClear it stays OFF). // All of these complications come with ChShare :) But turning the // volume down to nothing does work. If Eq $BassRegister 1 Chord-M Volume Off Chord-H Volume Off Chord-L Volume +30 Bass-M Volume Off Bass-H Volume Off Bass-L Volume +30 Endif If Eq $BassRegister 2 Chord-H Volume Off Bass-H Volume Off Endif If Eq $BassRegister 3 Chord-M Volume Off Bass-M Volume Off Endif If Eq $BassRegister 4 Chord-L Volume -10 Chord-M Volume -10 Chord-H Volume -10 Bass-L Volume -10 Bass-M Volume -10 Bass-H Volume -10 Endif If Eq $BassRegister 5 Chord-L Volume Off Chord-H Volume Off Bass-L Volume Off Bass-H Volume Off Endif If Eq $BassRegister 6 Chord-L Volume Off Bass-L Volume Off Endif If Eq $BassRegister 7 Chord-L Volume Off Chord-M Volume Off Chord-H Volume +20 Bass-L Volume Off Bass-M Volume Off Bass-H Volume +20 Endif // To add a bit of life to this we get Django in to do // a very straight strum/strum/strum on his guitar. Begin Chord-Guitar Sequence C123 Voicing Mode=Optimal Strum 5 Voice NylonGuitar Accent 1 10 Octave 5 Volume pp Articulate 90 End // And some nice people do simple drums. Begin Drum-Tam Sequence D23 Tone Tambourine Volume pp Rvolume 10 Rskip 5 Rtime 10 End Begin Drum-Tri Sequence D1 Tone OpenTriangle Volume pp Rskip 50 Rvolume 30 Rtime 10 End DefGroove FrenchWaltz Accordion umm-pa-pa. Ya either love it or hate it! ///////////////////////////////////////////////// //////// Sustained strings in the background. Begin Chord-Sus Voice Strings Sequence { 1 2. 90 0 80 0 * 3} // Root and fifth notes only. Voicing Mode=Optimal Volume p Octave 5 Articulate 100 Unify On End DefGroove FrenchWaltzSus Add sustained strings to basic pattern. //////////////////////////////////////////////////// // Alternates /////// Accordion fills Groove FrenchWaltz Begin Arpeggio Sequence A6 / / A3 SeqRnd On Accent 1 10 Range 3 Articulate 80 Voice Accordion Octave 5 Volume pp Rvolume 10 Rskip 10 10 50 10 Rtime 2 End DefGroove FrenchWaltz1 FrenchWaltz with with accordion apreggios. Begin Scale Voice $_Arpeggio_Voice Sequence {1 1 80 * 12 } Octave 5 Articulate 66 Range 2 Direction Up Volume m End Chord-L Sequence L1 Chord-M Sequence L1 Chord-H Sequence L1 Bass-L Sequence - Bass-M Sequence - Bass-H Sequence - Chord-Guitar Sequence - DefGroove FrenchWaltz1Fill Adds an accending run. Groove FrenchWaltz1 Chord-Sus Groove FrenchWaltzSus DefGroove FrenchWaltz1Sus Arpeggios and sustained strings. Groove FrenchWaltz1Fill Chord-Sus Groove FrenchWaltzSus DefGroove FrenchWaltz1FillSus Arpeggios, run and sustained strings. //////////// Piano Fills Groove FrenchWaltz Begin Arpeggio SeqClear Sequence {1 4 90; 3 4 90} {1 2. 90} SeqRnd On Harmony Open Voice Piano1 Range 2 Octave 5 Direction Down Volume mp Rtime 2 End DefGroove FrenchWaltz2 A simple, little counter melody on a piano. Begin Scale Voice $_Arpeggio_Voice Sequence {1 1 80 * 12 } Octave 6 Articulate 60 Range 2 Direction Up Volume mp End Chord-L Sequence L1 Chord-M Sequence L1 Chord-H Sequence L1 Bass-L Sequence - Bass-M Sequence - Bass-H Sequence - Chord-Guitar Sequence - DefGroove FrenchWaltz2Fill Add a piano run to the counter melody. Groove FrenchWaltz2 Chord-Sus Groove FrenchWaltzSus DefGroove FrenchWaltz2Sus Piano counter melody and sustained strings. Groove FrenchWaltz2Fill Chord-Sus Groove FrenchWaltzSus DefGroove FrenchWaltz2FillSus Piano counter melody and run with sustained strings. /////////////// Violin Fills Groove FrenchWaltz Begin Arpeggio SeqClear Sequence A1 A3 Rskip 0 20 SeqRnd On Voice Viola Range 2 Octave 5 Direction Up Volume p Rtime 2 Rvolume 10 End DefGroove FrenchWaltz3 A simple, little counter melody on a viola. Begin Scale Voice $_Arpeggio_Voice Sequence {1 1 80 * 12 } Octave 5 Range 2 Direction Up Volume mp End Chord-L Sequence L1 Chord-M Sequence L1 Chord-H Sequence L1 Bass-L Sequence - Bass-M Sequence - Bass-H Sequence - Chord-Guitar Sequence - DefGroove FrenchWaltz3Fill Add a string run to the counter melody. Groove FrenchWaltz3 Chord-Sus Groove FrenchWaltzSus DefGroove FrenchWaltz2Sus Viola counter melody and sustained strings. Groove FrenchWaltz3Fill Chord-Sus Groove FrenchWaltzSus DefGroove FrenchWaltz3FillSus Viola counter melody and run with sustained strings. //////////////////////////////////////// /// Introduction Groove FrenchWaltz Set Cseq * * * L1 Set Bseq * * * {1 2 1 50} Chord-L Sequence $Cseq Chord-M Sequence $Cseq Chord-H Sequence $Cseq Bass-L Sequence $Bseq Bass-M Sequence $Bseq Bass-H Sequence $Bseq Chord-Guitar Sequence L1 Drum-Tam Sequence * D1 * D1 Drum-Tri Sequence D1 / / D123 DefGroove FrenchWaltzIntro A 4 bar intro. ///////////////////////////////// //// Endings Groove FrenchWaltz Seqsize 4 Set Cseq A1 / / {1 2 40} Set Bseq B1 B1/5 B1 {1 2 1 40} Chord-Guitar Sequence - Chord-L Sequence $Cseq Chord-M Sequence $Cseq Chord-H Sequence $Cseq Bass-L Sequence $Bseq Bass-M Sequence $Bseq Bass-H Sequence $Bseq Drum-Tam Sequence D23 / / D1 Begin Scale SeqClear Sequence S6 S3 S3 {1 2 80} Direction Up Range 3 Voice Strings Octave 5 Articulate 80 80 80 100 End DefGroove FrenchWaltzEnd A scale with the strings to end \ the FrenchWaltz. The scales run from \ 16, 8, 4 and whole notes. // Variation Begin Scale Voice Accordion Direction Down Range 3 Octave 3 End DefGroove FrenchWaltz1End Same ending as FrenchWaltzEnd but with \ an accordion instead of strings.