Strumpy Pro User Guide (version 1.1.0)

Strumpy Pro User Guide (version 1.1.0)
Strumpy Pro
User Guide (version 1.1.0)
Thank you for downloading Strumpy Pro
Strumpy Pro was conceived and developed by Nigel Smith, an IT professional with musical
interests located in the United Kingdom (and the author of this document).
Nigel can be contacted at the following email address.
[email protected]
1
1 Background
As is often the case with many applications, it was conceived to satisfy a personal need of its
creator.
As a keyboard based amateur home recordist there came a time when I just needed the sound of a
strumming guitar in one of my projects. As I'm not able to play a guitar this presented a challenge.
Anyone who has attempted to simulate the strumming of guitar strings on a midi keyboard in real
time will understand how difficult it is to get an authentic sounding strum. Just as fiddly and
difficult is trying to enter the midi notes representing the plucking of each string in a chord strum
using a digital audio workstation's piano roll view.
I wondered whether it would be possible to write some software to simulate the subtle timing delays
introduced when you strum the strings on a guitar and then capture this in the midi domain so that
the results can be imported into a digital audio workstation (DAW) for use in a home recording
project.
Once in a DAW a suitably compiled strumming clip can be mapped to an authentic guitar sound on
either an external keyboard or an internal soft synth and then used in the same way as any other
midi clip. No need to have to manually generate the complex timings between each midi note.
So, given the basic idea, in what technology should it be built?
Recent advances in mobile technology has generated an explosion in useful software applications
that can be used whilst out and about. What better than to build the software in a mobile technology
so that fellow musicians and home recordists could compose strum patterns whilst travelling to or
from work, maybe emailing the finished project midi file to their main computer for loading into a
DAW.
Strumpy was born!
Android was chosen as the technology of choice simply because it was easier and cheaper to
develop on that platform when compared to Apple's rival technology (the author didn't have a Mac).
Android is available on a growing range of manufacturer devices because of its more open nature.
In time this may allow Strumpy to reach a much larger audience than if it had been built on Apple
technology.
2
2 Concepts
2.1 Projects
In Strumpy Pro you create one or more projects based on a set of pre-configured templates. The
'default' template has no pre-configured set of phrases and associated strum patterns. It's essentially
an empty project. The other project templates are simply the sample projects delivered as templates
so that you can create your own project based on one of the delivered samples.
The default template is a good place to start if you want to build something completely new rather
than inheriting sample patterns.
A project is constructed from one or more tracks.
2.2 Tracks
2.2.1 Overview
A Strumpy track is a collection of one or more phrases the content of which sources one or two
associated midi output track streams during playback (Primary and a Secondary tracks). When two
midi track streams are configured for a Strumpy track it's output is sent to two separate midi tracks,
each containing an exact copy of the note events generated by its configured phrases.
Each of these output midi tracks can be assigned their own midi track parameters (as shown below)
resulting in quite pleasing creative effects, particularly when a timing delay is introduced between
them. For example, configuring a strumming guitar track in this way with a slight delay between
each of the output midi tracks can be quite pleasing.
All Strumpy tracks have at least one primary midi output track and a user can optionally configure a
second one on all tracks other than drum tracks (i.e. those assigned to midi channel 10). The second
midi output track receives exactly the same musical content as the primary midi output track (i.e. a
duplicate note event stream).
A user has control over the following Strumpy track parameters.
•
Primary instrument (disabled on drum tracks)
•
Primary midi channel (1-16)
•
Primary delay (0-127)
•
Primary volume (0-127)
•
Primary pan (0-127)
•
Primary enhanced mode suppression (on/off)
3
•
Secondary instrument (disabled on drum tracks)
•
Secondary midi channel (1-16)
•
Secondary delay (0-127)
•
Secondary volume (0-127)
•
Secondary pan (0-127)
•
Secondary enhanced mode suppression (on/off)
2.2.2 Primary Instrument
The midi instrument assigned to the primary midi output track. You can select from the set of
general midi instrument sounds each of which has a corresponding midi program number. How it
sounds will be down to its specific implementation on your particular device but generally speaking
the same midi program numbers should generally sound like the same instrument regardless of
device manufacturer. Note that this parameter is disabled on drum tracks (midi output tracks
assigned to channel 10) as percussion instrument sounds are determined by individual note pitches
and these are configured in individual track phrases (see later).
2.2.3 Primary midi channel
The midi channel assigned to your Strumpy track's primary midi output channel. Midi channels are
automatically assigned to midi output tracks by Strumpy itself which will attempt to assign unused
midi channels (other than channel 10) to all new midi output tracks that require them. It will do this
until it runs out (there are only 15 available midi channels excluding the drum channel). When it
runs out it will assign an already assigned midi channel. Channel 10 (the standard midi drum
channel is not automatically assigned but you can manually assign it to a midi output channel if you
wish to include a drum track in your composition. If you do this the currently assigned midi channel
is made available for reassignment.
You should generally leave midi channel assignment to Strumpy unless you specifically want to
override its choice (such as in configuring a drum track). Bare in mind that Strumpy does not
prevent a user from assigning the same midi channel to different midi output tracks, and whilst
allowed it's undesirable because it can lead to unpredictable effects. For example, how your
playback device reacts to multiple note on events occurring at the same time on the same midi
channel. Some devices cope with this by simply assigning another available sound production
engine to allow the notes to sound at the same time, others may be less flexible.
One other thing to note is that Strumpy sends midi balance (read relative volume), pan and program
change events (i.e. setting an instrument) at the start of each track on playback. If more than one
track is assigned to the same midi channel the likelihood is that the last track wins and that the
settings for the last track in your sequence of tracks (see the track list) are what dictate the shape of
the sound that you hear for all midi output tracks mapped onto the same midi channel. Drum tracks
are less sensitive to this than instrument tracks as the drum sounds you hear are dictated by note
event pitches rather than the configured midi program for a given midi channel, but volume and pan
4
settings set on the last Strumpy track assigned to channel 10 ( the standard midi drum channel) will
apply to all tracks assigned to channel 10. Of course should you eventually export your project midi
file and import it into a separate Digital Audio Workstation (DAW) you will have far more
flexibility in configuring each midi track's balance and stereo field placement. This is simply a
restriction when playing back your multi-track compositions on your android device's media player.
2.2.4 Primary delay
All midi output tracks associated with Strumpy tracks start at time zero. You can introduce a relative
time delay such that the primary midi output track of a Strumpy track can be made to lag other midi
output tracks by a user specified amount. The maximum configurable delay is in the order of about
0.5 seconds.
2.2.5 Primary Volume
Sets the volume of the associated midi output track relative to other tracks. If set to the maximum
value the volume heard on playback will be based on the velocity parameters set for each strum
element (i.e. how hard you play the note, hence its volume). If you reduce the volume from its
maximum setting you will reduced its relative volume with other tracks playing at the same time.
Use these controls on each track to control the overall balance of your mix of tracks. This is in
effect a mixing desk volume fader.
2.2.6 Primary Pan
Determines the position in the stereo field of its associated output midi track. Low values pan the
sound to the left of the sound field and higher values to the right. Note the playback impact on your
android device of mapping more than one midi output track to the same midi channel number.
2.2.7 Primary Enhanced Mode Suppression
Enhanced mode can be set at a project level and has the effect of doubling up each phrase note with
a note an octave higher, plus it adds a slight delay between each. It simulates the difference in
timbre you might hear between a six string guitar and a twelve string guitar. This effect may not be
appropriate for many instruments so the option to configure it off on a track by track basis is
provided. For example, its not particularly useful on drum midi tracks where each note pitch
determines the percussion instrument heard. You have no control over the second pitch (always an
octave higher) therefore the slightly delayed second note could trigger another (possibly
undesirable) percussion instrument. Similarly it might not be appropriate to have this feature
operative on single note line tracks such as bass lines, but it is left to end users to find the creative
potential of using this feature with different instrument settings.
5
2.2.8 Secondary instrument
Instrument assigned to a Strumpy track's second midi output track (if configured). Refer to Primary
Instrument above for more details.
2.2.9 Secondary midi channel
Midi channel assigned to a Strumpy track's second midi output track (if configured). Refer to
Primary Midi Channel above for more details.
2.2.10
Secondary delay
User configured timing delay added to a Strumpy track's second midi output track (if configured).
Refer to Primary Delay above for more details.
2.2.11
Secondary volume
User configured volume setting added to a Strumpy track's second midi output track (if configured).
Refer to Primary Volume above for more details.
2.2.12
Secondary pan
User configured stereo field positioning applied to a Strumpy track's second midi output track (if
configured). Refer to Primary Pan above for more details.
2.2.13
Secondary enhanced mode suppression
Allows a user to suppress the Enhanced Mode feature for a Strumpy track's second midi output
track (if configured). Refer to Primary Enhanced Mode Suppression above for more details.
2.2.14
Track Naming
6
Each track is given a name when it is first created in the form 'Track n' where 'n' is one greater than
the current track count. You can of course change this name to something more meaningful using an
option available from the context menu in the track list display on the mixing desk page. Tracks are
logically identified by their ordinal position within a project (as shown in the track list discussed
above) and not by their displayed names. The names are simply to make it easier for users to
identify particular tracks (e.g. 'Bass', 'Guitar Track', 'Drums' etc). Strumpy doesn't stop you
assigning the same name (i.e. label) to more than one track so be sensible when assigning track
names.
2.2.15
Mixing Desk
As you build your composition you will frequently want to manipulate your tracks as a whole and
the mixing desk display is where you achieve this. From the mixing desk you can achieve the
following functions.
•
Add a new track
•
Play your composition
•
Toggle the mute status of all tracks
•
Toggle the solo status of all tracks
•
Toggle the mute status of a single track
•
Toggle the solo status of a single track
•
Move the position of a track within the track list
•
Copy an existing track as a new track
•
Clear any parameter overrides configured for a track
•
Rename a track
•
Remove a track
•
Call up a tracks details page to configure other track parameters that were described in the
track overview section above.
The mixing desk displays tracks in the project position and allows access to the above functions
either through controls at the head of the page (for functions that apply to all tracks) or via a context
menu attached to the track list (for functions affecting a single track).
New tracks are added at the end of the track list but can be reposition using the 'Move' functions.
Tracks can be removed simply by accessing their context menu (long click) and selecting the
'Remove Track' option.
When you play your project composition from the mixing desk the mute and solo status of your
tracks is respected. Muted tracks are excluded from the mix unless they are also have solo status. If
there are any tracks with solo status then only those tracks are included in the mix. You can toggle
the mute and solo status of all tracks in the track list at the touch of a single button. This can
sometimes be quicker than having to call up the corresponding context menu functions on each
7
track in the track list. Use the context menu to change the mute and solo status of individual tracks.
2.3 Phrases and Strum Elements
2.3.1 Overview
A phrase contains a series of strum elements, each of which share the same set of up to six musical
note pitches. The note pitches form the basis of the chord that each strum element within the phrase
plays using a particular strumming technique (and which is configurable for each strum element).
Think of an individual strum element in a phrase as being a stroke (a strum) across a set of six
guitar strings in a particular direction where the individual note pitches represent the position the
guitar player has held each string on the guitar's fretboard.
The strings 'ring' for a particular period of time as determined by the player in keeping with the
nature of the music being played. The duration of each strum therefore aligns on standard music
time division boundaries and can therefore be represented using standard music notation.
Strumpy uses standard music notation to visualize the duration of each strum element (upward or
downward stroke). Supported musical note durations are semibreve, minim, crotchet, quaver,
semiquaver, demisemiquaver, hemidemisemiquaver and further related derivations (see later).
Just as important as stroking a phrase's pitches (strings) in a particular direction is not stroking at all
(a rest). These introduce interest and rhythm into the music being played and Strumpy treats a rest
just like another strum technique except it introduces a period of time when no sound is being
played. This is equivalent to a guitarist not stroking across the strings of a guitar for a particular
period of time (as determined by the rest's note duration).
Think of the set of strum elements associated with a phrase as being a strum pattern, a series of
strums elements that when played exhibit a particular feel or rhythm.
In the above we have discussed phrases and strum elements as though they were traditional musical
instruments (i.e. string/wind or brass). These generate interesting tonal characteristics when several
pitches are played at the same time. Different mathematical relationships between concurrently
sounding notes (i.e. interval patterns) give rise to different tonal effects which can be recognised for
their emotional effect. A key element of composing music is exploring and using these 'chords' to
emotional effect. The same cannot be said for percussion instruments which are generally single
pitch instruments and are rarely 'chorded'.
In the midi world it was decided to use midi note pitch to determine which percussion instrument
(i.e. single pitch instrument) sounded when a note event occurred as it was fairly pointless in using
midi pitch numbers to determine the pitch of the percussion instrument itself.
In Strumpy, if you configure a track to midi channel 10 (the channel which most midi instruments
assign to percussion instruments using the pitch to determine the actual instrument triggered) then
all the phrases in that track are treated as percussion phrases. Instead of six traditional note pitches,
8
what you see when you edit a phrase is essentially up to six drum sounds that can be triggered at the
same time. Instead of being presented with up to six note pitch selection drop downs where you can
select note pitches between C1 to B7, you see a range of percussion instruments that correspond to
the supported 128 midi pitch values (0-127).
Midi standards bodies have assigned particular percussion instruments to the majority of these 128
values and the names of these instruments are what you see in Strumpy when you configure a
phrase in a drum track. Originally there was the General Midi 1 percussion instrument set which
was later extended by the subsequent General Midi 2 specification. Instruments from both are
mapped in Strumpy and can be distinguished by there names which include GM1 or GM2 prefixes.
Note that not all 128 pitch values are mapped by the General Midi standard. They have still been
left selectable (based on just their pitch note numbers) because some midi device implementations
provide mappings to pitches outside the General Midi mapped range. By all means try the
unmapped ones out on your device to see if they fire a percussion instrument but don't be surprised
if you don't hear anything from an unmapped drum track pitch note if you have purposely mapped
one of these.
Typically you would only configure one drop down (usually the first) to specify the desired
percussion instrument for a given phrase and then use the associated strum elements to map out an
appropriate rhythm, however Strumpy does not restrict you from configuring different percussion
instruments in the other drop downs, essentially configuring multiple drum sounds to play at the
same time. The ability to hear more than one drum sound played at exactly the same time (on the
same midi channel) will depend on the capabilities of the device upon which you are playing the
midi file.
Note that the chord wizard (see later) is not available when editing phrases associated with Strumpy
tracks configured as drum tracks (assigned to midi channel 10.
2.3.2 Phrase configuration parameters (velocity/delay)
Each phrase has a set of associated phrase configuration parameters. These determine how the note
pitches in a phrase (the chord to be strummed) are triggered.
Minimum and maximum strum delay percentages determine the range over which delays are
introduced between the triggering of each note pitch of a phrase whilst playing a strum element.
This primarily affects strum elements configured with the 'down' and 'Up' strum technique.
When you strum a guitar you can strum either quickly or slowly, If you strum quickly all the strings
will ring together for a greater proportion of the strum element's note duration than if you strum
slowly. The configuration percentages are designed to vary the time it takes to stroke across the
strings within a strum element's overall note duration.
If both parameter percentages are set to the same value the application calculates a percentage of the
duration of the strum element's note duration (in midi ticks) that will be reserved for the allocation
of time delays between the firing of each note pitch during a strum and then it divides this equally
between each of the note pitches to be strummed (i.e. the time between hitting each string on a
guitar during a strum action)
9
For example, if the the minimum and maximum are set to 40% and there are 6 notes to strum the
software allocates (note duration * 40)/((6-1) * 100) ticks to the delay between the triggering of
notes 2-6 (midi note ons). After 40% of the note's duration all notes will be sounding together and
will remain so until the note off's are generated at the end of the note duration.
The higher the percentage the longer it takes to sound all the notes giving a more pronounced strum
(you can more easily hear each note being strummed as it appears to be slower).
If you introduce a difference between the minimum and maximum percentage this introduces a
more random feel to the delays between the triggering of each note during the strum (feels less
mechanical and more human). The system randomly calculates the delay between the minimum
delay percentage and the maximum delay percentage as each note is prepared for playback during
the strum.
A further configurable parameter is the midi velocity used when triggering each note in the strum to
simulate the 'hardness' with which each note (i.e. string) is plucked. This is controlled with three
parameters, the minimum velocity, maximum velocity and velocity allocation respectively.
You can set the velocity to any of the available midi velocity numbers. If the minimum and
maximum parameters are set differently the software allocates a velocity value to each note from
the available velocity range in conjunction with the velocity allocation parameter.
The higher the number the louder the note. With a suitable hard or soft synth in your DAW the
timbre of the note can also change depending on the velocity value, however this effect is only
likely to be realised when you transfer the generated project midi file to your DAW set-up as
Android device midi players are unlikely to provide support for that feature.
The velocity allocation configuration parameter determines how the velocity values are applied to
the notes during the strum.
The value Both allocates the calculated velocity values in both the 'Up' and 'Down' strum technique
directions.
The value Down only applies the calculated velocity values in the downward strum direction (from
lowest to highest note if notes are arranged in that order). Similarly Up only applies the calculated
velocities in the 'Up' strum direction (i.e. from the highest to the lowest note).
In the direction of the strum the velocity value allocated varies between the maximum and
minimum values (a linear incremental decrease). This is a natural strum as the player is more likely
to play the earlier notes harder than the later notes.
If the Equal option is chosen then velocity values are all set the same for each note regardless of
whether the strum is in a downward or upward direction (set to the maximum velocity value). You
can also configure a more unnatural reverse allocation of velocities to get some more unnatural
effects. In this scenario the notes get louder as each note in the strum is triggered. See Up reverse,
Down reverse and Both Reverse.
The Random option does not use a linear allocation of velocity values within the available range, a
more random selection of velocities is generated.
10
Note that you are unlikely to configure drum track phrases with more than one note pitch set as each
note pitch drop down selects an individual percussion instrument. These single pitch instruments are
rarely 'chorded' (and hence 'strummed') in the same way as other more tonal instruments,
nevertheless, Strumpy does not prevent you doing this. If you do configure more than one then the
behaviour described above regarding velocity allocation (volume/loudness) and strum delay is
identical. You may be able to use this to generate some interesting creative effects.
2.3.3 Delay and velocity overrides
By default, both velocity and strum delay configuration parameters set on the phrase edit page apply
to all strum elements configured in that phrase.
There maybe occasions when a desired effect requires a change in these parameters on a strum
element by strum element basis. This can be achieved by setting velocity and/or delay overrides on
the strum elements in a phrase where such changes are required.
Setting velocity and/or delay overrides is available from the strum element context menu. Simply
select and hold the strum element image to display the context menu and then select the appropriate
override option and follow the displayed dialogue. Visual indicators on the strum element image
show when either a velocity or delay is active on a given strum element.
You can clear velocity, delay or both overrides from the strum element context menu to clear the
overrides for a single strum element. You can clear velocity, delay or both overrides from the phrase
element context menu to clear the corresponding overrides from every strum element in the phrase.
You can clear overrides associated with all the phrases in a track or your complete project using
similar options from the track list context menu and from the from the project page options menu
respectively.
The override options avoid having to create additional phrases just to get a particular effect on a
specific strum element or set of strum elements in a phrase. Creating additional phrases to achieve
the same is more work, particularly if the chord notes making up each phrase is identical.
2.3.4 Editing a phrase
The list of phrases that make up a project are sensitive to short and long clicks. If you touch them
briefly control is passed to the phrase edit view which shows the note pitches making up the phrase,
phrase configuration parameters and if on a large device the list of strum elements. On smaller
devices the strum elements can be called up using a sliding window.
If you touch and hold a phrase name in the list of project phrases for a short duration a context
menu appears with a range of options for moving or copying the selected phrase relative to other
phrases within the project.
11
2.3.5 Editing the default name of a phrase
When you create a new phrase they are created with the default name 'New Phrase'. You can edit the
name simply by long clicking it (holding your finger on it) to start the edit process and to trigger the
appearance of the keyboard. Repeat the action to save your changes and dismiss the keyboard.
2.3.6 Phrase note pitches and the chord wizard
You can select the note values of a phrase using one of the six note pitch selection drop down
controls, including switching them off by choosing the value 'None' in the list of available note
values.
Whilst this mechanism provides a great deal of control over the choice of notes to be sounded it is
not a particularly efficient or natural method of setting chord notes.
The chord wizard provides an alternative way of setting the notes. Just click the chord wizard
button to open the chord wizard dialogue. From here a user can instruct the application to
automatically generate the notes to be sounded in the strum by specifying the root note, the chord
type (i.e. major, minor, seventh, major seventh, diminished etc), the octave in which to pitch the
root note, the number of notes to be sounded, the chord inversion and finally the sequence of notes.
The normal sequence in which the chord notes are generated by the wizard is from the root note
upwards with each successive note in the sequence higher than the last respecting the chord pattern
determined by the chord type selected. This behaviour can be modified in a number of ways. The
first way is by changing the inversion from its default value of zero. The default value starts the
sequence at the chord root as described above. Selecting an inversion of between 1-3 has the effect
of displacing the base chord note by one for each inversion value above zero, adding further notes at
the top of the chord in chord pattern sequence to maintain the required number of chord notes
selected.
The following example demonstrates the effect of using increasing inversion settings with a C
seventh chord played over 6 notes
Inversion = 0
Inversion = 1
Inversion = 2
Inversion = 3
C E G Bb
E G Bb C
G Bb C E
Bb C E G
C E
E G
G Bb
Bb C
For triad chords using an inversion of 3 is equivalent to having set the octave setting one octave
higher.
A further way to influence the sequence is to select a sequence value other than normal. The value
'Normal' assumes chord notes are generated in ascending note order, a typical arrangement when
strumming a chord on a guitar. Typically as you strum the notes each string plucked is higher than
the last when strumming in the downward direction and in reverse when strumming in the upward
direction. This normal sequence can be altered by selecting Shuffle, ShuffleAllbutFirst and
12
Reverse respectively.
The value Shuffle, randomly sequences the chord notes. This has the effect of simulating a player
picking different notes of the chord (e.g. strings) during the strum rather than playing chord notes in
their natural sequence.
The value ShuffleAllbutFirst is similar to Shuffle but only shuffles the notes above the base note of
the chord. This may be useful when you want the root note of a chord to always be the first note
played say in a downward strum but for effect are happy for the remaining chord notes to be played
in an alternative sequence to one of strictly increasing pitch.
The Reverse option does what it implies, it reverses the sequence of notes in the chord so that the
first note is the highest and the last note is the lowest.
Note that the inversion settings and sequence settings can be used together. The inversion pattern is
applied first.
Those familiar with chord types should find the chord wizard a quicker and more natural way of
setting the note pitches that define a phrase than having to select them individually. Of course there
may be situations where the exact sequence of notes required is best selected manually and this can
be used to good effect and shouldn't be overlooked when trying to get a particular strum
sound//timbre.
2.3.7 Strum techniques
In addition to specifying the musical note duration of a strum element you can also specify the
strum technique used to shape its sound.
The Down option simulates strumming the phrase notes from the first to the last note in the list of
phrase notes. Think of this as strumming guitar strings from top to bottom (assuming the phrase
notes selected are arranged logically in the same direction, i.e. from the lowest to the highest note).
The notes are triggered individually until they are all sounding and they remain sounding until the
end of the note's duration.
The Down (Staccato) option is identical to the Down technique above except that instead of them
ringing until the end of the note's duration they stop when the last note has been triggered. This is a
simulation of a guitarist damping the strings as soon as all the notes have been played. The note will
still occupy the same note duration so there is no need to worry about inserting a Rest to stay in
time, a crotchet is still a crotchet even when you strum it using the staccato technique. The software
generates the necessary timing delay to align the next note (i.e. strum element) on the expected
musical boundary.
The Up option simulates strumming the notes in the opposite direction, equivalent to strumming a
guitar strings from bottom (the highest note) to the top (the lowest note).
The Up (Staccato) technique does the same for the Up technique above as the Down (Staccato)
option does for the Down technique.
The Down and Up techniques described above simulate a natural guitar strum with each note
13
starting slightly later than the last in the direction of the strum until all are sounding (i.e.
overlapping each other) for the remainder of the strum element's note duration.
The Picked option differs in that the individual notes do not overlap, each note sounds individually
occupying it's own proportion of the overall strum element's note duration. This provides a
reasonable simulation of 'picking' the notes of a chord rather than strumming them.
The First Note Picked option simply plays the first note for the whole note duration.
The Rest option simply means do not sound any of the phrase notes for the strum element's note
duration. It is essentially a suspension of the strum for its configured duration.
The final option is the tie. The tie strum element technique is used to extend the duration of the
preceding strum element by that of the duration of the tie strum element. It is equivalent to tied
notes in standard musical notation and achieves the same effect.
In the above example we have a leading crotchet with a trailing tied crotchet. This has the effect of
extending the duration of the leading crotchet by the duration of a further crotchet. The midi 'note
on' s are triggered by the leading note and the midi 'note off's are triggered at the end of the duration
of the tied note. You can tie several elements of different durations to achieve the desired overall
strum duration. This includes a mixture of triplet and non-triplet duration styles.
The nature of an individual strum is wholly defined by the first element in a series elements that are
tied. The tied elements only serve to extend the duration of the leading element. For example, the
direction of the strum, its velocity, delay and span overrides are defined by the settings of the
leading element only. In fact the application will prevent the application of overrides on strum tie
elements as they would have no effect.
When you choose the tie strum technique the application will make some decision based on the
context of the topic strum element. If the strum element is the first in a phrase it will not accept the
tie strum technique choice and will automatically change it to a rest technique on the basis that
there is no preceding element. This prevents Strumpy generating midi note 'off' events without any
corresponding note on events.
If a non-first element is changed to a tie, any overrides are removed and the display of the tied
element will reflect the nature of the element it is tied to. For example, if a down strum element of
crotchet duration is tied to a preceding rest element it will subsequently be displayed as a tied rest.
Similarly if a rest element is tied to a down strum element it will be displayed as an equivalent
duration musical note.
14
2.3.8 Extending note durations using 'dot' notation
A strum element's musical note durations can be extended further by half of their duration and then
by half their duration again using normal dot notation. You can choose to dot or double dot any
standard note duration (including those using the 'Rest' technique) by selecting the number of dots
between zero and 2 when creating/editing a strum element.
2.3.9 Specifying triplet strum element note durations
You can modify strum element note durations to introduce a triplet feel.
This has the effect of dividing the chosen note's duration by three. To create crotchet triplet strum
pattern you would create three strum elements each consisting of a crotchet with the triplet option
set. This generates three strum notes played in the time (equivalent note duration) of a crotchet (a
crotchet triplet).
2.3.10
Editing strum elements
The list of strum elements in a phrase are sensitive to short and long clicks.
If you touch them briefly a strum element editing window opens allowing you to change its
parameters. If you touch and hold a strum element for a short duration a context menu appears with
a range of options for moving or copying the selected strum element relative to other strum
elements within the same phrase.
2.3.11
Strum Span override
A further degree of strum control is available in the form of adding span overrides.
When a guitarist strums a pattern, even if the chord stays the same with each strum the number of
strings being hit may vary. A guitarist will sometimes deliberately sound different notes in order to
make the strum pattern interesting and more rhythmic.
15
The term 'span' refers to the note pitches in a chord and it's breadth will depend on how many of the
chord notes (i.e. pitches) are to be sounded.
By default Strumpy assumes a 100% span is required, equivalent to sounding all the pitches in the
chord (or a guitarist hitting all strings in the direction of the strum). You can override this behaviour
be setting a strum span override on the strum elements in a phrase where you want to hear the
effect.
When you set a span override you can set the percentage of the pitches you want to sound and the
loading. The loading determines where the percentage of pitches you want to sound are to come
from the available pitches. This can be set to one of 'Front', 'Back' or 'Middle'.
For example if you have a six string strum in the downward direction and want the second strum
element to only sound the first three strings you would set a strum override of 50% with a loading
of 'Front'.
If you wanted the last three strings to sound then choose the 'Back' loading option, or choose the
'Middle' loading option if you want those in the middle part of the range. Through careful setting of
the percentage you can control the number of pitches that sound down to a single note.
If your strum element is in an upward direction the loadings work in reverse. The 'Front' option
selects the first notes in the upward direction and the 'Back' option the last notes in that direction.
Span overrides only operate on the Down, Down Staccato, Up and Up Staccato strum techniques,
the options to set and/or clear span overrides are not available on strum elements with other strum
technique settings.
Strumpy will always sound at least one note regardless of how low you set the span percentage.
Span overrides were purposely designed to be reasonably generic so that they could be saved away
in pattern templates. This allows them to be used within the context of any phrase (where the
number of chord pitches can vary on a phrase by phrase basis). If explicit references had been made
to chord pitch positions they could be rendered invalid on application within a template to a target
phrase. By using a percentage the span override dynamically adjusts itself to the phrase to which it
is being applied.
You can combine span overrides with delay and velocity overrides to give a wide range of creative
possibilities in generating patterns.
2.4 Transposing the pitch of your project
In the phrase edit page you can raise or lower the pitch of the chord notes that define the phrase
using the transpose up/down buttons and this is fine when building your project. When you have
completed your project you may feel its overall pitch is either too low or too high. Of course you
can fix this by visiting each phrase in your project and transposing them one by one but this is time
confusing and error prone.
Strumpy provides a way to achieve this in a single action using an option from the project selection
view. Simply select the option and choose the number of semitones by which you wish to raise or
lower the project's overall pitch.
Strumpy will only present an appropriate range of semitone +/- values, it will not present values
that would cause the note pitches that make up a phrase to go beyond the available pitch range
(possibly corrupting chords).
16
On accepting the selected semitone transposition value (the 'ok' button) strumpy applies it to each
project phrase. Press the 'play' button to hear the result of the change.
Note that tracks configured as drum tracks are not transposed (i.e. those assigned to midi channel
10). To do so would alter their percussion instrument sounds and this is undesirable. If you want to
change the percussion instruments you will need to visit the individual tracks and alter each phrase
individually.
2.5 Previewing a phrase
You can play an individual phrase to see how its strum elements sound by touching the play button
whilst editing a phrase.
2.6 Previewing your complete project
You can play your complete project to see how it sounds (all phrases) by touching the play button
on the main project page.
2.7 Previewing an individual track
An individual track can be played from either the main project page (also referred to as the track
explorer) or the mixing desk. On the track explorer a track is selected as the current track in a track
selection drop down control. The tracks phrases are also shown in this display. The track play
button only plays the currently selected track and ignores its mute and solo status so that it always
plays regardless of those settings.
2.8 How Strumpy plays your projects
When you click one of the play options (in local play mode) to preview either a single track, phrase
or your complete project, the application generates a midi file behind the scenes that contains a
series of midi events that make up the phrase set within context. It then passes the generated midi
file to the resident media player on your Android device in a background thread. You can stop
playback at any time by pressing the accompanying stop button. The play option is disabled whilst
the media player is running.
If your project contains a single track with no secondary midi output track configured then Strumpy
generates a type 0 midi file containing a single midi track. In all other cases Strumpy generates a
type 1 multi-track midi file which contains a separate block of events for each output midi track
(including secondary instrument tracks).
You can select the tempo the media player uses to play your previews from the Track Explorer View
17
(i.e. the page where the current projects currently selected track's phrases are listed). Tempo is
expressed in standard beats (i.e. crotchets) per minute.
Strumpy generates a program change event at the beginning of each output track to set the relevant
instrument for that midi track. In addition a pan and balance midi event is generated for each track
to reflect the Volume and Pan settings configured for each midi output track (both primary and
secondary output midi tracks).
For advanced users there is an alternative play mode called 'Live Play mode' which is described in
some detail later on in this document.
2.9 Strum Pattern Templates
The application includes a set of pre-packaged pattern templates referred to as Strumpy pattern
templates. These are a great way to start building a project, you simply pre-populate a phrase in
your project by selecting one from the supplied set.
Pattern templates can be previewed before they are copied into a phrase in your project. Like the
addition of any single pattern element they can be inserted at any position in a phrase. Using
Strumpy templates you can quickly generate realistic sounding strums.
Not satisfied with the supplied Strumpy patterns, then why not create your own. The application
also supports the creation of user pattern templates. Simply develop a cool set of strum elements in
a project phrase, call up its context menu and choose to save it as a user pattern template under a
name of your choice. The saved user pattern then becomes available for use in other phrases or even
future projects.
When you want to use a saved user pattern template simply choose a strum element in the phrase in
which you want to insert the template's content and then invoke its context menu. A template menu
option group provides access to a range of options that determine where a template's content is to be
pasted relative to the selected strum element.
By default, Strumpy pattern templates are presented for selection, but you can change the view to
show user pattern templates for selection instead.
When you select a pattern template in the pattern selection dialogue the tool lists the strum elements
associated with selected pattern in another column of the same dialogue and plays the template's
strum elements through the media player. Pattern template strum elements are displayed as images
that illustrate strum duration (using standard music notation) and strum technique (e.g. Down, Up,
Picked etc).
Velocity and delay parameter overrides are also stored in a pattern template's configuration and are
used during playback preview but are not visible in the images that show content from the selected
template's set of strum elements. They will of course appear when a template's elements are copied
into a chosen project phrase.
Views of the strum pattern template selection dialogue is shown below. The dialogue first opens in
Strumpy template display mode. The image at the top of the dialogue shows the Strumpy logo as an
indication that it is in Strumpy template mode.
18
In Strumpy template mode the displayed pattern templates are the ones that are pre-packaged with
the application. A wide range of patterns are provided in a range of time signatures. The naming
convention for the supplied Strumpy patterns is as follows.
patternName_tt_nn
where......
tt = time signature e.g. 24 = 2/4, 34 = 3/4, 68= 6/8, 108 = 10/8 etc
nn = number of strum elements in the pattern
For example, the template Basic010_44_6 has a pattern name that indicates it is the tenth in the
basic set, assumes a 4/4 time signature and consists of 6 strum elements (i.e. equivalent to strokes
across the strings of a guitar or rests).
The majority of Strumpy patterns are one bar in length however there are a few that are two bars in
length. A few templates end with very short notes and really need to be followed by another strum
element on the first beat of the next bar. They may sound a little strange during preview but they are
really designed to be followed by further strum elements in a project phrase.
Whilst in Strumpy template mode you can switch to user template mode by clicking on the image
that sits between the ok and cancel buttons. This is a toggle control so you can switch to Strumpy
template mode by clicking on the image control once again. In user template mode the application
displays previously saved user pattern templates.
When a pattern is selected its name is displayed as the title of the dialogue so that the user knows
which pattern is currently being previewed. This is the one whose elements will be copied into the
target phrase when the ok button is actioned.
19
When previewing a pattern template the application uses the chord notes, and default velocity and
delay parameters associated with the targeted phrase which it plays at the project's tempo. This
enables a user to hear how the pattern template's elements will sound should it be pasted in. Any
delay, velocity and strum span overrides present in a templates strum elements are active and
applied within the target phrase during preview This behaviour can be changed using an option on
the opening application screen which on selection will cause future previews to play patterns in
their raw form. Note that if a phrase doesn't yet have any chord notes set then Strumpy will ignore
the template preview option and preview the template in its raw form, otherwise no sound would be
heard.
Patterns are saved in a similar form to projects. They contain a single phrase (containing the actual
pattern elements) and are pitched with a single C note. In raw form pattern templates sound quite
thin, but this does allow a pattern's phrasing to be heard much more clearly.
An option available from the opening application screen allows access to a facility where you can
manage user created templates. In this release user pattern templates displayed in this facility can
only be previewed (in raw form) and deleted when they are no longer required,
Strumpy templates cannot be directly managed by end users. A user can of course copy and edit
Strumpy templates by inserting them into an empty project phrase, editing them using standard
Strumpy features and then saving the phrase away as a user template for future use.
2.10 Repeating Phrases
When you are building your projects you will often want to repeat phrases to avoid having to copy
them. You can do this from the Track Explorer View where the phrases associated with the current
project track are listed (see below).
20
Each phrase in the list has a phrase repeat icon shown to the left of its name that is used to indicate
phrase repeat group start and end points. When you initially add phrases (or view the phrase lists of
previously created projects) you will see an empty icon against each phrase. This indicates that a
phrase is not subject to a phrase group repeat. You create repeat points using the context menu
associated with a phrase.
To set up a repeat end point, simply select and hold the target phrase until the context menu is
shown.
21
Select the 'Repeat' menu item and then the 'Set Repeat End' sub menu item. A dialogue is displayed
which prompts you to select the repeat count.
Simply select the number of repetitions you require from the repeat count drop down control. If no
preceding phrase is marked as a repeat start point Strumpy will repeat all phrases between the first
phrase in the project and the phrase that has been marked with the repeat end.
If you set a preceding start point (another option off the Repeat sub menu) Strumpy will repeat all
phrases between that phrase and the one marked with the repeat end.
22
Following screenshot shows a project with a single start and end point set. Note that standard music
symbols are used to denote repeat start and end points.
To edit the number of repetitions previously set for a phrase repeat end point, simply invoke the 'Set
Repeat End' option once again from the repeat context sub menu on the topic phrase. Strumpy
displays the current repeat count set which you can change.
You can set multiple start and end points to achieve a desired phrasing but repeat start/end pairs
may not overlap. The context repeat sub menu controls which options are allowed for a topic
phrase.
If a second phrase group repeat end is added below another, the start point for the new end point is
considered to be the first phrase after the preceding phrase end point. A start point can be added
23
between the two to bring the repeat start point associated with the second end point closer to it. Any
intervening phrases between the first repeat end and the start point associated with the second repeat
end will not be repeated (i.e. they will only play once).
Options are available from the repeat context sub menu to clear start and end points as well as to
remove all repeat points (both start and end) from the topic project.
Phrase repeat groups can be used to significantly reduce the time it takes to build projects that
would otherwise require the manual copying of phrases within Strumpy or the delegation of such
work to track editing in a DAW. Using phrase repeat groups, any changes you make to a phrase that
resides within a phrase group are instantly available in its repetition. If you copied the phrases
instead to achieve repetition you would have to apply your changes multiple times.
3 Sharing your project files (import/export/email)
Having built a number of projects you may wish to share your files with other fellow musicians, or
indeed between devices you own.
You can share both project midi files and project configuration files.
You might share a project configuration file with a fellow 'Strumpy' user in order to give them a leg
up if you are more experienced at using the tool and wish to help them along. You may just wish to
demonstrate your level of 'Strumpy' expertise. You send a project file as an attachment to an email
or attach external storage to your android device and copy the file to a location (folder) on that
attached storage.
Project files can be imported onto another device by saving a received email attachment on the
device or by loading external storage containing the project file. The export and import feature is
available in the options menu. Project files have a .sey extension and are obfuscated to protect the
software. They cannot be imported to another android device if tampered with.
A project midi file can be shared in a similar way, either by email attachment or through use of
external storage. These files are standard midi files and should play on any platform with a midi
playback facility.
The most likely use of exporting a midi file would be to transfer the file to a device containing a
digital audio workstation where you can import the file into a home recording project for use in
composition. The hard work of creating the strum patterns has been done in Strumpy and you can
concentrate entirely in your DAW on deciding where to use the clip in your composition. Of course
you can transpose it just like any other midi clip. You can also convert it into the audio domain
using a suitable soft or hard instrument as and when ready.
4 Other Features
24
4.1 Live Play Mode
4.1.1 4.1.1 Overview
You can have great fun developing your strumming projects using the default playback facilities of
local play mode. This mode is set following installation and is the only way to develop projects on
the go (i.e. away from your home recording set up).
For many users this initial mode of play will be fine, however advanced users might find this
restrictive for the following reasons.
•
Playback is limited to the standard midi sounds implemented by the device
•
Immediate playback in a home recording studio environment is cumbersome as it requires a
series of steps to transfer the project midi file to the machine hosting the studio DAW (e.g.
export to portable storage or email), load the midi file into the DAW and finally to play it.
Wouldn't it be great if you could simply invoke play on your Strumpy Android device and hear your
project (or selected phrase) play through one of your DAW software instruments using its vast array
of sounds, or even have your DAW redirect midi events through an available external midi interface
to drive an external midi instrument with yet more sounds, and all without any wires.
Well you can, it's what Live Play Mode was designed to support.
4.1.2 4.1.2 Architecture
Live Play Mode requires an additional Stumpy Server component which can be downloaded from
the Strumpy website.
The Strumpy Android application provides a facility to configure live play mode where the host
name ( or IP address) and listening port of the Strumpy Server component are specified. That
configuration facility is available from the options menu on the project selection screen (the
opening page of the application) Once configured, live play mode can be activated by invoking
another function from the same options menu that toggles between local and live play modes.
The Strumpy server software is written in Java which means installing a Java runtime environment
(JRE) on the machine on your local area network that hosts your Digital Audio Workstation (DAW)
such as Cakewalk's SONAR X1, Steinberg's Cubase (and many others).
The server software uses the Java environment's built in sound API's. This software includes a built
in sequencer that is able to play midi files and stream the encapsulated events to locally available
midi devices.
This solution was considered more reliable than attempting to stream the midi events over a user's
local area network. Support for midi on Android is fairly basic, there is no facility to stream midi
events in strict time sequence based on their individual event times, this is essentially what a
sequencer does.
25
The author considered building an embedded sequencer component for the Strumpy Android app
but decided against it due to its complexity and in particular concerns about the minimum time
resolution that might be achievable. Using a server based approach ensures that the stream of midi
events are generated as close as possible to the target midi device thereby minimizing delays during
sequence playback. The Java environment's sequencer is also a tried and tested piece of software.
The server software should run in any compatible Java runtime environment across operating
systems where Java is implemented/available, however the author has only tested the software on
Windows. The server software installation package includes run files for Windows only but with a
little knowledge they could be configured for other operating systems (e.g. Linux)
When you request to play a project (or phrase) in Strumpy live play mode, Strumpy sends a midi
file representation of your project to the server software which it then stores (or overwrites) in the
midifiles directory. It then passes a request to play the midi file to the java environment's built in
midi sequencer. This in turn generates a stream of midi events from the midi file to the midi device
you configured earlier. If this is an external midi port on your computer the events are then relayed
to the midi device connected to that midi port and you should then hear the effect.
Note that a project midi file generated with a second instrument configured will be a type 1 midi file
containing two tracks, track one containing the primary instrument events assigned to midi channel
1 and the other containing the second instrument events assigned to midi channel 2. You may need
to take this into consideration when configuring your remote midi setup.
You may have an internal midi instrument on the Strumpy server that offers a virtual output midi
port and if you've configured that device as the target midi device the midi stream generated by the
sequencer will be directed at it (e.g. a local (software) sound synthesizer).
Note that to use live play mode the application requires 'Internet' permission to be able to
communicate with the remote Strumpy server.
4.1.3 4.1.3 Advanced Midi Usage
Users with extensive home recording setups may prefer to play Strumpy projects through their
Digital Audio Workstation (DAW) setup where there is access to a variety of software instruments
and therefore a wealth of guitar patches to use, far more than say on an externally attached keyboard
instrument attached to a midi output port.
Achieving this requires the implementation of a midi loopback mechanism on the Strumpy
server/DAW host that is able to redirect midi events destined for some midi receiver device (either
external or internal within the operating system) to be redirected so that they appear to midi
software running on the same computer as though they were presented through a midi input device.
In this way your DAW can respond to those events and redirect them to any software instrument
within its control. It could even redirect the events to a device connected to the computers attached
midi output port.
This configuration gives a tremendous amount of control over where your Strumpy projects are
played. Having used this facility the author can vouch for how brilliant it is. It's amazing to hear
26
how your Strumpy phrases can sound played live in this way, without having to import a midi file
into a track in your DAW first.
You could even record your Strumpy phrases into a DAW track live allowing the slight timing
delays added by the local streaming process to add to the creative feel, thereby taking the edge off
the strictly 'on the beat' accuracy that would otherwise come from importing the associated midi
file. Of course both options are available and each has its own merits.
The clever tricks necessary to implement a Window's based midi loopback mechanism fall outside
the author's immediate knowledge framework, however their are a number of 3rd party midi
loopback software tools available on the web, some of which are free to use in non commercial
applications (i.e. ideal for the amateur home recordist).
The author has direct experience of the free virtual midi driver from....
http://nerds.de/en/loopbe1.html
The driver is called loopBE1 and is free to use in a non commercial context.
Just install the software and it will, appear as an available midi device when you run the Strumpy
server configuration tool. Choose this device as your Strumpy output midi device.
Make sure your DAW is also configured to receive input from this loopback midi device and then
off you go. You can now direct your Strumpy 'Live Plays' wherever you like using the full range of
instruments available within your home studio.
Other midi loopback software is available, use whichever is best for your particular circumstances.
Just to be clear, you do not need the midi loopback software to use live play mode as it will still
work with instruments connected to the server's midi output port or any server installed software
synths that expose a midi receiver device. The real power comes from looping the midi into your
DAW thereby allowing it to control which instrument is used to preview your Strumpy creations.
There's nothing better than configuring your midi strumming guitar clips in Strumpy on a tablet
device over a wireless network and then being able to hear the results in real time using any guitar
sound you have at your disposal. Look ma, no hands!
4.1.4 4.1.4 Strumpy Server Installation
Step 1 - Get A Java Runtime Environment (JRE)
Download and install a Java runtime environment (jre) from the Oracle website (jre6 or above).
Recommend using jre6 or jre7as the author has tested with both those particular versions, however
it should work on later versions (as long as its dependent features have not been removed from the
Java environment). Any problems, then please email the author.
Should work equally well on Windows and any flavours of Unix that support the required level of
27
Java (e.g linux), however command files to launch the server tools have only been supplied for
windows. If you can't figure out how to create corresponding command files on a flavour of unix
the author can probably help you out.
Apologies, no Apple support.
You can obtain the Java Standard Runtime Environment (i.e. Jave SE jre) from the following link.
http://www.oracle.com/technetwork/java/javase/downloads/jre-6u25-download-346243.html
Other JRE versions are available from the link below.
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Step 2 - Install the Strumpy Server Software
Simply unzip the strumpyserver.zip file into a new directory that will host the strumpy software,
associated support files and downloaded midi files.
Step 3 - Edit command files to specify the jre location
Open the command files in the 'run' directory and replace the value of the java path to the java run
time environment.
e.g. @set java=c:\program files\java\jre6\bin
The path must point to the 'bin' directory
Step 4 - Configure the server software
The server software must be configured before first use so that it is able to receive play and stop
requests from the android device you are using to run Strumpy.
In the run directory execute the following file.
configserver.cmd
28
This fires up the configuration software which in turn will request the following pieces of
information.
1. The midi device through which you will playback uploaded midi files
2. Choice regarding the stripping (or not) of the program change midi event message
embedded in downloaded midi files
3. The port number on which the server will listen for incoming Strumpy requests. This also
has to be configured on your Strumpy device and they both must correspond for successful
communication to take place.
Simply follow and respond to the on screen prompts. You can exit at any time (x) resulting in none
of your changes being stored. You must complete all the response for changes to be saved.
The following screen shot shows an execution of the server configuration facility.
Before prompting for a midi device to use the software searches the environment to find available
midi devices. Each computer is different so the range of midi devices can vary widely. The devices
shown will depend on any midi related hardware and software you have installed.
It is assumed that if you are using this software you already have some some degree of midi
configuration understanding, if not there are plenty of resources on the web to help.
You will need to choose an appropriate midi output device from the list shown. Sometimes the
names are not obvious but with access to the documentation that may have accompanied any midi
related hardware and/or software you have installed you should be able to choose a suitable device.
If not, it's down to trial and error.
29
When the configuration utility displays the available midi devices you will see output that looks as
follows for each located midi device.
n. Java Sound Synthesizer mxr=-1 mxt=0
mxr indicates the number of midi receivers supported by the device with -1 indicating an
unrestricted number (i.e. no restriction, will support an unrestricted number of connected concurrent
midi transmitters).
mxt indicates the number of midi transmitters supported by the device in the same way as the midi
receivers indicator above.
For a successful configuration you must only choose mxr devices with a displayed value of -1 or a
value that is greater than zero. These are devices that will support a connection from a sequencer
(transmitter) such as the Strumpy server. This could be a midi output port device physically plugged
into your computer where its associated operating system sound driver advertises it as a midi
receiver.
The configuration facility simply creates a StrumpyServer.properties file in the run directory
containing the supplied parameters in the required format required by the software. You can edit
these manually once you are confident in doing so to avoid the need to invoke the configserver
command.
Step 5 - Start the server and start Live Playing!
Having configured the server all you need to do now is fire up the server. Run the following
command to start the server.
startserver.cmd
Ths starts a new operating system process that will listen for incoming Strumpy requests. The first
time you run the command it will create a new sub directory under the run directory which it will
use to store uploaded midi files from your Strumpy device (midifiles).
The server displays the port it is listening on and then the process blocks until you stop it. When
you have finished a Strumpy 'Live Play' session you can simply kill, the process using ctrl+c on
windows and answering Y to the prompt to end the session. This is the desired method of shutting it
down although you can get away with just closing the command shell window.
30
You can now test live play mode from a Strumpy Android device that is suitably configured to
connect to the Strumpy server using its wireless networking capability.
4.2 Setting Enhanced Mode
By default the software uses only the selected notes when playing strum elements but by selecting
'Set Enhanced Mode' from the options menu you can configure the software to double up each note
by adding an additional note pitched one octave higher. A slight delay is added between the
triggering of each note in the pair. With six notes selected this gives a twelve string guitar feel to the
generated sound. Ths feature can be turned off by selecting 'Set Normal Mode' from the options
menu when in enhanced mode.
4.3 Sample Project Files
A number of sample projects are delivered with the application and are installed every time the
application is loaded.
This behaviour will overwrite any project with the same name and it was designed this way to reset
sample projects to their factory settings in case they are destructively edited by a user learning to
use the application.
This feature can be useful if you are experimenting with the delivered samples but always want
them set back to their original settings.
For advanced users, having the sample projects reappear or reset themselves each time the
application is run may become an unwelcome hindrance, particularly if a user normally deletes
31
them in order to concentrate on their own projects.
You can suppress the automatic installation/re-installation of the sample projects by selecting the
option 'No Sample Refresh' option from the Project Selection View options menu. You can restore
the default action at any time by selecting the option 'Refresh Samples' from that same options
menu.
32
5 Exploring the User Interface
5.1 Overview
The screen shots shown in this section were taken from a Samsung Tab 10.1 tablet which has an
extra large screen. Strumpy Pro comes with a screen resources set for larger tablet devices as
shown) as well as a screen set for smaller smart phone devices. The main difference is that the
additional screen real estate of the larger devices is used to display phrase strum elements alongside
phrase configuration parameters. On smaller devices strum elements have to be called up using a
sliding drawer control.
The screen shots are in portrait mode and only a portion of the screen is shown to save space.
33
5.2 Project Selection View
5.2.1 View Context and Navigation
When Strumpy Pro is launched it first displays the Project Selection View (below).
34
Project List
The application lists all known projects in alphanumeric order in a scrollable list. On
loading the application for the first time the projects listed are the sample projects. By default the
configuration files of these projects are automatically reset to their installed state every time the
application loads. If the sample projects are deleted they will be restored next time the application
loads.
This option may be is useful for beginners as it allows them to explore and change the configuration
of the sample projects in order to see the effect of their changes without fear that they will not be
able to restore them back to their original form.
An option is available to suppress this behaviour allowing users to remove the sample projects from
the project list without them being restored each time the application is launched. This will reduce
the size of the project list as users add their own customized projects.
35
If you click/touch a project in the displayed project list the application proceeds to open the Track
Explorer view using the selected project as its topic.
The following context menu is displayed when you touch and hold a project in the project list.
A single option is available to delete the selected project. To cancel the operation simply click on
the background screen or press your device hard or soft back button. If you select the delete project
option you are further prompted to confirm the action. If you confirm the deletion action at that
prompt all record of the project is removed from your device.
Create New Project
Pressing this button initiates the creation of a new project. The following dialogue is
displayed to capture contextual information for the new project.
The application prompts you for a project name. As the project name is used as a file name the
range of characters available is restricted so don't be surprised if your hard or soft keyboard fails to
respond to certain character key presses whilst keying in the name. Simply select another character.
36
You can select a template to use from the 'Select Template' drop down control. The default template
is shown selected by default and is the usual choice if you wish to start with an empty project (i.e.
build one from scratch). You can however select one of the available sample templates to start your
new project off with some initial tracks and phrases. The built-in templates are simply the sample
projects.
You can cancel the operation by selecting the appropriate option or continue to create your project
using the 'ok' button.
On creating a new project the application proceeds to open the Track Explorer view with the newly
created project as its topic.
Options Menu
Depending on your device the options menu will be available from either a soft (screen
widget) or hard (physical button on device) control. If you activate the options control the following
options menu will be displayed revealing a number of global options you can configure.
5.2.2 Option Menu - Set Default Email Address
The application supports the emailing of both project configuration and project midi files
Use this option to predefine the default email address that will be presented to your chosen email
program to pre-populate the 'To' address field when you choose one of the project related email
37
options. The provided email address is stored as an application preference.
When you select the option you will be prompted with the following dialogue to collect the
information.
The entry box will be pre-populated with any previous email address that you may have set earlier.
Simply edit the email address and activate the 'Ok' button to save your changes in the application's
preferences store, or 'Cancel to abandon any changes made.
5.2.3 Option Menu – Import Project File
Use this option to import a project configuration file (i.e. a file with a '.sey' file extension). Project
configuration files are exportable so you can send them to fellow Strumpy users so they can load
and extend your compositions.
On selecting the option you will be prompted with a tree based file explorer page where you can
navigate to the folder location of the configuration file you wish to import.
When you have found the file, activate it and hold it (long click) to inform the application that you
have located the correct file. The application will then attempt to move the file to the application's
private data storage area and load it into the Track Explorer view so that you can use it.
If a file with the same name as the project being imported already exists in the application's private
storage area the user is prompted to provide an alternative name before proceeding to process the
file. Note that the Export/Import process is one way you can effectively rename an existing project
file. Simply export/import it under a different name and then delete the original project.
Note that if you wish to cancel your search for an import file from the tree file explorer view then
simply use your hard/soft 'back' button to return to the Project List View.
38
5.2.4 Option Menu – No Refresh/Refresh Samples
The application comes pre-configured with a number of sample project configuration files which
are displayed in the project list when you first open it.
By default the samples are treated as 'sticky'. If you delete them then they reappear the next time
you open the application. If you change them during a session they are reset to their installed state
the next time you open the application.
This 'sticky' ('Refresh Samples') preference option is the initial setting and may be useful for
beginners as it allows them to tweak the samples and hear the results without fear that in the process
they may have destroyed them for good.
More advanced users may wish to suppress this behaviour so that they can remove the samples in
order to tidy up the project list. To do this just activate the 'No Refresh Samples' menu option. You
will see that the next time the options menu the name of this particular option has changed to
39
'Refresh Samples' allowing you to switch the 'as installed' behaviour back on again at a later date
should you wish to do so. This preferences is a simple toggle that switches between the two
settings.
5.2.5 Option Menu – Preview Patterns Raw/Live
The application supports the use of pattern templates. These are pre-installed sets of strum elements
that can be inserted into a project phrase to save effort in recreating a particular rhythm by piecing
together the strum elements manually. Apart from a large number of pre-packaged pattern templates
Strumpy users can also save their own (user pattern templates).
When you find the need to add the strum elements from a pre-defined pattern template into a phrase
in your project you call up a dialogue to display a list of either pre-installed Strumpy templates or
user created templates from where you can preview them before inserting them into the topic
phrase.
This preference option provides choice over how the patterns are played when you preview them
before selecting them for insertion into a topic phrase.
This option is a simple toggle that switches between 'Preview Patterns Live' and 'Preview Patterns
Raw' each time you activate it from the options menu.
In 'Preview Patterns Raw' mode the application plays back the patterns in a very simplistic manner
using a middle 'C' note so that you can clearly hear the phrasing of the strum elements it contains.
This is entirely to support the selection process itself, the strum elements will always inherit the
characteristics of the Track/Phrase into which they are being inserted. The 'Preview Patterns Live'
option plays the selected pattern template using the full characteristics of the topic phrase into
which it may be inserted (should it be selected for insertion following playback).
5.2.6 Option Menu – Manage User Patterns
This option launches the 'Manage User Patterns' view which provides access to functions that
operate on end user created pattern templates.
5.2.7 Option Menu – Set Live/Local Play Mode
This preference option toggles between 'Set Local Play Mode' and 'Set Live Play Mode'. Live play
mode allows playback of your Strumpy projects in a remote Digital Audio Workstation (over a local
40
area network). This frees a user from the limited midi instrument set available on their Android
device.
Following installation the preference is pre-set to 'Set Local Play Mode' so the initial menu option
will be set to 'Set Live Play Mode' to enable you to switch this preference on as and when needed.
Live play mode requires the installation of some server software, the details of which can be found
in the relevant section of this user guide that is dedicated to describing the Live Play Mode feature
so it is not repeated here.
Assuming you have configured Live Play Mode to work, use this option to simply switch it on and
off as and when required (i.e. before or after a live play session).
5.2.8 Option Menu – Configure Live Play
Before you can use the Live Play Mode feature the application needs to know the location of the
remote server that will be listening for Strumpy commands to play and to stop playback of
transmitted project midi files.
By selecting this option from the menu a dialogue is displayed to prompt for the required remote
server address details. The address fields are pre-populated with any previously set address details
as these are stored away in application preferences.
Enter the IP address of the server hosting the Strumpy Server software in the first entry field and the
port number where that software will be listening for commands on that server in the second entry
field. Choose 'Ok' to save the updated details away to preferences, otherwise choose 'Cancel' to
abort any changes.
5.2.9 Option Menu – About
This option generates an informational display that shows you key details about the application,
41
such as its version.
42
5.3 Track Explorer View
5.3.1 View Context and Navigation
The track explorer view is the initial view shown when a project is opened from the Project
Selection view, either by activating a project from the displayed project list or by importing a
project configuration file. The view's primary role is to display the phrase list associated with the
currently selected track as it provides access to a number of functions that manipulate phrases. It
also provides access to the Mixing Desk View as well as providing functions to play back either the
currently selected track or the complete project (respecting any mute and solo track status settings).
The Mixing Desk provides a route back to the Track Explorer so you can switch between them
depending on the functions you wish to perform.
43
The view will explored in the following paragraphs by reference to the numbers shown in the
annotated Track Explorer View image as shown below.
Phrase List Area
This area contains a list of the phrases present in the currently selected track. This list may
be empty such as when you first create a new project. On creating a new project a new track will be
automatically created and you will be presented with a Track Explorer View showing an empty
phrase list as the track will initially have none.
The order in which phrases are listed here determines the sequence of the midi events generated for
the associated track, so changing the positioning of phrases can have a dramatic effect on the sound
heard during playback. Pay particular attention to the musical timing of the strum elements that
make up each phrase and position them in the correct order to generate the desired musical result.
44
Each phrase in the phrase list is represented by an image and some text. The image provides visual
cues as to where phrase repetitions start and end. The text provides a visual representation of phrase
content and consists of two parts.
The first part of the text (enclosed in [ ] characters) is the phrase note pitch set (or percussion
instruments set for drum tracks) of which there can be up to 6. This provides an immediate view of
the musical notes being strummed in a phrase (i.e. the chord) and is considered probably the most
important piece of identifying information for a phrase.
The second part is a user entered name for the phrase. This can be used to label key parts of a
composition that help with song positioning when trying to locate phrases to tweak.
If a phrase is configured that has no note pitches set only the track name part is shown without the
“[ ]” brackets that would otherwise surround the list of note pitches. The phrase name is
configurable in the Phrase Edit View and can be edited out so that it doesn't appear if that is
preferred.
If you activate and hold a phase in the phrase list (long click) you are presented with a context menu
that provides access to a number of phrase related functions. These are covered in detail in
following sub-sections.
If you activate a phrase (short click) you launch the Phrase Edit View for the selected phrase
(covered later) This provides access to functions that allow you to change a phrases note pitches and
strum element phrasing.
Current Track
The name of the currently selected track is shown here in a drop down list control. You can
select another track using the drop down list control and the list of phrases in the phrase list area
will change to reflect the phrases in the newly selected track.
Project Playback Controls
These image buttons control the playback of your complete project composition. The first
button starts playback and the second stops playback. In local play mode the play button is disabled
whilst playback is in progress and the stop button is disabled. When playback has completed the
stop button is disabled and the play button is enabled. You can stop play back at any time during
playback by activating the stop button.
These buttons control playback of your complete composition (i.e. all tracks), however the muts and
solo status of tracks is respected. For example, if you have muted a track from the mixing desk view
it will not be heard when you activate the play button. Similarly if you have set any solo tracks then
only those tracks will be heard when you initiate playback.
In live play mode your Android device does not have direct control over the remote system that will
be playing your project midi file. There is no feedback loop to tell the application when playback of
the midi file is complete (necessary to change the enabled state of the image buttons). To
accommodate this, the play and stop image buttons are always enabled in live play mode. If you
attempt to play the project whilst it is already playing the remote Strumpy server will simply ignore
the command. Similarly if you attempt to stop playback when the remote server isn't actually
playing your midi file it will just ignore the command.
45
Track Playback Controls
These buttons control playback of the current track only. Note that track mute and solo status
is respected even in track play mode so if the track is muted (refer to Mixing Desk View) then it
may not sound when you atempt to play the current track. Check the current track isn't muted (and
does not have solo status) in the Mixing Desk View if it fails to play. Like the project playback
controls the play button is disabled once activated until track playback completes. The stop button is
disabled until the play button is activated when it is enabled to allow it to be used to stop playback.
In live play mode such tight control over the enabled status of these buttons is not possible and they
are both left active. The remote server ignores any redundant commands such as play when a track
is already playing or stop when not track is being played.
Note that in local play mode, the application prevents playback of an individual track should a
complete project composition playback have been requested and vice versa.
Song Position Controls
These control the position at which playback starts next time a playback action is executed
and consists of a song position increment control (+), a current song position pointer indicator (seek
bar) and a song position decrement control (-). The song position pointer seek bar control is
calibrated as a percentage of the overall length of the project composition. For example, if it is
situated in the middle of its range this indicates playback should start at a point that is 50% the
duration of the overall composition (i.e. half way through).
The song position increment and decrement controls allow finer control over the song position
pointer by incrementing or decrementing its position by a single unit (i.e. percentage point).
You can drag the pointer to a particular position where you wish playback to start and then fine
control that position using the increment and decrement controls as appropriate.
When constructing your project you might find it useful to use the song position controls to avoid
having to listen to the whole composition (or track) each time you action a playback. This allows
you to focus for efficiently on the area within the overall composition you are working on.
If you long click on the increment control it automatically resets to zero. This ensures playback will
start from the beginning should that be desired and is a more robust way of ensuring the song
position pointer is set at the beginning than simply dragging the seek bar.
When you open a project the song position pointer is always set to zero (i.e. the beginning of the
composition. Also if you set the pointer in the Track Explorer view its current setting is carried
forward to the Mixing Desk view and vice versa.
Launch The Mixing Desk View
This button launches the Mixing Desk View. This view provides access to a number of track
related functions (see later for a more detailed description of that view).
46
Launch The Track Details View
This button launches the Track Details View. This view also provides access to a number of
track related functions. 9See later for a more detailed description of that view).
Options Menu
The options menu associated with the Track Explorer view provides access to range of
project related functions ( see below). Activate the hard or soft options menu control on your device
to display this menu. Each of the options presented in this menu are described in a later sub-section.
47
5.3.2 Options Menu – Set Project Tempo
Use this option to change your project composition tempo. Currently you can only set a single
tempo which will apply throughout your complete composition. Tempo is expressed in Beats Per
Minute (BPM) where a 'beat' refers to a crotchet in musical terms. A tempo of 60 BPM means that
sixty consecutive crotchets would play in a minute at that tempo.
When you select this option from the menu the following dialogue is displayed to capture the tempo
data.
The previously set project tempo will be selected in the drop down control. Simply select a new
tempo from the values available in the drop down list control and activate the 'Ok' button to change
the tempo or activate 'Cancel' to abandon any tempo change.
The new tempo is effective immediately and will be heard the next time you activate any of the
playback controls.
5.3.3 Options Menu – Email Midi File
Use this option to email your project composition midi file to a friend or colleague. An email is
created in an email client of your choice (should there be more than one installed on your device).
The midi file is added as an attachment and the 'To' address is set to the email address that you preconfigured in the email address menu option available from the Project Selection View.
If you have more than one email program installed you may see a dialogue like the following
appear. Simply select the email client required.
48
Your chosen client will be launched with the the created email prepared and ready to send. All you
will need to do is add any further text to the body of the email (if required) or add any further
recipients and send. The following example is how this might appear in google's Gmail Android
client.
.
5.3.4 Options Menu – Email Project File
Use this option to email your project configuration file to a friend or colleague. An email is created
in an email client of your choice (should there be more than one installed on your device). The
project configuration file is added as an attachment and the 'To' address is set to the email address
that you pre-configured in the email address menu option available from the Project Selection View.
The process for completing the despatch of the generated email is identical to that covered in the
section for emailing project midi files and is not repeated here.
Note that project configuration files are exported as files with a '.sey' extension and are obfuscated
to help protect against potential application failures should users have otherwise been tempted to
manipulate them by means other than the application itself. They will appear unreadable if opened
in an editor program and if they are changed in any way Strumpy will detect this and will refuse to
49
import them.
5.3.5 Options Menu – Export Midi File
Use this option to export your project midi file onto storage media available to your device, either
internal or external storage (e.g. the internal memory mapped storage or an externally attached SD
card or USB stick). When you attach external storage to your device it normally presents as an
additional folder structure which you can browse using a file browser application. Strumpy contains
a tree based file explorer toll to enable you to find the folder to which you want to export the midi
file.
When you activate the menu option you are presented with the following file explorer type page
which you can navigate to find the right target folder.
50
You navigate by activating (with a short click) the folder and navigation icons listed in the display.
If a folder has sub folders and you activate it in this way the display will show the contents of that
folder as the topic of the display. The home and navigate up a level icons are also shown to allow
you to navigate back up the tree.
When you locate the desired folder activate and hold it (long click) to inform the application that
you have identified the target folder. The application copies the current project midi file to the target
folder location and returns to the Track Explorer page. You should be able to see the file in the
target location using any file explorer application you have available on your device.
51
5.3.6 Options Menu – Export Project File
Use this option to export your project configuration file to the storage media available to your
device, be it either internal or external storage (e.g. the internal memory mapped storage or an
externally attached SD card or USB stick). When you attach external storage to your device it
normally presents as an additional folder structure which you can browse using a file browser
application. Strumpy contains a tree based file explorer toll to enable you to find the folder to which
you want to export the configuration file.
Navigating the presented file explorer page to locate the target folder is identical to exporting a midi
file and so is not repeated here. Refer to that section for further details and an example screen shot
of the file explorer tool used to locate the target folder.
When you have located and selected the target folder the application creates an obfuscated copy of
the file with a 'sey' file name extension and copies it to the target location.
Th exported file can be imported back into your local copy of Strumpy, or given to a friend or
colleague so they can explore your project in their own personal copy of the Strumpy application.
5.3.7 Options Menu – Set Normal/Enhanced Mode
This preference option is used to specify whether or not the application should double up phrase
pitch notes with another pitch one octave higher in order to achieve a 'twelve string guitar' type
effect. Following initial installation this option will be turned off but users can change it at any time.
This setting is a global setting for the whole project but it can be overridden on a track by track
basis (enhanced mode suppression).
This is a simple toggle option, to set enhanced mode simply activate the 'Set Enhanced Mode'
option displayed in the menu. If you do this then the next time you open the menu it will be shown
as 'Set Normal Mode' inviting you to switch the feature back off (should you wish to do so).
Bare in mind that this feature doubles the number of midi note on events that are played at the same
time so it will challenge the sound generation hardware on any target device upon which you play
the midi file so use it sparingly (i.e. suppress it on tracks that don't really need it).
5.3.8 Options Menu – Clear Overrides
This option clears any velocity, delay and span overrides currently set against any project phrase
strum elements. It provides a simple way of clearing down all overrides should you be dissatisfied
with their effect and want to remove them. You may wish to do this first before you start reapplying
them again in a more sensible fashion. Note that this can also be done at the individual track level
from the Mixing Desk View. For more information on overrides please refer to the concepts section
of this guide.
52
5.3.9 Options Menu – Clear Velocity Override
This option clears any velocity overrides currently set against any project phrase strum elements. It
provides a simple way of clearing down all velocity overrides should you be dissatisfied with their
effect and want to remove them. You may wish to do this first before you start reapplying them
again in a more sensible fashion. Note that this can also be done at the individual track level from
the Mixing Desk View. For more information on overrides please refer to the concepts section of
this guide.
5.3.10
Options Menu – Clear Delay Override
This option clears any delay overrides currently set against any project phrase strum elements. It
provides a simple way of clearing down all delay overrides should you be dissatisfied with their
effect and want to remove them. You may wish to do this first before you start reapplying them
again in a more sensible fashion. Note that this can also be done at the individual track level from
the Mixing Desk View. For more information on overrides please refer to the concepts section of
this guide.
5.3.11
Options Menu – Clear Span Override
This option clears any span overrides currently set against any project phrase strum elements. It
provides a simple way of clearing down all span overrides should you be dissatisfied with their
effect and want to remove them. You may wish to do this first before you start reapplying them
again in a more sensible fashion. Note that this can also be done at the individual track level from
the Mixing Desk View. For more information on overrides please refer to the concepts section of
this guide.
5.3.12
Options Menu – Transpose Project
Use this option to transpose the pitch of the notes in your project composition upwards or
downwards by a user specified number of semitones.
Note that drum track phrases will not be transposed (those assigned to midi channel 10) as the note
pitches on these tracks represent percussion instruments so altering the midi pitch note numbers
would actually change the percussion instrument(s) being used in a phrase and this would be
undesirable in such a global feature.
For non percussion tracks this moves instrument pitches (i.e. guitar string notes) up or down the
musical scale.
You may need to transpose your composition to allow it to be more easily integrated into a project
you've been developing elsewhere (i.e. in a DAW), and you want to do this before you integrate.
53
When you activate this option the following dialogue is shown to capture the transposition
parameters.
54
Specify the semitone increment/decrement required by selecting the appropriate semitone shift
value from the drop down list control shown.
Note that you will only be presented with appropriate values. The application will not allow you to
transpose your project in a way that would corrupt your phrases by dropping pitches that went
above or below the pitch range supported by Strumpy. For example, if you transposed a 6 note
chord too high the highest note pitches may be transposed to values that fall outside the supported
range, thereby causing them to be dropped, effectively corrupting your configuration as you
couldn't then easily get them back if you were to simply transpose back down again. You can safely
transpose away in either direction with no fear that your phrases will be destructively broken.
When you have selected the appropriate semitone shift simply activate the 'Ok' button to implement
the change. The application goes through every phrase of every track transposing the note pitches
by the required semitone interval (excluding drum tracks). Click 'Cancel' to abort any changes.
5.3.13
Phrase List Context Menu – Group Menu
When you activate and hold a phrase in the phrase list you are first presented with a top level
(group) menu that lists the high level options you have available for manipulating phrases within
the Track Explorer context. You must make a choice to trigger the next level of menu that makes
actual functions available within the group category chosen by the user. The group menu is shown
below.
55
5.3.14
Phrase List Context Menu – Move Sub Menu
When you select the 'Move' category from the Phrase List group context menu you are presented
with a list of move options as shown below.
56
Some of these options may not be available depending on the context of the phrase used to activate
the context menu set. For example, the option to move a phrase up in the sequence doesn't make
sense for the first item in the list so it will be disabled.
Move Up: Moves the phrase up the list by one position
Move Down: Moves the phrase down the list by one position.
Move Start: moves the phrase to the top of the list.
Move End: moves the phrase to the bottom of the list.
After activating an option the application returns to the Track Explorer View having refreshed the
phrase list so you can see the effect of the chosen option.
5.3.15
Phrase List Context Menu – Delete Sub Menu
When you select the 'Delete' category from the Phrase List group context menu you are presented
with a list of delete options as shown below.
57
Delete: Removes the phrase from the current track.
Delete All: Removes all the phrases from the current track (empties the phrase list)
After activating an option the application returns to the Track Explorer View having refreshed the
phrase list so you can see the effect of the chosen option.
5.3.16
Phrase List Context Menu – Copy Sub Menu
When you select the 'Copy' category from the Phrase List group context menu you are presented
with a list of copy options as shown below.
Copy Start: Creates a copy of the topic phrase and places it at the top of the phrase list
Copy End: Creates a copy of the topic phrase and places it at the bottom of the phrase list
Copy Before: Creates a copy of the topic phrase and places it before that phrase in the phrase list
Copy After: Creates a copy of the topic phrase and places it after that phrase in the phrase list
58
Note that these are true 'copies' and not links to the original phrase such that if you change the
original the effects are automatically propagated to the linked copy. The new copy is an independent
phrase in its own right and is in no way linked to the original from which it was sourced.
After activating an option the application copies the contents of the activated (selected) phrase to
the requested position in the phrase list and automatically launches the Phrase Edit View to allow
the user to review the copied configuration and make any changes thought necessary.
5.3.17
Phrase List Context Menu – Add Sub Menu
When you select the 'Add' category from the Phrase List group context menu you are presented with
a list of add related options as shown below.
These options add a new phrase to the phrase list and automatically launch the Phrase Edit View to
allow the user to configure its properties from their initialised (default) state.
Add Before: Adds a new phrase and places it before the topic phrase in the phrase list
Add After: Adds a new phrase and places it after the topic phrase in the phrase list
5.3.18
Phrase List Context Menu – Parameter Overrides Sub Menu
When you select the 'Parameter Overrides' category from the Phrase List group context menu you
are presented with a list of parameter override options as shown below
59
Clear Overrides: Removes any configured velocity, delay and span overrides set for the strum
elements associated with the topic phrase.
Clear Velocity Overrides: Removes any configured velocity overrides set for the strum elements
associated with the topic phrase.
Clear Delay Overrides: Removes any configured delay overrides set for the strum elements
associated with the topic phrase.
Clear Span Overrides: Removes any configured span overrides set for the strum elements
associated with the topic phrase.
On activating the chosen option the application makes the corresponding changes to all strum
elements associated with the topic phrase and then returns the user to the Track Explorer View.
5.3.19
Phrase List Context Menu – Template Sub Menu
When you select the 'Template' category from the Phrase List group context menu you are presented
with a list of strum pattern template related options as shown below.
60
Save As Strum Pattern: Saves the strum elements associated with the topic phrase as a user pattern
template.
When you select the 'Save As Strum Pattern' option you are prompted for a name that will be given
to the user strum pattern template as follows.
Simply enter a name for the template so that you will recognise it should you later wish to insert its
contents into a phrase in an existing or new project composition. Note that as this name is used as a
file name some characters may not be allowed. If during entry of a chosen name you press a key on
your hard or soft keyboard and it doesn't register it is probably being filtered out so just choose a
different character and continue.
Select 'Ok' to save your template under the given name or 'Cancel' to abandon the creation of a user
strum pattern template. For more information on strum pattern templates please refer to the
concepts section of this guide.
5.3.20
Phrase List Context Menu – Repeat Sub Menu
When you select the 'Repeat' category from the Phrase List group context menu you are presented
with a list of repeat options as shown below.
61
The options provided affect how groups of phrases can be configured to repeat thereby avoiding
having to manually create duplicate phrases in order to extend the length of your composition.
The results of some of the changes made here can be seen in the phrase list as they effect the image
displayed at the start of each phrase listed in the phrase list. The latter gives a visual clue as to
where repeats start and end. The only information that's not visible is the repetition count but it can
be easily accessed using the 'Set Repeat End' option from this context menu.
Set Repeat Start: Marks the topic phrase as the start of a repeated phrase block.
Set Repeat End: Marks the topic phrase as the end of a repeated phrase block.
Clear Repeat Start: Clears 'Repeat Start' status associated with the topic phrase.
Clear Repeat End: Clears 'Repeat End' status associated with the topic phrase.
Clear All Repeats: Clears all repeat properties phrases in the current track.
All options other than 'Set Repeat End' return you to the Track Explorer View with an updated
phrase list for the current track so you can see (and via playback , hear) the effects of your changes.
Note that you can't set a repeat start point for a phrase that has no following phrase repeat end set
further down the phrase list.
There is an implicit 'repeat start' at the top of the phrase list so if you want to repeat from the
beginning you don't need to mark the first phrase in the list with an explicit 'Repeat Start' flag.
The clear start and end options are only enabled if the topic phrase has the corresponding repeat flag
status set.
If you activate the 'Set Repeat End' option the application prompts you for a repetition count by
displaying the following dialogue.
62
Simply select the number of required repetitions and select 'Ok' to apply, otherwise select 'Cancel' to
abandon any changes. If the topic phrase already has an associated repeat count set that value will
be pre-populate the selected item in the drop down list control.
Note that a repeat count value of 1 means that the phrase will be heard twice, a value of 2 means it
will be heard three times, and so on.
63
5.4 Phrase Edit View
5.4.1 View Context and Navigation
This view is launched from the Track Explorer View when a phrase in the phrase list is activated or
if you 'Copy' or 'Add' a phrase. It allows you to edit the contents of an existing and/or a newly
created phrase.
This view is the heart of the Strumpy application as it is where you build up your note patterns,
primarily focussed on strumming patterns, although as will have been seen from the concepts
section you can still build patterns from single pitches without having to configure a strum across
up to six pitches (i.e. as in lead and bass lines).
You can also configure percussion instrument events here as well by selecting a suitable percussion
instrument patch using one of the note pitch selectors (drum track phrases only).
It's from here that you string together note events of different durations to effect a pleasing rhythm,
particularly important if you are trying to recreate believable strumming patterns. Musical notation
is used to represent note durations as it is expected that users will have some degree of musical
knowledge in order to put compositions together.
Before creating a set of strum elements in a new phrase you can set some global parameters that
apply across all strum elements in the topic phrase. These are as follows.
•
The note pitches that will be sounded for each strum element in the phrase. You can set up to
six pitches, each tuned to a different musical note (non drum tracks). Typically these would
represent the notes of a chord and a chord wizard is available to help you set the relevant
pitches.
•
A repeat count for the phrases strum elements
•
Strum Delay parameters that effectively determine the 'speed' of each strum (where more
than one note pitch is present)
•
Velocity parameters that determine how loud the note pitches are sounded, equivalent to
how hard, for example, you might strike the strings on a guitar.
You can override the delay and velocity parameters on a strum element by strum element basis.
Having decided on your base parameters you can then start to add strum elements to construct your
rhythm. As you add strum elements you build a list of strum actions of different musical note
durations, including rests which serve to add interest and punctuation within your rhythm pattern.
Facilities to remove, copy and move strum elements in the strum element list are available to speed
creativity should your initial pattern ideas not work out.
Note that the strum element list will only appear alongside the other phrase configuration
parameters and controls on extra large displays (xlarge). On most smart phone devices with smaller
screen real estate the strum element list has to be revealed and hidden as required using a 'Sliding
Drawer' control. This control has the Strumpy icon on it. Apart from that slight difference all the
functions operate the same.
64
A more detailed description of key areas of the view and the functions that are available is described
further in the following paragraphs.
65
66
Phrase Name
When you create a new phrase it is given a default name which is displayed here. You can change
this name simply by long clicking it to activate it for editing. The name forms part of the identifying
text for a phrase in the Track Explorer View phrase list. Use the name sensibly to lhelp you locate
phrases in a long phrase list.
Note Pitches
For normal multi-pitch instrument tracks, this is where you set the note pitches that make up
67
a chord to be strummed. They can be set manually using the individual drop down list controls but
most users will use the chord wizard to set the six note pitches automatically based on a required
chord pattern. A sample image of the note pitches presented in the drop down control (non drum
track) is shown below.
68
The note pitches are presented in increasing pitch order. The number represents the octave and the
note pitches available run from C1 to B7.
The order of the note pitches is important as the application assumes the normal direction of a strum
across the available note pitches is from left to right (equivalent to a downward strum on a six string
guitar. Some of the strum techniques you can apply to strum elements can change the order in which
the notes are strummed (e.g. reverse, shuffle etc) to give interesting strumming effects. The chord
wizard assigns its generated chord notes in ascending pitch order to each of the drop down note
pitch controls from left to right to be consistent with the conceptual model described above. Of
course if you manually set the controls your chosen order of pitch assignments will be respected by
the application.
You can set individual note pitches to the value 'None' (located at the head of each drop down list
control). This effectively turns that note pitch off and it won't be strummed on playback. It will
appear as if there is one less note pitch to be strummed (like there being less strings to strum on a
guitar). If you are building bass or lead lines you will likely only set one of the drop down controls
to a value and set all the others to 'None'. In a typical lead or bass line you do not strum multiple
note pitches, you simply play single pitch notes.
The note pitch drop down controls are set differently for phrases in a drum track. Instead of note
pitches the controls instead contain a list of percussion instruments. The following example shows
the first control set to a side stick (midi pitch number 37) and the others are set off.
69
For drum tracks you would typically only set the first control but the application doesn't prevent
you setting others. Whilst it is fairly unnatural to strum percussion instruments the application does
allow you to simulate this in order to achieve some interesting percussion effects. It would be
equivalent to a drummer triggering different percussion instruments at the same time whilst playing
out your phrase rhythm as described by its associated strum elements. By tweaking the delay
parameters that determine the speed of the strum you can build interesting effects such as flams (i.e.
a short delay between two sticks hitting the same percussion instrument such as a snare drum).
The following image shows a sample of some of the percussion instruments available from the drop
down control for drum track phrases.
70
Chord Wizard
The chord wizard saves you the effort of working out the note pitches that make up a desired
chord in order to set the note pitch drop down controls. The wizard works this out for you and sets
the note pitch controls automatically.
On activating the Chord Wizard button the following dialogue is displayed.
Chord Root: The base note pitch for the chord.
Chord Type: The nature of the chord (implies a mathematical interval pattern between pitches0.
Octave: Determines the octave in which the chord is pitched.
Note Count: Determines the number of chord notes to generate (1-6).
Inversion: The position of the generated chord notes (refer to the concepts section).
Sequence: Determines the sequence in which the generated chord notes are to be assigned to the
note pitch controls.
The following images show sample values from each of the chord wizard parameter drop down
controls.
71
72
73
Having set the chord wizard parameters, select 'Ok' to invoke the wizard in order to generate the
chord note pitches. The application returns to the Phrase Edit View with the number of note pitches
requested set in the note pitch drop down controls. If less than 6 notes were requested the remaining
controls are set to 'None'.
Select 'Cancel' to abort the chord wizard function and leave the current note pitch settings
unchamged.
Note that the chord wizard is disabled for drum track phrases as it has no value inn that context.
Strum Element List
This area of the view displays the strum elements associated with the topic phrase. Strum
elements lay out the musical timing of a phrase by specifying a series of note durations, each of
which is a time slot allocated to the strumming of the note pitches associated with the phrase using a
specified strumming technique (down, up, picked, rest etc). Think of each strum element as the
passage of a plectrum across strum across the strings of a guitar (or its non passage across the
strings using the 'rest' technique to introduce a brief gap or silence in a given rhythm).
The sequence of the strum elements in the list is important as the midi note events are generated in
the same sequence so you are looking at increasing time as you follow the list from top to bottom.
Visual cues inside each strum element graphic provide key information about its configuration. This
74
minimises the need to activate other functions to view the necessary information. The following
strum element properties are displayed in this way.
•
Note Duration
•
Strum Technique
•
Velocity Override Operative
•
Delay Override Operative
•
Span Override Operative
The following image shows all of these displayed.
Strum element note duration is displayed using conventional musical notation and is the first
graphic overlay shown in the graphic. The Strum technique is shown next iin textual form. In this
case it is showing 'Up' which means play the configured phrase note pitches from right to left and
would represent a guitar player strumming the notes on a guitar in an upward direction (i.e. from the
highest pitched string to the lowest. The next three graphic elements are reserved for the parameter
overrides listed above, but they are only shown if the overrides are configured for a given strum
element. For more information on these overrides please refer to the concepts section of this guide.
If you activate a strum element by short clicking a dialogue is launched that allows a user to edit
key strum element details. This is the same dialogue that is displayed when the 'Add Pattern' button
is activated. Refer to the section below that covers that facility for more information.
If you activate a strum element and hold it (i.e. long click) a context menu is launched that provides
access to a further set of strum element functions, a number of which directly impact the
composition of the strum element list and hence the rhythmic timing of the phrase. The context
menu options are described in later sub-sections.
Phrase Playback Controls
Having edited a phrase configuration you will want to hear the results of your efforts. These
buttons control the playback of your phrase. Use them to play and/or prematurely stop the playback
of the phrase as desired.
75
Transpose Controls
Use these controls to transpose phrase note pitches (or percussion instrument selections for
drum track phrases) by collectively moving the current item selected in note pitch controls up or
down by one item in their respective control lists. For non drum track phrases this has the effect of
increasing or decreasing the note pitch by one semitone as each item in a note pitch control
represents a single musical semitone. For drum track phrases the effect is to select the next
percussion instrument that lies one step higher or lower in the list of available percussion
instruments.
For non drum tracks this allows you to shift a phrase chord up the musical scale (e.g. say from C
Major to D Major by clicking the button twice to move the notes through the required 2 semitones).
Of course the chord wizard could be used to achieve the same but this might take more effort and
may not be appropriate in all cases, such as where the notes have been set to some custom
arrangement that the chord wizard doesn't support (some weird chord or a purposely dischordant set
of note pitches that you want transposed).
Phrase Navigation Controls
When you are developing strum patterns it's often useful to navigate around phrases in the
same track as you may need to edit them as a result of changes made in other phrases. You could of
course return to the Track Explorer View each time and select the relevant phrase from the phrase
list but this may not be the most efficient method.
These button controls allow you to quickly navigate up and down the track phrase list without
having to revert back to the Track Explorer view.
Use 'Next' to navigate to the next phrase (musically later in time) and 'Previous' to navigate to the
previous phrase (musically earlier in time).
The 'Next' control button is disabled when you reach the last phrase in the phrase list. Similarly the
'Previous' button control is disabled when you reach the first phrase in the phrase list.
Add Pattern
Use this control to add a new strum element to the end of the current strum element list.
When you activate the control the following dialogue is launched to capture key properties of the
new strum element.
76
The following images show the range of values available in the property controls.
77
When you have configured the properties just click the 'Ok' button and the properties will be saved
and you will be returned to the Phrase Edit View where the new strum element will be listed at the
end. You can move it around using various context menu functions (see later).
This dialogue is also launched when you activate and hold a strum element in the strum element list.
In this context the displayed controls will be set using the topic strum element's current properties
which you can then change. Instead of creating a new strum element when you click on the 'Ok'
button the properties of the topic strum element are just updated.
Click 'Cancel' if you want to abandon your changes.
Add Template
Use this control to add a pre-configured set of strum elements to the phrase from a strum
pattern templates (refer to the concepts section for more information on strum pattern templates).
When you activate this control the following dialogue is displayed to help the user locate the
required template.
78
The central image acts as a toggle button that switches between Strumpy installed pattern templates
and user created pattern templates. Initially the dialogue is displayed showing the Strumpy installed
pattern templates. The following image is an example of the dialogue when it is displaying the user
created pattern list.
79
As you can see from the above you can distinguish between the view states by looking at the icon
image between the 'Ok' and 'Cancel' buttons. The Strumpy templates are visible when the Strumpy
icon is shown and the user created templates are shown when the person facsimile icon image is
displayed.
The dialogue shows the list of available templates in each category. If you activate (touch) a
template in the list it will playback using one of two different methods depending on a preference
setting (Refer to the options menu associated with the Project Selection View).
You can preview patterns raw or live. If you preview them raw you hear a simple 'middle C' note
pitch playing out the rhythm of the selected pattern, but with no frills. This allows you to clearly
hear the underlying phrasing of the pattern.
Alternatively you can choose for pattern templates to be heard 'live' which means that the strum
elements in the pattern template are played back as though they had already been inserted into your
phrase so that you can hear how the template's strum elements will sound should you decide to go
ahead and add it.
In addition to playing the template, activating a template in the list also provides a visual clue
regarding the key properties of each strum element it contains. A scrollable list of graphic images is
shown to the right of the list that provides information on note duration and strum technique. Note
duration is shown using the note duration graphics (crotchet, quaver etc) and alongside that is a
graphic that illustrated the strum technique. For example, arrows are used to indicate strum
direction (up or down) and their colour/size indicate whether the strum is normal or staccato
(green/long or red/short). These provide the user with information to assist in deciding whether or
not a particular template is suitable.
80
The name of the currently selected template is shown at the top of the dialogue.
On activating the 'Ok' button control the strum elements associated with the template are copied in
to the current phrase at the end of the current strum element list. Activate 'Cancel' to abandon the
addition of a pattern template.
Repeat Count
Use this to control how many times the phrase is played in the composition. A value of 1
means it is played once (i.e. not twice, original plus one repeat). This is how you get a single phrase
to repeat. The phrase group repetition facilities which are configured in the Track Explorer View
cannot be efficiently used to achieve this as they are designed to control the repetition of more than
one phrase (i.e. a block of phrases). Think of the effect of this as repeating the phrase note events a
number of times thus extending the length of the composition.
Strum Delay Parameters
Use these controls to configure the default strum speed for all strum elements with no
strum delay parameter override. This is where you set the base strum speed for all the strum
elements in the phrase allowing you to override where necessary on a strum element by strum
element basis for added effect and variation.
Higher values lead to a slower sounding strum and smaller values a faster sounding strum.
In most cases you will set the minimum and maximum to the same values but you can introduce
further variation by specifying different values for the minimum and maximum delay percentages.
This varies the delay between the triggering of each note pitch in a chord rather than it being
constant and in theory gives a more life-like feel to a strum (in real life the time period between
hitting each string when strumming a guitar is unlikely to be consistent throughout the strum).
If you select a minimum delay percentage that's greater than the current maximum delay percentage
the application automatically sets the maximum delay percentage to the same value. Likewise if you
set the maximum delay percentage to a value that is less than the current minimum delay percentage
it sets the minimum delay percentage to the same value.
For more information on the delay parameters refer to the relevant section in the concepts section of
this guide.
Strum Velocity Parameters
Use these controls to configure the default 'loudness' for all strum elements with no strum
velocity parameter override. This is where you set the base loudness for all the strum elements in
the phrase allowing you to override where necessary on a strum element by strum element basis for
added effect and variation (i.e. applying accents to certain strummed notes).
In addition to a range of velocity values you can also specify how that range of velocity values is
81
applied when determining the volume of each triggered note pitch that makes up a strummed chord
(velocity allocation parameter). This parameter determines how the specified velocity range is
distributed amongst the chord notes during a strum to generate different effects. A range of options
is provided (refer to concepts section) and a sample list of the range of values available in the
control is shown below.
(Note: in midi the term velocity is used to represent how hard a midi note is hit and this is usually interpreted
into a sound volume dimension)
Higher values lead to a louder sounding strum and smaller values softer sounding strum.
In most cases you will set the minimum and maximum to the same values but you can introduce
further variation by specifying different values for the minimum and maximum values. This varies
the velocity (hence 'volume or 'loudness') between the triggering of each note pitch in a chord rather
than it being constant. Like with the delay parameters, in theory this gives a more life-like feel to a
strum (in real life the hardness by which each string is struck whilst strumming a chord on a guitar
is unlikely to be consistent across all strings).
If you select a minimum value that's greater than the current maximum value the application
automatically sets the maximum value the same. Likewise if you set the maximum value to a value
that is less than the current minimum value it sets the minimum value the same.
For more information on the velocity parameters refer to the relevant section in the concepts section
of this guide.
Phrase Length
This control shows the total duration of the phrase in midi clock ticks It is the sum of the
individual strum element durations. Click the control to trigger a temporary display of this length in
quarter and eighth beat notes respectively. Use as a guide as to ensuring your phrases occupy the
expected time duration.
Strumpy allows free format entry of note durations (strum elements), it provides no visualisation of
song measures/bars. This simplifies the complexity of the application and does away with the need
82
for time signatures. It is left to the end user to determine where measures/bars actually start and end.
A down side of the above approach means that all time has to be accounted for if tracks are to be in
time with one another. Rests have to be explicitly added at the end of every perceived measure/bar
and not assumed to be added automatically as Strumpy has no time signature reference it can use to
determine its required length.
To help users ensure that phrases have the desired length (which may or may not be the same length
of a measure/bar) Strumpy displays the length of a phrase in midi clock ticks in this control.
If you short click (touch) the control it will display a short message that provides a representation of
this clock time in quarter and eighth note beats respectively.
Music time signatures are usually expressed in multiples of quarter or eighth note beats.
e.g. 3/4, 4/4, 5/4(quarter notes)
6/8, 7/8, 12/8 (eighth note beats)
The first example represents measures consisting of 3, 4 and 5 quarter notes respectively. The
second example represents measures consisting of 6, 7 and 12 eighth notes respectively.
Knowing how many quarter and/or eighth beat notes there are in the phrase you are editing is
therefore useful in understanding whether or not you have accounted for all the necessary time. This
is particularly helpful if the phrase is busy consisting of many notes of different durations including
triplet note durations as adding these up by hand an calculating lengths in beats can be an effort and
error prone.
The format of the message displayed when you activate the control is as follows.
n/4=x(y) n/8=a(b)
Where x and a indicate the number of whole quarter notes and eighth notes respectively that make
up the phrase. The elements in brackets (y and b) indicate the remaining clock ticks in the phrase
after accounting for the displayed number of whole quarter and eighth note beats. This would be
zero if a phrase was an exact multiple of quarter and/or eighth notes.
If you were expecting a phrase to be 5 quarter beats (i.e. A whole 5/4 time measure) then you would
be looking for the display to show
n/4=5(0)
to ensure you have completely accounted for the time. If it isn't then you should review your strum
elements and add and/or delete them as required to ensure you account for the time required.
If you do find that tracks are wandering out of time with one another it is likely that you have
repeated some phrases with an inconsistent (and unintended) time duration (their durations do not
align with the perceived time signature and therefore overlap or under-run measure boundaries).
Strumpy operates with a 960 midi clock tick resolution per quarter note (i.e crotchet).
The complete mapping of clock ticks to their equivalent note durations (as used/specified in
Strumpy) is given below for reference.
83
Note Duration Midi Clock Ticks
Note Duration
Clock Ticks
Crotchet
960
Quaver
480
Crotched Triplet
320
Semiquaver
240
Quaver Triplet
160
Demisemiquaver
120
Semiquaver Triplet
80
Hemidemisemiquaver
60
Demisemiquaver Triplet
40
Hemidemisemiquaver Triplet
20
The residual balance of clock ticks shown after accounting for whole quarter and eighth notes (i.e. y
and b above) will correspond to a combination one or more of the clock tick values shown in the
above table.
For example, if you have a balance of 320, you are probably missing or incorrectly including a
crotchet triplet.
Whilst all the above sounds quite complex, when you are using the tool in practice it's fairly easy to
hear when track timings are out then usually fairly easy to fix once you've identified the dodgy
phrase. That said, this control is likely to prove very useful during the development of complex
phrasings that consist of many strum elements and where keeping track of total phrase length would
otherwise be quite painful.
5.4.2 Strum Element List Context Menu – Group Menu
When you activate and hold a strum element in the strum element list you are first presented with a
top level (group) menu that lists the high level options you have available for manipulating strum
elements within the topic phrase. You must make a choice to trigger the next level of menu that
makes actual functions available within the chosen group category. The group menu is shown
below.
84
5.4.3 Strum Element List Context Menu – Copy Sub Menu
When you select the 'Copy' category from the strum element list group context menu you are
presented with a list of copy options as shown below.
Copy Before: Creates a copy of the topic element and places it before that element in the list
Copy After: Creates a copy of the topic element and places it after that element in the list
85
Copy Start: Creates a copy of the topic element and places it at the top of the element list
Copy End: Creates a copy of the topic element and places it at the bottom of the element list
Note that these are true 'copies' and not links to the original element such that if you change the
original the effects are automatically propagated to the linked copy. The new copy is an independent
strum element in its own right and is in no way linked to the original from which it was sourced.
After activating an option the application copies the contents of the activated (selected) strum
element to the requested position in the phrase strum element list. The strum element list is
refreshed so you can see the effect of the change.
5.4.4 Strum Element List Context Menu – Move Sub Menu
When you select the 'Move' category from the strum element list group context menu you are
presented with a list of move options as shown below.
Some of these options may not be available depending on the context of the phrase used to activate
the context menu set. For example, the option to move an element up in the sequence doesn't make
sense for the first item in the list so it will be disabled.
Move Up: Moves the element up the list by one position
Move Down: Moves the element down the list by one position.
Move Start: Moves the element to the top of the list.
Move End: Moves the element to the bottom of the list.
After activating an option the application returns to the Phrase Edit View having refreshed the strum
86
element list so you can see the effect of the chosen option.
5.4.5 Strum Element List Context Menu – Delete Sub Menu
When you select the 'Delete' option from the strum element list group context menu you are
presented with a list of delete options as shown below.
Delete: Removes the strum element from the topic phrase.
Delete All: Removes all strum elements from the topic phrase (empties the strum element list)
After activating an option the application returns to the Phrase Edit View having refreshed the strum
element list so you can see the effect of the change.
5.4.6 Strum Element List Context Menu – Add Sub Menu
When you select the 'Add' category from the strum element list group context menu you are
presented with a list of add options as shown below.
87
These options add a new strum element to the topic phrase strum element list and automatically
launch a dialogue to capture details of the new strum element. Refer to the 'Add Pattern' button
control earlier for a description of this dialogue.
Add Before: Adds a new element and places it before the topic element in the strum element list
Add After: Adds a new element and places it after the topic element in the strum element list
5.4.7 Strum Element List Context Menu – Template Sub Menu
When you select the 'Template' category from the strum element list group context menu you are
presented with a list of template insertion options as shown below.
Add Template After: Adds template content after the topic element in the strum element list
Add Template Before: Adds template content before the topic element in the strum element list
Add Template At Start: Adds template content at the top of the strum element list
Add Template At End: Adds template content at the bottom of the strum element list
If you activate one of the presented options you are presented with a dialogue to help you identifi a
suitable template. This dialogue has already been covered under the 'Add Template' button control
and is not repeated here. Refer to the section that describes the 'Add Template' button control on the
Phrase Edit View for further details on using that presented dialogue..
88
5.4.8 Strum Element List Context Menu – Parameter Overrides Sub
Menu
When you select the 'Parameter Overrides' category from the strum element list group context menu
you are presented with a list of options as shown below.
Clear Override: Removes any configured velocity, delay and span overrides set for the topic strum
element.
Clear Velocity Override: Removes any configured velocity override set for the topic strum
element.
Clear Delay Override: Removes any configured delay override set for the topic strum element.
Clear Span Override: Removes any configured span override set for the topic strum element.
Set Velocity Override: Sets a velocity override for the topic strum element.
Set Delay Override: Sets a delay override for the topic strum element.
Set Span Override: Sets a span override for the topic strum element.
On activating any of the 'clear' options the application makes the corresponding change to the
associated strum element property and then returns the user to the Phrase Edit View after updating
the strum element list so the user can see the effect of the change.
On activating the 'Set Velocity Override' option the application prompts the user with the following
dialogue to allow the relevant override parameters to be added/edited.
89
The controls are set to any existing property values unless none have yet been set in which case the
application will choose sensible start values which the user can change. Simply select 'Ok' to accept
the specified property values are 'Cancel' to abandon any changes. In both cases the application
returns to the Phrase Edit View having refreshed the strum element list to reflect any changes that
might have been made.
On activating the 'Set Delay Override' option the application prompts the user with the following
dialogue to allow the relevant override parameters to be added/edited.
On activating the 'Set Span Override' option the application prompts the user with the following
dialogue to allow the relevant override parameters to be added/edited. The controls are set to any
existing property values unless none have yet been set in which case the application will choose
sensible start values which the user can change. Simply select 'Ok' to accept the specified property
values are 'Cancel' to abandon any changes. In both cases the application returns to the Phrase Edit
View having refreshed the strum element list to reflect any changes that might have been made.
90
The controls are set to any existing property values unless none have yet been set in which case the
application will choose sensible start values which the user can change. Simply select 'Ok' to accept
the specified property values are 'Cancel' to abandon any changes. In both cases the application
returns to the Phrase Edit View having refreshed the strum element list to reflect any changes that
might have been made.
91
5.5 Mixing Desk View
5.5.1 View Context and Navigation
This view is launched from the Track Explorer View using the button control labelled 'Desk'.
This view is where you manipulate the tracks in your project From here you can create additional
tracks, move them around in the track list or make copies of them. This is also where you determine
which tracks sound when you playback your project as it provides functions to mute and solo
individual tracks. It alos provides access to the Track Details View where you can change the
relative volume and stereo field position of tracks within the overall mix. Thinks of this view as a
sort of studio mixing desk where you can manipulate the overall mix of the tracks in your
composition.
92
Track List
This area contains the list of tracks in your project. The order in which tracks appear in this
display is the same order they appear in the tracks selection drop down control in the Track
Explorer view. You are able to reorder using context menu functions. The order has no influence on
the sounds generated on playback but the order of the tracks here will be the order in which tracks
appear in an exported project midi file. External DAW's will usually import midi file tracks in the
same order they appear in the midi file so the order here may have some influence here.
The track name is shown along with a representation of some key properties. Firstly, the midi
channels currently assigned to a track are shown in the following format.
[Primary Instrument Midi Channel, Second Instrument Midi Channel] (optional)]
e.g. [1,3] or [1]
A primary instrument midi channel will always be shown for a track, a second midi channel will
only be shown if a second instrument has been configured for a track (see Track Details View).
In addition to the midi channels the application also indicates if the track's 'Enhanced Mode' feature
has been suppressed by appending the characters [SE]. If the feature is off this character string will
not be displayed.
Finally, the solo and/or mute status of a track is also shown by further appending the characters [S]
and/or [M].
93
Colours are also used to indicate track mute and solo status. A track's list item background will be
set green if solo status has been set, red if the track has been muted and a mixture of green and red
if a track has both solo and muted status.
If you activate a track in the track list the Track Details View is launched with the selected track as
its topic (See the separate section on this view for further information).
If you activate and hold a track in the track list (long click) a context menu is launched with a range
of further track related options. These are described further later in this section.
New Track
Use this control to add a new track to the end of the track list. A default name for the track
will be automatically generated, but you can change it with a context menu function.
Playback Controls
Use these controls to control the playback of your whole project composition from this
view. In local play mode the play control is disabled during playback and the stop button is
disabled when not in playback to provide visual feedback and prevent redundant triggering of
events. In live play mode this is not possible so both buttons are enabled at all times. The play
button is disabled in both modes if there are no tracks to play (i.e. should all tracks be muted with
no solo tracks).
Song Position Controls
These control the position at which playback starts next time a playback action is executed
and consists of a song position increment control (+), a current song position pointer indicator (seek
bar) and a song position decrement control (-). The song position pointer seek bar control is
calibrated as a percentage of the overall length of the project composition. For example, if it is
situated in the middle of its range this indicates playback should start at a point that is 50% the
duration of the overall composition (i.e. half way through).
The song position increment and decrement controls allow finer control over the song position
pointer by incrementing or decrementing its position by a single unit (i.e. percentage point).
You can drag the pointer to a particular position where you wish playback to start and then fine
control that position using the increment and decrement controls as appropriate.
When constructing your project you might find it useful to use the song position controls to avoid
having to listen to the whole composition (or track) each time you action a playback. This allows
you to focus for efficiently on the area within the overall composition you are working on.
94
If you long click on the increment control it automatically resets to zero. This ensures playback will
start from the beginning should that be desired and is a more robust way of ensuring the song
position pointer is set at the beginning than simply dragging the seek bar.
When you open a project the song position pointer is always set to zero (i.e. the beginning of the
composition. Also if you set the pointer in the Track Explorer view its current setting is carried
forward to the Mixing Desk view and vice versa.
Toggle Mute Status (All Tracks)
Use this control to toggle the mute status of all your tracks. This is a quick way of
removing the mute status from all tracks or for setting the mute status of several tracks (it may be
quicker to mute them all and then undo mute status for the few you don't want rather than having to
use the context menu repeatedly to mute individual tracks).
Toggle Solo Status (All Tracks)
Use this control to toggle the solo status of all your tracks. This is a quick way of removing
the solo status from all tracks or for setting the solo status of several tracks (it may be quicker to
solo them all and then undo solo status for the few you don't want rather than having to use the
context menu repeatedly to solo individual tracks).
Launch Track Explorer
Use this control to go back to the Track Explorer View where you can edit the individual
track phrases.
5.5.2 Track List Context Menu – Group Menu
When you activate and hold a track in the track list the following context menu will be launched.
This menu provides direct access to some functions as well as links to further sub-menus that serve
to group further sets of track functions (e.g. Move, Copy and Parameter Overrides)
95
5.5.3 Track List Context Menu – Solo/UnSolo
Activate this option to toggle the current solo state of the topic track. On activating the solo status
track property is changed and the user is returned to the Mixing Desk View where the result of the
change can be seen in the track list.
5.5.4 Track List Context Menu – Mute/UnMute
Activate this option to toggle the current mute state of the topic track. On activating the mute status
track property is changed and the user is returned to the Mixing Desk View where the result of the
change can be seen in the track list.
5.5.5 Track List Context Menu – Rename Track
Activate this option to rename the topic track. On activation the following dialogue is displayed to
allow the user to change the existing track name.
96
Select the 'Ok' button to save your changes or 'Cancel' to abort the track rename. On exit control is
returned to the Mixing Desk View where the result of any change made can be seen in the track list.
5.5.6 Track List Context Menu – Remove Track
Use this option to remove the topic track from the project. Note that no confirmation is requested so
be careful before committing this option as there is no way back (other than reloading a previous
copy of your project).
5.5.7 Track List Context Menu – Move Sub Menu
97
When you select the 'Move' option from the track list group context menu you are presented with a
further list of move options as shown below.
Some of these options may not be available depending on the context of the track used to activate
the context menu set. For example, the option to move an element up in the sequence doesn't make
sense for the first item in the list so it will be disabled.
Move Up: Moves the track up the track list by one position
Move Down: Moves the track down the track list by one position.
Move Start: Moves the track to the top of the track list.
Move End: Moves the track to the bottom of the track list.
After selecting an option the application returns to the Mixing Desk View having refreshed the track
list so you can see the result of the change.
5.5.8 Track List Context Menu – Copy Sub Menu
When you select the 'Copy' category from the track list group context menu you are presented with
a list of copy options as shown below.
98
Copy Start: Creates a copy of the topic track and places it at the top of the track list
Copy End: Creates a copy of the topic track and places it at the bottom of the track list
Copy Before: Creates a copy of the topic track and places it before that track in the track list
Copy After: Creates a copy of the topic track and places it after that track in the track list
Note that these are true 'copies' and not links to the original track such that if you change the
original in any way the effects are automatically propagated to the linked copy. The new copy is an
independent track in its own right and is in no way linked to the original from which it was sourced.
After selecting an option the application copies the contents of the topic track to the requested
position in the track list and returns to the Mixing Desk View having refreshed the track list so you
can see the result of the change.
5.5.9 Track List Context Menu – Parameter Overrides Sub Menu
When you select the 'Parameter Overrides' option from the track list group context menu you are
presented with a list of options as shown below.
99
Clear Override: Removes any configured velocity, delay and span overrides set for the topic track.
Clear Velocity Override: Removes any configured velocity override set for the topic track.
Clear Delay Override: Removes any configured delay override set for the topic track.
Clear Span Override: Removes any configured span override set for the topic track.
On selecting one of the above options the application makes the corresponding change to the track's
strum elements and returns the user to the Mixing Desk View.
100
5.6 Track Details View
5.6.1 View Context and Navigation
This view can be launched from both the Track Explorer View (for the current track that's set in that
view) and the Mixing Desk View (from activating a track in the track list) and it provides access to
a number of track properties that influence the sound heard when you playback your project, or any
of its parts.
The actual view is scrollable and is quite long so for the purposes of describing it in this document
it has been split into two separate sections as shown below.
101
As can be seen from the above it has two key sections with similar controls, one for the primary
instrument midi output track and one for the optional second instrument midi output track. The
second instrument is only enabled and therefore optionally available, for normal instrument tracks,
it is disabled for drum tracks (those where the primary midi output channel has been mapped to
midi channel 10). Remember that the second instrument midi output track is sourced from the same
events as the primary midi output track, it is not an independent source of editable phrases. If you
want to separate drum output tracks create a new track mapped to midi channel 10 and construct
your phrases around a different percussion instrument on that track.
102
Track Name
The name of the topic track is shown here for reference.
Primary Midi Output Track Instrument
This control allows you to select the instrument that will be used for the primary midi output
track associated with your Strumpy track. Note that this control is disabled for drum tracks (those
mapped to midi channel 10) as the percussion instrument on drum tracks is determined by note
pitch.
Use the drop down list to select from the available 127 midi instruments. The midi instrument
names are taken from the General Midi 1 (GM1) and General Midi 2 (GM2) standards.
When you create a new track this control will be set to 'default', the first item in the list. The default
instrument is mapped to the general midi program number for a steel guitar. If you've selected
another instrument and find you want to return to the default guitar instrument simply scroll to the
top of the list and select the 'default' instrument.
How the built-in midi instruments actually sound on your device will depend on its manufacturer. If
you want to hear your composition with more realistic sounds you should consider transferring your
final project midi files into a Digital Audio Workstation (DAW) where you are likely to have far
more instrument samples available to play with. (You may also wish to read the section that covers
Live Play Mode in this guide). That said, the standard midi instruments on the creators Samsung 10
tablet are pretty good and more than adequate for composing music on the move.
Note that when you initiate a playback the application includes a midi program change message in
the track's midi file output stream to ensure your device plays the chosen instrument. This is set for
the track as a whole and can't be changed at a later point in time on the same track.
Primary Midi Output Track Midi Channel
These controls are used to change the midi channel assigned to the primary midi output
track. Strumpy automatically assigns midi channel's to new tracks as described earlier, but you can
change the assigned channel here if desired.
The text field associated with this control set shows the currently assigned midi channel. Use the
drop down control to locate the desired midi channel. Simply selecting a new midi channel in the
drop down control does not change the currently selected channel you also need to activate the 'Set'
button control to register it as a change. The actual change is only committed when you dismiss the
Track Details View dialogue using the 'Ok' button.
Changing the midi channel may impact your existing track phrases, particularly if you are repurposing an existing track, such as turning a drum track (i.e assigned to channel 10) into a
traditional instrument track, or vice versa.
103
The reason for the above is that note pitches configured in track phrases will have been established
within the context of the track being either a traditional instrument track or a drum track.
If an normal instrument track was suddenly re-purposed as a drum track, instrument note pitches
would suddenly become percussion instrument selectors. Not only is it likely that your phrases
would have several note pitches set (not normal for a drum track), each of those note pitches would
now represent a series of percussion instruments to be strummed together in time with the rhythm
orchestrated by your track's strum elements.
To make the outcome of these particular changes more predictable the application resets all note
pitches in these scenarios to the value 'None'. You should therefore review each of your phrases in
the changed track and reset their note pitches appropriately should you re-purpose tracks in this
way.
In all other cases changing the midi channel is as straightforward as just assigning a new channel
number as described above.
Primary Midi Output Track Delay
A midi file's content has a notion of time in order to make sure the music events it contains
are played back at the right time.
All tracks normally start at time zero but the application allows you to delay that time by a small
amount in order to implement creative effects.
A slight delay can introduce interest and make it appear like there are real people playing the
instruments as it can be used to move certain tracks slightly off beat in relation to others in the mix.
Use this control to set the amount of delay that will be added to the front of the track thereby
delaying all other events in the track by the same amount.
Moving the seekbar control to the right increases the delay, moving it to the left reduces the delay.
For most tracks leave the control in the far left position (delay = 0)
Primary Midi Output Track Volume
This control allows you to set the relative volume of the track in relation to the other tracks.
Move the control to the right to increase the relative volume of the track and to the left to decrease
the relative volume of the track.
The overall volume of a track is firstly determined by the velocity parameters assigned to strum
elements in the track (either as set at phrase level or overridden on a strum element by strum
element basis). You cannot increase this without revisiting the velocity parameters of the phrases in
your track. What you can do is reduce the perceived loudness of your track in relation to others
using this control.
Set to its maximum value this control will be playing your track at a level set by its configured
strum element velocity parameters. If you move it to the left it will reduce that level proportionally
thereby reducing its contribution to the overall mix.
A midi channel 'balance' message is placed at the start of the midi output track's output stream based
on the changes you make here.
104
Note that the 'balance' message is a midi channel oriented midi message so if you have several
tracks mapped to the same midi channel only the last one your device processes is likely to be
effective. Bare this in mind when assigning midi channels to tracks. It's likely that the setting
associated with the last track in the track list that is mapped to the same midi channel will be the
one that will actually work and it will affect all midi output tracks mapped to the same midi channel
number.
Primary Midi Output Track Pan
Use this control to determine the position of your track in the stereo field. Move the control
to the right to pan the track to the right of the stereo field and to the left to pan the track to the left of
the stereo field.
A midi channel 'pan' message is placed at the start of the midi output track's output stream based on
the changes you make here.
Note that the 'pan' message is a midi channel oriented midi message so if you have several tracks
mapped to the same midi channel only the last one your device processes is likely to be effective.
Bare this in mind when assigning midi channels to tracks. It's likely that the setting associated with
the last track in the track list that is mapped to the same midi channel will be the one that will
actually work and it will affect all midi output tracks mapped to the same midi channel number.
Primary Midi Output Track Suppress Enhanced Mode
The global 'Enhanced Mode' feature that generates additional notes one octave higher to
simulate a twelve string guitar like effect (when used with a guitar sound) can be suppressed here.
This feature can be used to creative effect but it may not be appropriate for some instrument sounds,
and it is particularly destructive for drum tracks as it results in triggering another percussion
instrument and his may not be desirable. This feature is set automatically for drum tracks, but you
can of course switch it back on again for creative effect if desired. Use this sparingly as it doubles
the number of notes your midi device has to process around at the same time. If it runs out of
available sound generators some notes will be dropped and this will affect the sound you hear with
dramatic effects.
Second Instrument On/Off Toggle Switch
This switch is used to turn on a Strumpy track's second midi output track. This feature sends
a copy of the events on the primary midi output channel to this second channel allowing you to
double up the content using the same phrasing but with a different instrument. You could of course
have two guitars playing the same content but set their delay, and pan settings independently to
create some interesting effects.
This facility is disabled for drum tracks (i.e. those mapped to midi channel 10).
105
This control is a toggle, simply click once to enable the second instrument output track and click
again to disable it.
When you enable the control you have access to an identical set of controls for the second midi
output tracks as you do for the primary output midi channel. Refer to the description of the
corresponding primary track controls if seeking advice on setting the configuration of the second
instrument midi output track as their usage is identical other than affecting the second midi track.
106
5.7 Manage User Patterns View
5.7.1 View Context and Navigation
This view is launched from the Project Select View options menu and allows you to manage any
user pattern templates you saved.
User pattern templates are saved collections of strum elements that orchestrate a rhythm that you
think you might use again at some point. They can be inserted in the phrases of new and existing
projects. More information is available on pattern templates elsewhere in this guide (refer to the
earlier concepts section).
When you have finished using the view simply return to the previous view by using the back button
on your device.
107
User Strum Pattern Template List
This area lists all currently saved user strum pattern templates. If you activate a template in
the list its phrasing will be previewed using a single middle 'C' note. This should be sufficient to
help you identify the nature of the clip in case the name itself doesn't give you sufficient clues.
If you activate and hold a template entry in the list a context menu is displayed revealing further
functions.
5.7.2 User Pattern Template List Context Menu
When you activate and hold a template entry in the template list the following context menu is
displayed.
108
Delete: Removes the topic user pattern template from your Strumpy Pro installation.
Delete All Patterns: Removes all user pattern templates from your Strumpy Pro installation.
Be careful when using these options because there is no confirmation step. Once you have
committed your choice there is no going back.
After selecting an available option the function is carried out and te user is returned to the Manage
User Patterns View.
Happy Strumpying!
109
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement