[ddots-l] Re: New functionality for Sonar

  • From: "THOMAS DE ROSA" <tomdenyc@xxxxxxxxxxx>
  • To: <ddots-l@xxxxxxxxxxxxx>
  • Date: Wed, 27 Dec 2006 13:41:55 -0500

Phil:
That's great information.  I'm a novice coming to digital from analogue.  I
hope to get to the point where I can use this information.

Thanks
----- Original Message -----
From: "Phil Halton" <philhalt@xxxxxxxxxxx>
To: "ddots-l" <ddots-l@xxxxxxxxxxxxx>
Sent: Saturday, December 23, 2006 2:36 PM
Subject: [ddots-l] New functionality for Sonar


> Hello Listers,
>
> As you may or may not know, Sonar has a scripting facility called CAL
> (Cakewalk Application Language).  CAL Scripts can be run from within Sonar
> and perform specialized tasks on Sonar data in ways that can't be achieved
> through the menu system commands.  Its similar to how JAWS allows for
> scripts to be written to give additional functionality to
JAWS--CakeTalking
> scripts for example.
>
> What follows is a brief description of one such CAL program.  If there is
> any interest in this sort of additional functionality for Sonar, I could
> probably package it up and distribute it via a file sharing site-in the
same
> way Chris Smart distributed his great tutorial collection.
>
> The CAL program I refer to is called "Strum" and I've been using it with
> good results, although its still technically in beta testing.
>
>
>
> Notes on use of the "Strum.cal" program
>
> this program alters chords in a selected region of a sequence in such a
way
> as to simulate a strum effect--as though strumming a
> guitar.  It recognizes a chord to be any set of two or more notes that
> reside at the same time line position.  The maximum chord
> size it will handle is 6 notes.  If it encounters more than 6 note events
at
> the same time position, it will indicate the MBT position
> of the chord along with a message that the chord size is exceeded, and
then
> terminate.
>
> Preparing the Sequence region:
>
> First, select the region you want to modify.  Then run the CAL program--it
> will affect only the data selected.  CAL programs are
>
> run by selecting Process|Run CAL from the sonar menu system.  Then browse
to
> the strum.cal file and press enter.  A note of
>
> caution--it is important to first perform a "bounce to clips" on the
> selected region before using this CAL (or any CAL) program.
>
> The reasons have to do with the way sonar stores sequence data.  Without
> getting in over my head on this, if you've done any
>
> editting on the sequence, then the data will most likely be stored in
> "clips", and clips will be out of sequential order.  You won't
>
> notice it, but CAL will, and results will be very screwy.  So, just get in
> the habit of doing a bounce to clips before running CAL
>
> programs.  Also, you will need to re-select the region after the Strum
> program runs.  This is because Strum actually erases the
>
> origional sequence and re-writes it as a new sequence in the same time
> region.  CakeTalking will report that the region is still
>
> selected, but it will be unaware of the changes and the region it thinks
it
> sees as selected is actually no longer in existence.  So,
>
> simply press control enter again to re-select the region.
>
> Input Parameters supplied by the User
>
> Strum lets you alter three aspects of a chord; the span, or spacing of the
> notes in the chord, the velocities of the individual notes
>
> and the duration of each note in the chord.  You can choose to alter any
of
> the three aspects, singularly, or in any combination.
>
> That is, you could choose to pass over the selected sequence and set just
> the durations. Or, you could set the duration and
>
> velocities of the chord tones in one pass and another pass for tinkering
> with the span.  However, once you set the span, you can
>
> no longer use Strum on the sequence because the chord tones will no longer
> occupy the same time position and thus, will no
>
> longer be chords from the program's point of view.  So, setting the span
> should be the last aspect you change.  In order to use
>
> Sstrum after setting the span, you must Quantize the sequence to re-align
> the chord notes to the same time position and span
>
> them again.  If re-quantizing, you can retain any duration setting you've
> made by unchecking the "note durations" checkbox in the
>
> quantize dialog.  Quantizing will have no affect on any velocity settings
> you've made.
>
> Sorting chord tones
>
> Before describing the input parameter screens, it should be noted that
there
> is a fourth aspect of chords that can be controlled--
>
> their sort order.  If you look at a chord in the event list view, you'll
> notice that the notes are not necessarily in any specific order-
>
> low to high for example.  Maybe you entered the notes as best you could
on
> a keyboard, then quantized to align the notes to the
>
> grid.  Whatever order you entered them - even if you thought they were
> pressed simultaineously, is the order they're going to stay
>
> in.  This is of no consequence when chord tones are sounded in unison, but
> when you "Strum" the chord, those out-of-order
>
> notes will result in a peculiar sound--as if the instrument was strung
> incorrectly.  Using Strum automatically sorts chord tones into
>
> ascending order.  So, even if you choose not to enter values for span,
> velocity, or duration--seemingly doing nothing to the
>
> sequence--you will have by default, sorted the sequence's  chord notes
>
>
> Now, there are three input screens that prompt you for parameters for the
> three aspects mentioned.  In addition, if you enter a
>
> value in any of these screens, a companion screen appears that lets you
set
> additional fine-tuning parameters.  After the program
>
> completes execution, a screen appears summarizing the parameters you
entered
> so you can get a better idea of what parameter
>
> settings result in what sound quality.  The summary lists parameters as
> follows:
>
> SP=span, SC=span curve, V=velocity, VS=Velocity spread, D=duration,
> DT=duration trim
>
> The Input Parameter screens are as follows:
>
> 1) Span.  This screen asks you for the number of ticks used to seperate
each
> note of the chord. For example, entering 10 here
>
> would seperate each note in the chord by ten ticks.  Guitar strums sound
> good at around 30 ticks.
>
> 2) Span Curve.  This is the companion screen to the span parameter screen
> and asks for a number between 1 and 7.  This "curve
>
> factor" is used to seperate each successive note by an additional amount
in
> addition to the base span entered in the previous
>
> screen.  A value of seven will cause no additional distance between notes
> and results in a linear spacing of chord tones.  A value
>
> of six will increase the span of each successive note by an additional
16%.
> A value of five will increase the span of successive
>
> notes by 20%, four for 25%, three for 33%, two for 50%, and finally, one
for
> 100%.  Curving the span like this causes the latter
>
> notes to be spaced wider than the earlier notes of the chord--kind of like
> fanning a deck of cards.   Experiment a bit with these
>
> curve factors--they take some of the mechanical sound out of the strum.
>
> 3) Set Velocity.  This screen asks whether or not you want to
"standardize"
> the velocities of the individual chord tones.  You can
>
> enter a value from 0 to 127.  A value of 0 will leave the velocities as
they
> are.  If you enter any other value, all note velocities  in
>
> the chord will be set to that value.
> 4) Velocity Spread.  In the Set Velocity screen, if you enter a velocity
> other than zero(which leaves the origional velocities intact),
>
> this screen will appear.  It asks for a number of ticks between 0 & 10
that
> will be used to scale the individual velocities of the
>
> notes in the chord.  First, each note is set to the base velocity
specified
> in the Set Velocity screen. Then each note is scaled
>
> downward from that point.  For example, entering 3 will scale down the
> velocity of the first note by a random number between 0
>
> & 3.  Then the next note will be scaled between 3 and 6, the third note
> between 6 & 9 and so on.  entering zero in this screen
>
> will skip the scaling process and set all notes to the specified base
> velocity.
> 5) Duration.  In this screen you can set a duration for the chord tones.
A
> value of 0 will leave note durations unaffected.  Values
>
> from 1 to 3860 will set the duration of each note in the chord to that
> number of ticks.  The value 3860 is the equivalent of four
>
> quarter notes with a project time base of 960PPQ(PartsPerQuarternote).
For
> an example, if you set this field to 1440, it will set
>
> all chord tone durations to 1 and a half quarter notes.  Keep in mind your
> project's PPQ setting when setting this input field.
>
> Also, a calculator might be useful at first in determining tick to note
> conversions.
> 6) Duration Trim.  This last input screen lets you set a maximum value for
a
> random trimming of each note's duration.  Setting this
>
> value to 50, for example, will trim from each note's duration, a random
> number of ticks in the range of 1 to 50.  Although quite
>
> subtle, it is subtlety that makes for the "human" feel in computer
generated
> music.  As with all the other "companion" screens, this
>
> screen only appears when a valid tick value is entered in the duration
> screen.
>
>
> End of notes
>
> ** To leave the list, click on the immediately-following link:-
> ** [mailto:ddots-l-request@xxxxxxxxxxxxx?subject=unsubscribe]
> ** If this link doesn't work then send a message to:
> ** ddots-l-request@xxxxxxxxxxxxx
> ** and in the Subject line type
> ** unsubscribe
> ** For other list commands such as vacation mode, click on the
> ** immediately-following link:-
> ** [mailto:ddots-l-request@xxxxxxxxxxxxx?subject=faq]
> ** or send a message, to
> ** ddots-l-request@xxxxxxxxxxxxx with the Subject:- faq
>

** To leave the list, click on the immediately-following link:-
** [mailto:ddots-l-request@xxxxxxxxxxxxx?subject=unsubscribe]
** If this link doesn't work then send a message to:
** ddots-l-request@xxxxxxxxxxxxx
** and in the Subject line type
** unsubscribe
** For other list commands such as vacation mode, click on the
** immediately-following link:-
** [mailto:ddots-l-request@xxxxxxxxxxxxx?subject=faq]
** or send a message, to 
** ddots-l-request@xxxxxxxxxxxxx with the Subject:- faq

Other related posts: