Table of Contents
This product is aimed at people with large CD collections, and a
methodical way of thinking. If you own over 600 CDs and know where they all are,
then it is likely that you will appreciate this product. This is particularly
true if you suspect that there would not be a product on the market which
could satisfy you.
If you are one of these people, then this product is not only aimed at you,
but also at your family, as it is designed to please a mixed audience. And it is
designed to help you when entertaing guests, either casually, at dinner parties,
or at large celebrations.
“The mUser” is a software package running
under Microsoft Windows with a CPU decended from the Intel 386. Below is
presented main display.
“The mUser” loads music from CDs,
optionally compresses this
music, and stores it to hard disc. It can also copy it to a second hard disc,
to provide a backup in case the hard disc drive fails.
It then plays this music back. The main crux of the software is selecting
which music to play back.
As well as being able to select music to play by song, album, programme, or
the "juke-box", you can arrange for
“The mUser” to select music
for you, depending upon who is present, and what style of music you like to
hear at different times of the week (to the half-hour). It can be asked to
select individual songs or entire albums.
You can also download the music to a hardware MP3 player - either small
personal varieties, or massive car varieties.
The level to which you can customise this software is extraordinary. There
are the usual cosmetic changes that you can make, such as colours, fonts,
speed and steps in the juke-box animation, number and size of the juke-box
cards, scroll rates for the vacuum florescent display, text for and
organisation of menus, many of the dialogue prompts, and so forth. More
importantly, you get to decide what classifications
there are, and these classifications can be grouped (which is important as the
number of classifications you create increases), and any song can belong to
any number of classifications. For example, you might want to create a
"Christmas" classification, which you would allocate to the group "Themes", and
include, within this classification, songs from several genres of music.
You can also select the form and degree of music compression, or opt for
none at all. Compression options include lossy methods such as "MP3" and
"Ogg-Vorbis" and loss-less methods such as "FLAC", and "shorten". The lossy
methods each provide a host of options enabling you to trade-off compression
against quality. There is also a function which allows you to load a test song,
and play it back while arbitarily switching between alternate forms of
compression, and none, allowing you to make an informed choice of compression
method.
Normalisation is normally performed at play back, rather than
during recording, so that you can opt to turn it off when listening to an
album - however, here as well, you can opt to normalise during recording if you
intend to use the machine primarily for audio-streaming. Again you can select
the form of normalisation (peak, RMS, and other parameters) you wish to use.
We call this, "The Thinking Man's Music Machine", as it is uncompromisingly
designed to fill all your anticipated music playing needs, without fear of
being seen as too complex. It is complex, but only as complex as it needs to
be, or as you want to make it. If you take the time to understand the
principles, you will find that it allows you more control with less effort than
any "simple" music system does.
I define a system that is initially easy to use, as "visitor-friendly", while
reserving the term "user-friendly" for a system that provides the familiar
user with greater control for less effort. Still, there are aspects of this
software which are, indeed, "visitor-friendly", as it is anticipated that you
will have visitors.
Chances are that you will believe that you don't need many of the
complexities offered, and you are free to ignore any features you regard as
esoteric. On the other hand, as you use
“The mUser” more, you
likely to make statements like, "It would be good if it could do ...", and learn
that this has been provided for.
In order to assist you to become familiar with the operating principles of
“The mUser”,
the documentation includes extensive tutorials,
which cover the basics, then refer you to sections of the manual where you can
learn more. “The mUser”
comes with two manuals, an
“Operator's Manual” and a “Technical Manual”, which,
combined, include over 350 pages, and are provided as context-sensitive
on-line help, with extensive hyper-text links to other relevant sections.
Now getting down to tin tacks:
The software records songs, from CD, against albums, and albums against
bands. It requires knowledge of its audience (i.e their likes and hates and
likely movements), and the classification of the music.
The software also allows prescribed music mixes to be set upon request or
by time of day, and allows you to weight bands and songs so that they can be
played at greater or less frequency than their share of the playing time would
otherwise result in. The weighting of bands is on a listener-basis.
When the software automatically selects a song (or album) to play, there is
very little in its selection process that is random. It maintains statistics
on each band, album, and song to ensure that it does not over-play nor neglect
songs, except as required.
You can write programmes of songs to be played for special occasions. Each
programme is named so that you can later replay the programme, which you
had created to celebrate your 25th wedding anniversary, or use it as the basis
for another occasion. One programme is dedicated to the juke box. The intention
is for you to design a programme of songs for a party, and a second programme
of songs for the juke box, allowing your guests some control over the play
list. You can also write programmes to be downloaded to personal hardware MP3
players.
Songs to be downloaded to the massive car MP3 players are selected using the
classification system, rather than programmes, as this makes the selection of
tens of thousands of songs more convenient. You can also ask it to create a
series of playlists, each consisting of a fixed number of albums which
satisfy certain criteria. This feature is intended to emulate having multiple
ten or six disc stackers in you car, as the software in car MP3 players is not,
otherwise, very driver-friendly. You can also use programmes to define playlists
manually.
You have the ability to explicitly select songs, or albums, to play. The
songs are presented, sorted in a number of ways, for selections to be made,
allowing you to search for arbitary text in any database field associated with
the song, album, or band.
You can edit the start and stop times of a song, to be applied when the song
is played independently of the album, so as to skip the applause et cetera.
Similarly, you can adjust the divisioning of an album into tracks, to cope
with those occasions when the album is badly divided or contains "hidden"
tracks.
Incidently, you can arrange to play an arbitrary portion of a song, to help
you pick out a word, or practice against a phrase of music, or have your
daughter transcribe it for your mobile phone's composer feature.
There are also windows provided which allow you to list the last so-many
songs played, analyse the song-selection decision making process, to list
significant operator actions and other events, and to present the number of
plays of each song and the average number of plays for each band, in list and
graphical form.
The everyday operations can be carried out using the remote control and
vacuum florescent display, rather than the full monitor-mouse-keyboard
interface. The name of the song currently playing, its duration, who it is by,
the album it is from, and the elapsed playing time are all displayed on the
vacuum florescent display.
It is intended that the computer box be located with your hi-fi.
As this software was derived from our Industrial Automation package,
customisation has been allowed for; we can provide specific functions to suit
your requirements, without incurring exorbitant costs, yet allow your custom
package to continue to benefit from the improvements made to the mainstream
product.
The following sections describe
"the assumptions",
"the terminology",
and the concepts of
"users", "listeners",
"classifications",
"filters",
"schedules",
"music mixes",
"band weighting",
"song weighting",
"formulae",
"album_mode",
"programmes",
the "juke box",
"personal" and
"car MP3 player programming",
"song" and
"album editing",
"virtual songs and albums",
"Internet CD database",
"statistics",
"remote control", and
"tailoring".
Assumptions
Songs are expected to be able to be arranged in a "tree" structure,
by band then by album, then finally the songs within the album. There are,
however, windows provided to present the songs in a variety of orders,
including by title, band, composer, conductor, or orchestra or choir.
Terminology
Throughout this document, and the software, the primary artist on a CD, be
it a band, singer, musician, composer, conductor, orchestra or choir, is
generically referred to as a "band".
Similarly, the contents of a single CD title (whether a CD-single, a single
album length CD, a double CD, or what-have-you) are referred as an
"album".
A track on a CD, irrespective of whether it is a song, an instrumental,
spoken word, or rap, is referred to as a "song".
Users and Listeners
A "listener" is a member of the household, or a very frequent
visitor. Each
listener must be entered as a user of the system, and assigned
-
a password - this can be blank, especially if you allocate him a zero
privilege level,
-
a privilege level (which determines to what extent he can stuff up the
system) - this can be zero,
-
a classification within the "Audience" group (see the next section), where
he can, or you can for him, describe his likes and dislikes - this is the
main purpose of the exercise,
-
a schedule (optional), allowing the listener to indicate his presence
for each half-hour of the week and what mix of music he would like to hear at
that time, and
-
a set of "band weightings".
Initially there is defined a single user, called "Super user". You would
normally, leave this initial user as the "Super user" and create
a new user for yourself will lesser privileges for every day use, knowing that,
when you need to, you can always log in as the "Super user".
Although you must enter each listener as a user, in order to allocate him a
classification, you need not give him any privilege, if you prefer him not
to be able to adjust the database et cetera.
The positions and sizes of the various windows, the allocation of colours
to purposes, and the selection of fonts are alterable independently for
each user.
Only one user can be logged on at a time via the one interface. There can
be several operator interfaces running from each X-Windows display, and
there can be several X-Windows displays. For the Microsoft version a similar
arrangement applies. No user needs to be logged on for
the system to operate.
A "user" is someone who is permitted to operate the system.
Although each "listener" needs to be entered as a "user",
it is not necessary for him to use the system. Similarly, a "listener"
does not need to be logged onto the system to be deemed to be
"present".
Any number of listeners may be present at once. This can be determined
either automatically by the time, manually until the next change in his
schedule, or fully manually.
When the system is selecting songs at "random" it maintains a
tally of how
much time has been selected on behalf of each listener present. It uses
this tally to provide each listener with a fair crack of the whip.
Whenever a listener is present, the songs available for selection for him
may be screened by a "filter" or a "music mix". Before
understanding either of these concepts, you must first be familiar with the
"classifications" concept.
Classifications
To allow the software to make intelligent decisions in its selection
process, it needs to have the songs classified. What classifications you
have is entirely up to you, however, to get you started, some
classifications have been created; you should feel free to delete or rename
any of these you choose to.
Each classification belongs to a group. What groups you have is also
entirely up to you, however, an important group - which I have named
"Audience" so that it is sorted near, if not at, the top of the
list - is the group of listeners.
A special feature of the listener's classification, it that it not only
flags the songs the listener likes, but also those he hates. In this way,
while selecting songs to play for one listener, the software not only
considers what this listener likes, but also at what each other listener
present hates.
Another main group of classifications might be "genre", which
would include classifications such as "rock", "jazz",
"art", et cetera. I encourage the term "art" rather than
"classical" (especially if you are seriously into what the rest of us
call classical music), as this leaves you free to create a "period"
group, which would include classifications such as "baroque",
"classical", "romantic", et cetera.
Classifications are applied to songs, using a "tree" presentation,
with the classification name as the root, the band names as the first set of
branches, the album names as the next set, and the song names as the finest
set of branches, or leaves. This allows fairly fast classification for the
bulk of your collection and the bulk of the classifications, though
classifications for a group such as "tempo" are always going to be
tedious, unless someone knows of some software that can extract this.
At any time during this process, you can have a song play, to refresh your
memory of it.
When you select a song to play, you are asked whether you wish to play it
at the end of the queue of songs already waiting to be played, at the start
of this queue, or immediately. Under these circumstances, you would select
to play the song immediately. When you select your next song to play, if
the song currently playing was played immediately, the new selection will
also be played immediately, without the system asking.
Afterwards, whenever a song is playing you can, conveniently, review its
classifications.
Although, from a selection point of view, only the song classifications are
important, the classification of albums, bands, and the classification
itself, allows the classification system to be extended automatically as
more CDs are added to the system.
For example, if the "rock" classification itself is ticked as
belonging to the "rock" classification, then when you add a CD by a
band not previously known to your system, it will be automatically added to
the "rock" classification. So, typically, you would, when defining
your own likes and dislikes, tick your classification, but when defining your
partner's likes and dislikes, cross hers, unless your tastes are more aligned
than ours (or I'm not addressing the fanatic in the family).
A song may belong to any number of classifications, even within the same
group. For this reason, I would suggest not creating hybrid classifications
such as "folk-rock" or "jazz-rock", but rather flag the
songs in question as belonging to both "folk" and "rock"
genres, or both "jazz" and "rock" genres. When you wish to
refer to "folk-rock" you can enter "Folk&Rock",
which would typically require you to enter the three key strokes "F",
"&" and "R", as the software will provide the
remaining letters as you type.
This leads us now to the next concept - "Filters".
Filters
The songs which are eligible to be played, or displayed during an enquiry,
may be "filtered". This means that you can specify a
"boolean" formula comprising the operators "AND"
(represented using "&"), "OR" (represented using
"|"), "NOT" (represented using "!"), and brackets
(represented using the open and close parentheses, "(" and
")").
A boolean formula may be a new concept to you. If this is the case, it is
worth learning. The object is to divide your collection into two peices -
those songs which satisfy the formula and those which don't - this is
essentially what boolean means: it either is or it isn't.
The formula may be as simple as a single classification name, such as
"Rock". This formula would divide your collection into those
songs that are part of the "rock" classification and those that arn't.
A slightly more complex formula would be "Rock&Jazz". This
would divide your collection into those songs which are flagged as belonging to
both the "Rock" and "Jazz" classifications, excluding all
others. For example, songs belonging to the "Rock" classification but
not the "Jazz" classification will be excluded.
So "Rock&Jazz" means that the songs must belong to both
"Rock" AND "Jazz". It does NOT mean the songs belonging to
"Rock" AND the songs belonging to "Jazz". To specify that
you would need to enter "Rock|Jazz", which menas that the songs must
belong to either "Rock" OR "Jazz".
If you want to exclude "Rock" songs, you would enter
"!Rock" (NOT "Rock"). If you want to exclude both
"Rock" and "Jazz" songs, you would enter
"!Rock&!Jazz" (NOT "Rock" AND NOT "Jazz").
Had you entered "!Rock&Jazz" (NOT "Rock" AND
"Jazz") this would not be the same thing - this would mean just those
"Jazz" songs which are not also "Rock" songs. You could,
however, have entered "!(Rock|Jazz)", which is equivalent to
"!Rock&!Jazz", but this is for the advanced class.
This brings us to the question of precedence of operators. If you do not
use brackets, the order in which the operations are carried out is
dependent upon what is known as the "precedence of operators". Always
brackets have the highest precedence - this is their purpose in life. If
you do not use brackets, then "!" (NOT) has a higher precedence than
"&" (AND) which in turn has a higher precedence than "|"
(OR). This means that the "not" operations are performed first,
followed by the "and" operations and finally the "or"
operations.
For example, the formula, "Folk&Rock|!Heavy&Art", would
include the songs which belong to both the "Folk" AND "Rock"
classifications, along with (OR) songs from the "Art" classification,
so long as they are not "Heavy" - so no Wagner. This formula is
equivalent to "(Folk&Rock)|((!Heavy)&Art)".
Filters may also contain the names of the groups of classifications as well
the names of the classifications themselves. Filters of this sort are very
helpful in creating classifications. For example, if you have a group of
classifications such as "Nationality", then as you create each
classification within this group, you can specify a filter
"!Nationality" to exclude all that have already been given a
nationality, and are therefore candidates for the nationality being currently
assigned.
Music Mixes
Music mixes are used to influence the selection of songs. Music mixes are
called up independently for each listener, and may differ from listener to
listener.
Firstly a music mix is given a name and, optionally, a designator to be
used in schedules (see the next concept). A music mix may be created with
the intention of calling it up manually at special times such as dinner
parties, or automatically such as at breakfast. So you would give the
"Breakfast" mix a designator, such as "B", but not provide
a designator for the dinner party mix.
Secondly, each music mix is given a number of "elements", each
with its own weighting. Each element includes a filter (for example
"Rock"), a vintage range (for example, 1968 to 1977), a range of song
lengths (for example, zero to four minutes thirty seconds), and, optionally, a
listener.
A music mix could contain a single element with a filter such as
"Rock|Jazz|Pop" however this music mix is just as likely to deliver a
straight "Rock" session depending upon the relative proportions of
Rock, Jazz, and Pop in your collection, and which genres have been most
neglected. Had you intended to provide a mix of Rock, Jazz, and Pop, you
would be better off creating three elements with the three filters,
"Rock", "Jazz", and "Pop", and assigning them
weightings as you deem appropriate. When entering the elements, a bargraph is
presented for each element
giving you an indication of the proportion of the collection which satisfies
each element, thereby warning you that you may be asking the system to overplay
songs which safisfy certain criteria.
Because each listener's idea of an appropriate breakfast mix might vary,
each element can specify a listener. Elements which do not specify a
listener, apply to all listeners, whilst the other elements apply only to
their nominated listener.
Bear in mind though, that a listener's likes and dislikes are still being
taken into account when a music mix is in force, so although there might be
a "Jazz" element applied to all listeners, if a listener does not
like any jazz at all this element will not apply to him. However, if he should
nominate a single jazz tune as a song he likes, you will get to hear a lot
of it.
Schedules
So that you don't have to tell the system when each member of the household
comes and goes, you can setup schedules which can serve as a first estimate
of who is around.
Each listener gets to specify a schedule for each day of the week.
The schedules may be temporarily overridden on a listener basis. If you
tell the system that a user is now absent, he will remain absent, until his
schedule has him returning (a transition from absent to present).
The schedules may also be permanently overridden, again on a listener
basis. You do this to turning his "time clock" off. Once you do this,
the listener will remain absent, or present, until you indicate to the system
otherwise.
You might turn a listener's time clock off and flag him as absent when he
has to fly to Melbourne to commission a new warehouse, or turn his time
clock off and flag him as present when she is on school holidays.
A schedule has entries for each half hour of the day (fourty-eight entries)
specifying whether the listener is expected to be present at that time and,
optionally, what music mix he would like at that time. You can also override the
music mix selected for a listener with an alternate music mix or a filter.
There is also a "master" schedule which is intended to stop the
music during the night, irrsepective of the configurations of the individual
listener schedules. This schedule can also be used to allocate default music
mixes for those listeners who do not have a music mix assigned to them for a
particular half hour.
These schedules only affect the automatic selection of music for playing;
when music is selected for playing explicitly, it is assumed that the listener
is still up listening to it.
When the master schedule indicates that music should not be played, it will
prevent further automatic selections. It will also remove any automatic
selections already on the play list. The presence of songs on the play list,
which have not been automatically selected, or the engaging of a programme,
is taken to indicate that there is an audience, contrary to the opinion of the
master schedule, so the music is not stopped under these circumstances.
When stopping the song currently playing,
“The mUser” checks some
parameters, which you can set to allow the song time to complete, if it nearly
finished, or to fade the song out.
Also, when the master schedule turns the automatic selection of music back
on, you can specify a volume, so that you are not rudely awakened after a raging
party the night before.
Also, temporary adjustments may be made to override the effect of the master
schedule. Functions available, via the remote-control and full-window
interfaces, allow you to stop the playing of music earlier than the master
schedule intends, to extend the playing of music beyond the intended stop
time, and to disable the resumption of music by the master schedule when it
ticks over from off to on.
Band Weighting
Band weighting is provided to cope with the situation where the amount of
music in your collection from a particular band is not in proportion to the
amount of time you might want to listen to that band. This might be because
you have only a passing interest in them, or that you really like them but
they have only released two albums, or you have just bought a 300 CD
collection of Bach but don't want every second song to be from this
collection.
Each band can be given a weighting from 0.00 to 10.00. This rating defaults
to 1.00. If the amount of music by a particular band constitutes, say, four
per cent of your collection, and you give this band a weighting of 0.50,
then two per cent of the music played will be from this band - all else
being equal.
This weighting is allocated on a listener basis; each listener is able to
adjust the weighting for each band to suit his affection for the band.
Song Weighting
Song weighting is provided to cope with the situation where you have
obtained an excess number of versons of some songs by some bands, and
although you wish to maintain all these versions on hard disc, you do not
want them to be so disproportionatly represented in random play.
For instance, you may have purchased Jefferson Airplane's
"Takes Off" or "Surrealistic Pillow" albums, featuring both
the mono and stereo versions of each song. In this instance, you could choose
to either leave one version with a weighting of one and reduce the weighting of
the other to zero, thereby inhibiting it from random play, or give both versions
a weighting of one half.
The song weighting is allocated on a class basis, and may range from 0.00
to 10.00. It is envisaged that you would normally leave the class weighting
at 1.00 for all classes other than those specially created for the sake of
weighting songs. These classes would be allocated a class group of
"Weighting", and may include class names such as "Mono",
"Stereo", "Remixes", "Remasters",
"Naughty", "Half", "Third", "Quarter",
and so on.
By using "Mono" and "Stereo" as class names in the above
example, you can more easily change your mind as to whether to disable one, the
other or to divide the weighting. Similarly the "Remasters" and
"Remixes" are intended to accommodate Deep Purple's anniversary
release of "Machine Head", which also featured two complete copies of
the album.
The "Naughty" class is intended to cover songs you may not wish
played in the presence of your children or their grand parents, such as
Marianne Faithful's "Why D'Ja Do It?", which was originally released
in this country under the title "*** *'** ** **?", and the album track
consisted entirely of blank grooves. In this way you can set the weighting to
either 0.00 or 1.00 depending on who's around. This is also a convenient way to
temporarily disable any class, however, if you do this you should regularly
check the list of classes for those which have been inadvertently left
disabled.
Finally the "Half", "Third" and "Quarter" classes are there for general-purpose use where there are no more general class name
can be suggested.
As a song may belong to several classes, the effective weighting on a given
song is the product (multiplication, times) of all weightings applied to
it. For example, if your copy of Deep Purple's three disc set "Live in
Japan", from which the original "Made in Japan" was culled,
belongs to the "Third" class, with a weighting of 0.33, and to
"Live" class, which this weekend you are giving a weighting of 4.00,
then the effective weighting would be 1.32.
Unlike the "Band Weighting", this weighting is not allocated on a
listener basis, as I feel this would add an unnecessary complication to the
weighting process.
Formulae
When the system is playing songs at "random", there is very little
in its decision making which is truly random. Once it has formed a short list
based on which listeners are present, who's turn it is, what music mix they
have enabled and which element of it is most deserving, or what filter they
have entered, it processes this short list, with the band and song
weightings, to create a shorter short-list.
There are two formulae, which are used to process the short-list. These
formulae are both user alterable, however, there are default formulae
provided so you need not concern yourself with these immediately. Please
bear in mind, though, that they may be altered, especially if the balance
between "play ratio" and the time since the last play proves not to
suit you.
The "play ratio" is the ratio between the amount of music available
from a band or album, and the amount of time this band or album has been
played.
In deciding what to play next, the system attempts to play songs by under-
played bands, and from bands which have not been heard for a while. These
two criteria, whilst generally complementary, can be conflicting when a new
band or album has been introduced into the system, as it is under played,
yet played recently.
The song ultimately selected to be played will be that which has the
highest rating. Should two or more songs share the highest rating, then the
system will attempt to make a random choice.
Album Mode
When “The mUser”
is automatically selecting songs to play, you
can instruct it to select whole albums instead. This we call "Album Mode".
In album mode, because of the longer times associated with each choice, a
different approach is taken to the selection. If, when making selections, an
album was selected for one listener then another for the next, it could be hours
before some listeners might hear something they like. So instead, each selection
is made for all present listeners.
To achieve this, when in album mode: any music mixes are cancelled, any
filter set is applied to all present listeners, no album is selected unless it
is liked by all present listeners, and the band weightings are averaged between
all present listeners.
When an album is selected, only those songs from it that are liked by all
listeners, and satisfy the filter (if in place), will be selected for play.
For those wanting to know this, the averaging of a band's weighting is done
by taking the geometric mean of the weightings from each listener present.
Album mode can be engaged and disengaged via the full operator interface,
and via the remote control.
When in album mode, you can also set a limit on the length of the album which
can be added to the playlist. Albums longer than this value will be broken up
and the most deserving segment, only, will be added to the playlist.
Programmes
Programmes are ordered lists of songs, which can be engaged to provide an
effective "party tape".
In order to produce the programme, you would normally apply a filter to the
list of songs, then tick off the songs from this list you would want to
short-list for your programme.
You may have, previously, created some special classifications to help
prepare for creating these programmes. I group such classifications into a
"Theme" group. These theme classifications might include
"Dance", "Well known", "Love Songs", et cetera.
The term, "Love Songs" is intended to differentiate these from the
"Romantic" period of "Art" music.
Once you have applied the filter, and ticked off your short list from among
the remaining songs, you would place these in the programme. The programme
window shows the number of songs in the programme and what the total
playing time is.
You can then have the programme sorted according to song title, band,
vintage and duration. Typically, you might first sort by duration, and
consider whether the longer songs merit retaining.
You could then sort by vintage and eliminate those songs that are unlikely
to be appreciated by the expected audience.
You might then choose to sort by band, and eliminate the lesser songs by
bands with a larger proportion of the songs.
At any time during this process, you can have a song play, to refresh your
memory of it, or to listen to it from the point of view of the intended
audience.
When you select a song to play, you are asked whether you wish to play it
at the end of the queue of songs already waiting to be played, at the start
of this queue, or immediately. Under these circumstances, you would select
to play the song immediately. When you select your next song to play, if
the song currently playing was played immediately, the new selection will
also be played immediately, without the system asking.
Once you have reduced the programme to the desired length, you can then
manually order the list. You do this by moving clumps of songs with a
series of clicks, shift clicks and control clicks, however, because the
software is aware that you are performing a move, it occurs interactively,
thereby allowing you to mix the control clicks and shift clicks.
Once the programme is finalised, it can be engaged. Once the programme is
engaged, the point of execution of the programme is indicated.
The software allows the creation of up to two hundred such programmes. The
total number of songs in these programmes is around twenty thousand,
however, you may, if you so desire, have all twenty thousand songs in the
one programme. I would expect a typical programme to include around a
hundred songs.
I've had considerable experience creating "party tapes", and I've
learnt that no matter how hard you try, you are still going to have your
sister-in-law come up and want to hear the Beach Boys NOW! To overcome this
problem, I have created the visitor-friendly "Juke Box" interface.
Juke Box
The "Juke Box" interface, although it is a minor part of the
overall software, it is the part where I have invested the most effort on the
graphics. Below is shown a screen dump of the "Juke Box", but what is
not shown, is the animation of the falling of the cards, upon pressing PAGE
DOWN, incorporating darkening shadows, and the rolling of discs along the
slot at the top right as selections are made.
Once the juke box has been loaded, all the guest need do is to double click
on a card, or single click on the card and single click on the "next"
button.
The juke box displays, at the top of its window, the details of the song
currently playing, and, along side this, the first few songs queued to be
played.
When a selection is made, the guest will see her selection roll along the
queue, confirming that the selection has been made. The juke box will
refuse to allow the same song to be queued twice. This is to prevent
inadvertant double selection or someone wanting to hear the same song all
night.
There are also page up and down buttons which can be clicked to bring up
songs which could not fit on the first page. As the page changes, the cards will
roll down or flip up to reveal their contents for the next page.
There is no explicit limit on
the number of songs which can be accommodated by the juke box, only the
total limit of around twenty thousand for all programmes. A list this long
would defeat the purpose of the visitor-friendly interface.
The more adventurous visitor, with a minimum of instruction, will also be
able to play any song in the system, whether it has been provided in the juke
box or not.
One special programme is used to provide the contents of the juke box. You
can, however, save a number of particularly well constructed juke box
contents into other programmes, to recall for future occasions.
The first two lines in the programme correspond to the top left card of the
first page, the next two, to the card to its right, and so forth to the end
of the row. The next pair of lines correspond to the first card on the next
row.
The presentation of the juke box can be altered in a number of ways by
yourself. Primarily, you can set the number of cards across and down. There
are two songs per card.
When you create the programmes, you will notice a series of horizontal blue
and red lines. The blue lines mark the ends of the row of cards and the red
lines mark the end of the page of cards. If you adjust the number of cards
across or down the juke box, these lines will be moved appropriately.
These lines assist you in presenting songs on pages appropriately. You
might also consider presenting songs by each band in pairs. You can ask the
system to organise the programme alphabetically by band, then reject the
lesser songs whereever there is an odd number, then continue to reject
songs until the programme ends with a red line, indicating that the last
page is complete.
The software analyses the band and song title, and fits it onto the card as
best it can, allocating lines between the band and song title according to need,
and abbreviating with some intelligence. For example, if the song title includes
a portion in brackets, and the entire song title can not be accommodated, the
entire bracketed portion will be eliminated.
Personal MP3 Player
As the music is so conveniently available, it
is natural to allow it to be down-loaded to personal MP3 players.
To be able to programme a personal MP3 player, the player must be able to
connect to a USB port of the computer and be mountable as an external drive.
This is typical of most MP3 players.
You then need to create one or several programmes. If you create a number of
programmes, you can select a different one each
morning, and download it to your player while you are having your breakfast.
This operation can be started from either the full operator interface or from
the remote control. You must use the full operator interface in order to create
the programmes.
Car MP3 Player
Compared to personal MP3 players, car MP3 players have massive storage
capacity, and so need to be programmed appropriately. The approach we have
taken, guided by one of the manufacturers of these players, is to arrange the
music into a series of folders within folders within folders.
To be able to programme a car MP3 player, the player must be able to
connect to a USB port of a computer and be mountable as an external drive.
This is typical of most MP3 players.
The idea is to place the MP3 files into folders corresponding to the album
they're taken from, and place the album folders in a folder for the band
they're by, and place the band folders in a category folder.
The way you approach this task, from
“The mUser”'s
point-of-view, is to create a number of song classifications, one corresponding
to each of your proposed categories. These categories might be by genre, such as
"Car Classical", "Car Rock", "Car Jazz", et cetera.
So you need, first, to create the song classifications, and make these
classifications part of a classification
group, with a name such as "Car Music". If you have two car MP3 players, then
you will need to create two such groups, each with their own distinct set of
classifications, even if you plan to maintain the car players identically.
The next part of the job, is to select which songs you want to include in
these classifications.
Now as you create the classifications, you should keep an eye on the
duration, which is displayed at the top of the window, to ensure that the songs,
which you have selected, along with all the songs in the other classifications
which you wish to include, will indeed fit.
Once you have defined what music you wish to download to the player, you
might want to create a set of playlists. The disadvantage of the car MP3 player,
with which I am familiar, is that you can play random music, a solid diet of one
band or select an album or song individually. If you want to listen to a number
of albums by different bands, you will need to manually select the next album
while driving. The concept of automatically generated playlists is to try to
emulate the functionality of a six or ten disc stacker, with a number of discs
by different bands.
To generate the playlists, you will need to create a number of entries, each
referencing the classification group corresponding to this player. The name
given to each entry is used as the name for the folder which is to contain the
playlists to be generated. You will then need to specify the number of discs to
be included in each playlist, and a filter to define the types of songs you
wish to be included in these lists.
For example, you could create an entry named, "Margaret's Classical Music",
referencing "Car Music" as its group, with the filter: "Margaret&Art",
and set the number of discs to, say, six. When the playlists are generated,
if there were, say, 153 albums satisfying this filter, and included in the
group, "Car Music", then there would be 26 playlists generated, 23 of which
would contain six albums each, while the remaining three would include five
albums each. The albums by the one "band" would be dispersed amoung the 26
playlists as widely as possible.
You may also specify a maximum album length. Any album which exceeds this
length will be broken up and its parts distributed amoung other playlists. For
example, If you specify a maximum album length of eighty minutes, and you have
a box set of four Ella Fitzgerald CDs, totalling 243'16", which you loaded as
one album, then this will be broken into four parts
(as three times eighty minutes, 240 minutes, is still less than 243 minutes),
with each part as near to 61 minutes as the songs allow. These four parts will
appear in four distinct playlists.
From time-to-time, as you work your way through your playlists, you will want
to download new music to the player. So as not to reshuffle the existing albums
within the playlists, you can elect either not to touch the playlists (which you
would probably do if only downloading a few albums), or to create an additional
set of playlists just to cover the new albums (which you would do if there have
been several albums downloaded since the last time the playlists were
generated). Naturally the variety of material in these added playlists is
limited, so every now and again you should decide to download a completely new
set of playlists.
As well as using the automatically generated playlists, you can also download
a programme to the car MP3 player as a playlist.
The progress of the download can be monitored using the full operator
interface. The progress is also reported to the vacuum florescent display.
Song Editing
Many album tracks include more material than just the song proper. Examples
include live albums especially, but also songs such as "San Franciscan
Nights" by Eric Burdon and the Animals, or "Nights in White
Satin" (album title: "The Night") by the Moody Blues which have
spoken passages. There are also blank portions of final tracks which separate
"hidden" songs from the last song on the album.
This extra material you would, typically, wish to hear when playing the
album through, but not when playing a song at random, as part of a
programme of songs, or when selected from the juke box.
In most cases, it probably does not bother you to hear this material,
however, when you are creating a programme or loading a juke box you might
want to be a little more particular.
For these cases, you can set a start and an end position within a song, so
that, unless the entire album is being played, only that portion of the song
will be played.
The facility which allows you to do this, presents a graphical
representation of the stereo signals, allowing you to zoom in and pan along
the song, and to play portions of the song. It also allows you to export a
selected segment of the song, perhaps for you to use with other software to
splice together some novelty track.
You can also use this facility to play a portion of a song for its own
sake, should you wish to.
For an alternative method of dealing with "hidden" songs, please
refer to the next section, "Album Editing".
Album Editing
Occasionally, an album may be poorly divided into individual songs, so
that, when the song is played independently of the album, there is a very
abrupt start to the song. A particularly nasty example of this is the
Yardbirds' "Train Kept A-Rollin'" four disc set - track seven of
disc two commences the "Five Live Yardbirds" album, with the
introduction, "Too Much Monkey Business", and half of "Got Love
If You Want It". You can use this facility to shift the boundaries between
the songs.
There are also occasions where a few songs on an album are tightly medlied,
so you might decide to regard these songs as a single track. Examples of
such heavily medlied tracks include the Beatles' "Mean Mr
Mustard/Polythene Pam/She Came in Through the Bathroom Window" and David
Bowie's "Sweet Thing/Candidate/Sweet Thing". You can use this facility
to amalgamate such songs into a single track, so that, when played independently
from the album, they are always played as a medley.
As also mentioned in the previous section, many albums, these days, include
a "hidden" song, which is presented after a period of, generally,
some minutes, after the final song of the album has finished. You can use this
facility to divide the "hidden" song from the last song on the
album.
This facility is made available when loading a CD into the computer. To
provide this facility at any later stage would require the system to
decompress the song, then recompress it after the divisions have been
adjusted, decreasing the quality of the song.
This facility allows you to
-
shift the start and end markers for each song,
-
remove the end marker for a song and the start marker for the next,
thereby joining two songs,
-
insert an end and a start marker in the middle of a song to split the
track into two songs, and
-
move the end marker for one song away from the start marker for the
next, thereby omitting a segment from the CD.
Like the "song editing", this facility also presents a graphical
representation of the stereo signals, allowing you to zoom in and pan along
the song, and to play portions of the song.
Virtual Songs and Albums
You are able to add songs from one album to another, without removing them
from the original album, nor having two copies of the corresponding music
file.
If you have all the regular albums by a certain band, and thereby have all
the songs provided by the "Greatest Hits" album, which you have not bought, then
you can use this feature to create the "Greatest Hits" album. Though many
"Greatest Hits" albums include songs which were only ever previously released
as singles.
Similarly, if you bought a boxed set of seventy-odd minute discs, comprising
various albums by a certain band, then you can use this feature to create
the individual albums from within this set. Examples include the Grateful
Dead's "Birth of the Dead", the Yardbirds' "Train Kept a-Rollin'", and the
Seekers' "The Complete Seekers" (which, I am sure, was at the time).
The true "basic concept" here is the "virtual song", as virtual songs can
be added to any album. A "virtual album" is merely an album which consists
entirely of virual songs, and holds no special significance within
“The mUser”.
You might like to create a classification called "Virtual", in a
class group called "Weighting", to which you would give a weighting of zero.
You can then add your virtual songs to this classification. In this way you
would prevent these songs being doublely represented in the automatic
selection of songs.
You are also able to move songs from one album to another. In this way, you
can create your own "Rarities" album, to hold all the bonus tracks that have
been supplied on the CD reissues of a band's albums. In this way you can play
the original album, without the bonus tracks (as it was meant to be played),
yet have these bonus tracks still available.
This feature is also useful to divide classical albums, typically those
Philips' Essential Classics releases, which feature two composers. For example,
you could create a database entry for an album, by composer Edward Elgar, to
hold his "Pomp and Circumstance: Marches 1 and 4", then move these tracks, from
Gustav Holst's "The Planets", to this album.
Similarly, you can rearrange the order of songs on the album, to reflect the
original running order of the LP, as some CD reissues of LPs provide a
different running order. Sometimes this is the result of variations in the
original running order depending upon which country pressed the LP, whilst
other times you may have picked up a cheap disc, under a different title to
the original LP and official CD reissue, with all the same songs, but in a
different running order.
Internet CD Database
There are free Internet databases available, which provide the lists of
songs on various albums. They identify CDs, using the number of tracks on the
CD, the length of the CD in seconds, and the start of each track in 1/75ths of
a second.
From this information, it should be able to uniquely identify each CD,
however some of the information in these databases is a little wobblely, so
there is a chance of it misidentifying the CD.
Also, the band names may not be consistently entered, and may not be entered
as you would like. For instance you might find an entry for "Allman Brothers",
another for "The Allman Brothers", another for "The Allman Brothers Band", and
yet another for "Allman Brothers Band". If you were not to adjust your database
after downloading this information, then these CDs would be treated as though
they were by four distinct bands. Knowledge of the band for a CD is more than
cosmetic within “The mUser”'s
database, so to
use this software
correctly, you will need to assign the same band to each of the CDs by this
band, and remove the additional bands from the list of bands, afterwards.
Also, there are often several pressings of each CD. When testing this
interface, I selected a CD, which I felt sure would be included. The CD I chose
was The Beatles' "Abbey Road". A match couldn't be found. Upon investigating
this I found they did have this title, but their version had only sixteen
tracks, one less than my version, which listed the originally hidden track from
the LP, "Her Majesty", as a separate track from "The End".
The second CD I chose, Al Stewart's "Past, Present and Future" was matched,
however, upon investigation, I found that there were four versions of this
album in the database. Three of these had slightly varying track lengths,
while the fourth could only have been misidentified, as, for one thing, the
final track, "Nostradamus", which runs for around 10 minutes, was given as
2'43" for this CD. While this did not directly affect my attempt, it is a
trap waiting for the person who has the CD that matches this one.
However, if you have a large CD collection, which you are intending to load
into “The mUser”,
and you have not already got a listing of the
songs, then this is a good way to obtain the bulk of this data conveniently. On
the other hand, as a holder of a large CD collection, you are likely to find
that a larger proportion of your collection will not be mainstream, and so your
success rate is likely to be lower than the reports you receive from friends
would lead you to expect.
You can use the Internet CD Database to load all the information for the
discs you are loading, or for only the song titles.
The procedure is, that when you load the CDs, if you want all the information
to be loaded from the Internet CD Database, you select "Internet" at this
time, then just swap the discs as they are done. If you only want to load the
song titles from the Internet CD database, you select "Normal".
Then, after loading, you ask it to obtain the information from the Internet
CD database. If you have supplied the band and album details, then it will only
obtain the song titles. Otherwise it will obtain the band and album title as
well.
Statistics
In order for “The mUser”
to make intelligent decisions about
what to play, it needs to maintain some play statistics. This has already been
alluded to when discussing the formulae.
The statistics, which “The mUser”
maintains, are the last
times each band and album were played, and the number of times each song has
been played.
The band and album playing times are derived from the number of times each
song has been played and the duration of the songs. It is done this way rather
than by keeping tallies for the bands and albums, since, when filters are in
place, the number of times certain songs have been played needs to be excluded
from these tallies.
This can be complicated when a song is skipped. When this happens,
“The mUser”
will let the band's and album's last play times
stand, but may decide to decrement the number of plays the song has had,
depending upon the circumstances.
There is a report of the number of plays each song has had. This report is
useful in determining to what extent songs are being neglected. Songs could be
neglected, if they have been overlooked by all the audience classification
groups, or do not satisfy the popular music mixes, or flagged as hated by an
ever-present listener, or for a number of similar reasons.
“The mUser”
will not neglect a song merely because of randomness in
the automatic selection process.
Also when listing the albums, a bargraph is provided showing the average
number of plays the songs have received.
Remote Control
The remote control system comprises a vacuum florescent display and an
infra-red-transmitting keypad, the "bopper".
The remote control system is designed to provide you with sufficient
interface to the system for your day-in-day-out operations, so that you do
not need to connect your notebook computer to the network for such actions.
These functions include:
-
Showing the details of the song playing, including title, duration,
who it is by, which album it is from, and the elapsed playing time,
-
Pause, resume, skip to next track, skip back through the history, and
mute,
-
Adjusting the volume, and balance,
-
Showing which listeners are in attendance,
-
Adjusting listener attendance, and setting desired music mixes,
-
Changing the correspondence between listeners and
classifications,
-
Changing the classification membership of a song, album, or
band,
-
Selecting songs or albums to play,
-
Showing which, if any, programme of songs is engaged,
-
Engaging and disengaging programmes of songs,
-
Downloading songs to personal hardware MP3 players,
-
Monitoring the downloading to personal MP3 players,
-
Downloading songs and playlists to car MP3 players,
-
Monitoring the downloading to car MP3 players,
-
Reviewing the play list,
-
Skipping the first song on the play list,
-
Erasing the play list,
-
Displaying and adjusting the time of day,
-
Making temporary adjustments to the schedule,
-
Engaging, disengaging and controlling the CD player,
-
Turning on and off normalisation,
-
Setting the automatic selection mode to "song" or "album",
-
Loading CDs relying on the Internet for details,
-
Connecting to and disconnecting from the Internet,
-
Downloading CD details from an Internet based CD database, and
-
Shutting down and powering off the computer.
On various occasions, messages will be presented on the vacuum florescent
display. Several of the more common messages will contain a reverse video
capitalised portion which will be positioned in one of the four corners or
the top or bottom centre of the display. This is so arranged to enable you,
once you become familiar with the remote control system, to be able to
recognise these messages from further away.
The vacuum florescent display, when not responding to bopper operations, is
used to show details of the song currently playing. If there is no song
playing, the display will tell you why (paused, stopped, nobody present,
schedule shutdown).
It will also return to this mode, if the bopper is not operated for a
while.
In displaying the song details, the top line of the display presents the
song's title, followed by the length of the song, with the elapsed time
displayed at the end of the first line. The second line
presents the band name, followed by a colon (':'), then by the album title.
If either line can not accommodate the information being displayed, a full
stop will be added at the end of the text to be displayed, and that text
will be horizontally scrolled, except for the elapsed time which remains at
the end of the first line.
This will appear similar to:
+----------------+
|range 06:1 01:56|
|ody Blues: Seven|
+----------------+
The above is a snap-shot of the scrolling display. In this example the
entire top line, excluding the elapsed time, would read: "Isn't Life
Strange 06:10.", while the entire second line would read: "The Moody
Blues: Seventh Sojourn.".
For compilation albums of various artists, the first line contains the song
title in quotes, with "by" and the band name following, then the song duration,
while the second line presents only the album title.
For eponymous (self-titled) albums, rather than showing the band name
twice, instead the band name is presented in quotes and the album title is
omitted (or, maybe, it's the other way around?).
In selecting songs to play, the bopper's number keys are used, the way a
mobile phone's are, to enter letters. You first name the band, then the
album, then, if not playing the entire album, the song. You may skip entering
the album if you do not know or care which album the song is from.
You do not double and triple press keys
to bring up their alternate letters, instead the software will scan the
list of bands, albums, and songs, to present any that match the sequence of
numbers typed so far. You can stop typing when the correct match is found,
or operate the up and down arrows to call up other matches. Special care has
been taken so that you need not enter the leading "The " which preceeds many
band names, sometimes inconsistently. Also, when entering the album and song
titles, you can start
at the beginning of any word in the title, which allows you to select, say,
"Study War No More (Down by the Riverside)", when you know the song by the
title "Down by the Riverside".
Tailoring
Considerable tailoring of the software is provided for. Note, this is
distinct from customisaton; tailoring you do for yourself, customising we do
for you.
It has already been mentioned that each user is allowed to modify the
colour scheme, fonts, positions and sizes of windows to suit himself, the
formulae controlling the selection of songs can be changed and such change can
be set to automatically occur when given music mix elements are engaged, and
that alternate methods of compression and normalisation are available.
There is total flexibility in the classification of songs and the creation
of music mixes, not to mention programmes.
The juke box presentation can be modified, allowing more cards across and
down (resulting in smaller cards), the size of the card spindle, the curve on
the card corners, the space
between the cards, the shadow from the cards, and the speed at which they tumble
forward upon "page-down", are all adjustable.
The remote control's bopper-idle timeout, horizontal scroll rate, vertical
scroll rate, and the size of audio steps are all adjustable.
The behaviour of the system, when it is scheduled to stop playing, can be
modified to allow a grace period in which a song may be allowed to finish, and
a fade out time if the song is not going to finish within the grace period.
Much of the text can be changed, including all the menus, prompts for
database values, and the text presented on the vacuum florescent display. Also
the arrangement of the menus can also be altered.
And, very importantly, if you get into trouble from over-adventurous
tailoring of the software, you can restore many of these settings to their
factory defaults.
|