Bach.sng (Two Part Invention in F Major by J. S. Bach)
Canon.sng (Canon in D by Johann Pachelbel)
Sonatina.sng (Sonatina in D (1st Movement) by Muzio Clementi)
plus all the classical, pop, and ragtime songs users created, like
The Entertainer
Maple Leaf rag
Bridge Over Troubled Waters
and many more.
The Deskmate .SNG to .HDS format converter is here:
http://members.fortunecity.com/whb11/Midi/MyMidiPlayer.htm#DM_Music
The Instrument emulator/player is here:
http://members.fortunecity.com/whb11/Midi/MyMidiPlayer.htm
Make sure you read the readme.txt for both programs before using them.
Here's a screenshot of the converter:
http://i31.photobucket.com/albums/c363/WB_1/DM_Music.gif
Here's a screenshot of the Instrument emulator/player:
http://i31.photobucket.com/albums/c363/WB_1/Midi.gif
baldwinwh (at) netscape (dot) net
Jeff (tvdog) left me in care of his Tandy archive at
ftp.oldskool.org/pub/tvdog -- let me know if you'd like me to put a
copy of things there...
>Tvdog and I have created a new program to convert Deskmate Music .SNG files
>to .HDS text format which can then be played by my Instrument
>simulator/player (see link below) through your soundcard, using rich grand
>piano, or 127 other instruments.
>...
I should have added that these new programs are for Windows 32 bit OS, that
is, Win95 and above.
One thing that's great is this: Most of those Deskmate .SNG files were
adapted/arranged from the original sheet music, and it took lots of
ingenuity to take the original music, which may have, say, 6 or 8 notes
played in each chord, and to then pick out just the best 3 notes for each
chord, because Deskmate was limited to 3 note polyphony. That was the
admirable thing that the people who arranged those, did. But also, what's
cool is that these arrangements are perfect to learn from, especially for
instruments that are limited to 3 notes or fewer polyphony, like the
hammered dulcimer and xylophone, for instance. Those are played with only 2
'hammers', but really good players can play several notes nearly
simultaneously to approximate a 'chord'.
Also, of course, these arrangements would be easier for beginners to learn
from on instruments with greater polyphony, like piano and guitar.
That's really why they're worth saving from obscurity.
> Tvdog and I have created a new program to convert Deskmate Music .SNG files
> to .HDS text format which can then be played by my Instrument
> simulator/player (see link below) through your soundcard, using rich grand
> piano, or 127 other instruments. Hey, I'm a big fan of Tandy's 3-voice
> sound, but it's no match for today's Soundcard Midi capabilities. You
> really should hear these songs after they're converted, including the
> original classical pieces that were included with Deskmate:
>
> Bach.sng (Two Part Invention in F Major by J. S. Bach)
> Canon.sng (Canon in D by Johann Pachelbel)
> Sonatina.sng (Sonatina in D (1st Movement) by Muzio Clementi)
I was the project manager for the DeskMate Music program, which was a
really fun thing to do. The Canon in D has the distinction of being the
only piece of music I listened to daily, sometimes several times a day,
for well over a year, and still like.
The device we were using for the digital/analog conversion was actually
the mouse controller...someone realized it could be used for more than
just the mouse. The three-voice limitation is because that was the best
we could do and still have a fairly decent signal-to-noise ratio.
The output was semi-interrupt driven. Either engineering or marketing
(and I know which one I'm betting on) decided to save money by having
the device NOT generate an interrupt when it was at the end of the
buffer, which left it looking like the low-level driver was going to be
sitting there busy-waiting. However, what we finally did was reprogram
the real-time clock interrupt to let us know when the buffer was close
to its end (about 46 milliseconds, if I remember correctly) and then
just loop until it actually finished.
I also remember the work it took to do the different notes from just a
few sound samples, interpolating things on the fly. That was pretty
challenging as well.
Ah, those were the days...
--
Kevin Michael Vail | a billion stars go spinning through the night,
ke...@vaildc.net | blazing high above your head.
. . . . . . . . . | But _in_ you is the presence that
. . . . . . . . | will be, when all the stars are dead.
. . . . . . . . . | (Rainer Maria Rilke)
I ended up with the ball on the various music/sound programs when Kevin
went to pastures greener in the summer of 1988 just prior to the launch
of the SL/TL systems... (Or maybe he really got tired of listening to
a couple of those songs over and over and over and over - I certainly did!)
At least the PSSJ DAC could play (but not record) audio on pitch,
which was impossible for the TI 3-voice, as implemented on the
IBM PCjr, and then copied right down to this same mistake in the 1000s.
It would have required an additional crystal oscillator running at one
of the frequencies specified by TI to have the TI chip produce sounds
on-pitch. Instead, hardware designers used an already-present clock
that was "close", probably not expecting anyone to use the audio for
anything other than zap-bang sounds and tinny music in games. The
limited choice of audio waveforms (square, sawtooth and I forget the
other but it wasn't sine) the TI chip produced limited the produced
sound quality as well.
On the digital waveform audio side...
Getting plain recorded audio recorded on the 1000 to play back at the
exact same speed was also impossible in models before the 1000 TL/3.
This was due to yet-another bit of corner cutting in the gate-array,
a problem I had to explain and re-explain to management perhaps a hundred
times. This was something that could not be consistently concealed by
any amount of software trickery.
Of course, what we had was about 35 cents of parts above what it
took to provide the joystick capability to provide sound, and
certain VP management types now expected the 1000s to produce grand
piano sound quality, AND be dead on pitch, but not change the
hardware to do it. Worse, the entire point of having the ADC
was to cost-reduce the joystick hardware and eliminate the tedious
calibration that was done on each machine at the factory, so
"sound quality" wasn't even on the requirement list.
In the original PSSJ chip, there was only a single byte register
(the sampling latch), so a new sample could not start to be acquired
(done by successive approximation) until the previous one had been read
by the CPU or DMA, and how long that took depended entirely on what the
bus, CPU and DMA chip happened to be doing at that exact instant the
latest sample became available for reading and what speed the
processor was and what the bus speed of the machhine was. The
Intel processors of the day would not release the bus to the DMA during
the execution of an instruction (or a sequence of instructions if LOCK
was used) and since different instructions and operands take different
amounts of time to execute, this made the timing even more unpredictable.
Only after that sound byte was finally read by the CPU/DMA would the next
audio sampling begin, a task that took 10 ticks of the clock driving
the approximator. (The record clock in essence was 10X the playback
clock to the same device.) This delay on making each sample meant
that recorded samples would be done at irregular intervals and the
effect was much as you would get with making a recording on tape at
a slightly slower speed than the eventual playback speed, PLUS having
some debris on the pinch roller only during the recording process
to also make the recording speed irregular.
After almost two years of persisting in wasting my time on various
ordered but doomed-to-be-less-than-desired attempts to conceal this
and other hardware omissions with more and more convoluted software,
Tandy hardware management finally allowed a new turn of the PSSJ
chip which added an entire second byte of buffer to the A-D sampler,
or about 20 to 30 gates. (I think the real reason I got the buffer
was that management wanted changes in the printer section of the
chip to fix bi-directional printer port support and so were touching
the chip design anyway.)
These flaws in digital recording are also the main reason for the
alteration of the format of the .SND files, because the previous file
header format had no unused fields or even bits anywhere, and I needed
some information to indicate that the recording was made on old or new
chip and if not the newer chip, what older computer made the recording,
so a bunch of routines could activate and make efforts to conceal the
recording errors from listeners ears. I left lots of room for future
expansion in the new file format once that was approved, but development
started to ramp down after the Deskmake sound/music programs and the
Sound Toolkit were made to work again for the TL/3 and 2500 platforms.
I remember waaaaay too much of that project...
Frank Durda IV - send mail to this address and remove the "LOSE":
<uhclemLOSE.dec06%nemesis.lonestar.org> http://nemesis.lonestar.org
"I'll huff and I'll puff, and I'll get promoted."
- Old Tandy management saying
Copyright 2006, ask before reprinting.
>Tvdog and I have created a new program to convert Deskmate Music .SNG files
>to .HDS text format which can then be played by my Instrument
>simulator/player (see link below) through your soundcard, using rich grand
>piano, or 127 other instruments.
>...
I converted the following .SNG files (which I found on Tvdog's site) to
.HDS, and bundled them with my Instrument simulator/player, version 5.4:
Bridge Over Troubled Water, by Paul Simon (original name: Trouble.SNG)
Desperado by the Eagles (original name: Desperad.SNG)
Canon in D by Johann Pachelbel (original name: Canon.SNG)
Sonatina in D (1st Movement) by Muzio Clementi (original name: Sonatina.SNG)
Two Part Invention in F Major by J. S. Bach (original name: Bach.SNG)
Your Song (It's a little bit funny) by Elton John (original name:
YourSong.SNG)
A medley of familiar Christmas songs (original name: Xmas.SNG)
The Entertainer by Scott Joplin (original name: Entertnr.SNG)
Maple Leaf Rag by Scott Joplin (original name: Maple.SNG)
Alla Turca by Mozart (original name: AllaTurk.SNG)
Praeludium and Allegro by Kreisler (original name: Allegro.SNG)
Exodus (Theme from) by Ernest Gold (original name: Exodus.SNG)
Jesu, Joy of Man's Desiring by Bach (original name: Jesu.SNG)
Minuet in G, by Beethoven (original name: Minuet_G.SNG)
Polonaise Opus 53 by Chopin (original name: Polonaze.SNG)
'Original Rags' by Scott Joplin (original name: Rag.SNG)
The link to the Instrument simulator/player is here:
http://members.fortunecity.com/whb11/Midi/MyMidiPlayer.htm
>I have created a new program to convert Deskmate Music .SNG files
>to text format which can then be played by my Instrument
>simulator/player (see link below) as midi through your soundcard, using
>rich sounding grand piano, or 127 other instruments.
>
>Both programs are for Win95 and higher.
>
I've added some new enhancements and uploaded version 6.9 of my Instrument
simulator/player:
1) Version 6.9 adds the ability to use up to 16 different voices in song
files, each written to a separate midi channel. The previous limit was just
3 voices, and all were written to just one channel. Also, each voice can
now be assigned to a different instrument, if desired.
Splitting the voices into separate channels, rather than sending them all to
one channel, as was done previously, really improves the playback quality on
some older sound cards especially. Some older sound cards had problems with
legato sequences especially, usually perceived as a 'clipped' feel to some
notes in the sequence, but splitting the voices to separate channels solves
it.
Since the limit of 3 voices has now been increased to 16, it's now possible
to 'add the missing notes' to all the Deskmate songs. Since they were
originally limited to just 3 note polyphony, adding more notes makes for
richer sounding chords, etc. When you open an .HDS song in the PolyDur
editor, it can automatically increase the number of 'voices' from 3, making
it easy to add the additional notes.
2) Version 6.9 also lets you record a song directly to a .mid file from the
menu. Previously, you had to install a midi loopback device driver and 3rd
party software to do this, but no longer.
There are some other enhancements as well.
The Deskmate .SNG to text converter is here:
http://members.fortunecity.com/whb11/Midi/MyMidiPlayer.htm#DM_Music
The Instrument simulator/player is here:
http://members.fortunecity.com/whb11/Midi/MyMidiPlayer.htm
Both programs are for Win95 and higher. Make sure you read the readme.txt
for both before using them.
>On Thu, 14 Dec 2006 23:22:22 -0500, WB <DoNo...@hotmail.com> wrote:
>
>I've added some new enhancements and uploaded version 6.9 of my Instrument
>simulator/player:
>
>1) Version 6.9 adds the ability to use up to 16 different voices in song
>files, each written to a separate midi channel.>
>
>Both programs are for Win95 and higher. Make sure you read the readme.txt
>for both before using them.
>
Oops! When I first created the install package, I accidentally left
out the song files and some images that are necessary for the program
to work, so I've added them to the package and reuploaded it. It's
version 6.11 now.
Please uninstall, then re-download and install the fixed package. My
apologies.
Oh, I also finished the Theme from Exodus. It only had the first 6
measures entered when it was originally submitted, but I've now entered
the rest of the song. It's a nice tune.
I'm planning to add a page for users to submit their own .hds songs and
conversions, so if you want yours included, contact me.
Link: http://members.fortunecity.com/whb11/Midi/MyMidiPlayer.htm
That's a free web host and they limit the bandwidth available to me, so
if
you have trouble downloading the program, here's an alternate link to
the
program and docs download only:
http://my.voyager.net/~wb/misc/MidiMapper.zip
> I have created a new program to convert Deskmate Music .SNG files
>to .HDS text format which can then be played by my Instrument
>simulator/player...
>
>Both programs require Win95 or higher.
>
>The Deskmate .SNG to .HDS format converter is here:
>http://members.fortunecity.com/whb11/Midi/MyMidiPlayer.htm#DM_Music
>
>The Instrument emulator/player is here:
>http://members.fortunecity.com/whb11/Midi/MyMidiPlayer.htm
I've added some more enhancements to my Instrument simulator/player:
1) MidiMapper will now process instrument dynamic volume changes, i.e. pp,
p, mp, mf, etc., found in the .HDS songs. When people use the .SNG to .HDS
converter, version 1.4 or higher, it reads them from the .SNG file, and
outputs them to the .hds file like '[Inst. 1 dyn. = mf]', which, in that
case, for instance, means 'change instrument 1 dynamic to mf'. Then, when
they play the .hds file in MidiMapper, it changes to the correct dynamic
levels as it plays.
According to the Deskmate manual, mf is the default if nothing is specified.
Unfortunately, some songs don't have dynamics specified at the beginning of
the song, so you might want to enter them manually in the .hds file,
especially if the song later changes to a much higher or lower dynamic, and
especially since my Simulator/player uses 'p' insted of 'mf' as the default
dynamic. Then, the change won't seem so large when the program changes to
the new dynamic later in the song. You can copy and paste the next 3 lines
to the beginning of the .hds file under the '[Notes]' line, in this case:
[Inst. 1 dyn. = mf]
[Inst. 2 dyn. = mf]
[Inst. 3 dyn. = mf]
2) Also, I've added the ability to add virtually any valid midi command to
song files, for instance, to change instruments, stereo balance, volume, and
add tremolo and other special effects.
Anyone remember the Player Piano's of the 50's and earlier? You would put a
roll of paper inside, the paper had punched out holes for the notes, then
you'd turn on the piano or pump a pedal, and the piano would read the roll
and play music. That's what my Simulator/player is like. I may change its
name to 'My Player Piano' maybe.
baldwinwh (at) netscape (dot) net {:^>)
I used my .SNG to text converter program and MidiMapper (links above) to
create .mid files of 16 of the best Deskmate songs I've found (so far, and
in my opinion ;)) on tvdog's site. I specified to use grand piano for all 3
voices on all of them and manually adjusted the instrument volume dynamics
where necessary. To download them, click here:
http://members.fortunecity.com/whb11/Midi/MyMidiPlayer.htm#DM_Music
...but also realize that if you use MidiMapper instead, you can specify any
instruments you want, add more voices, change the song speed, and do lots
more with them.
There are some more songs on his site I want to convert but haven't had the
time yet, LOL.
BTW, I've recently added some new enhancements to MidiMapper, which is at
version 6.19 now. DM_Music, the .SNG to text converter, is at version 1.05.
I sometimes play .mid and other sound files from MS-DOS. When I play .WAV
or any sound file other than .mid, I use tvdog's DMSound program, available
here: http://www.oldskool.org/guides/tvdog/sound.html
But, for .mid files, I Task Switch from Deskmate, type 'command.com' for the
program to run, and play them at the MS-DOS prompt.
I've written some tips about how to use a Soundblaster to play .mid and
other audio files in DOS here:
http://mywebpage.netscape.com/baldwinwh/DOSPgms/DOSPgms.html#SB
More MS-DOS Internet, games, and general purpose application and tips are
here: http://mywebpage.netscape.com/baldwinwh/DOSPgms/DOSPgms.html
baldwinwh (at) netscape (dot) net {:^>)