Precedence: Bulk
Date: Thu, 28 Oct 93  3:24 MDT
Errors-To: gus-music-owner@dsd.es.com
From: gus-music-server@dsd.es.com (GUS Musician's Server)
Reply-To: gus-music@dsd.es.com (GUS Musician's Digest)
Subject: GUS Musician's Digest V1 #9


GUS Musician's Digest       Thu, 28 Oct 93  3:24 MDT     Volume 1: Issue   9  

Today's Topics:
                           96000hz playback
                           Breeds of Pianos
                           Cakewalk V2 demo
                Filtering? I say yay... you say nay...
                                GUSJam
                          gusmidi faq update
                     GUS Musician's Digest V1 #8
                Jitter/dropout free *stereo* recording
                           new piano patch
              Pounding on the keys, pounding on MidiSoft
                     Psbadpcm Thingy Observation

Standard Info:
	- Meta-info about the GUS can be found at the end of the Digest.
	- Before you ask a question, please READ THE FAQ.

----------------------------------------------------------------------

Date: Wed, 27 Oct 93 14:05:31 PDT
From: "DAVE MERCIER" <D3140058@BCIT.BC.CA>
Subject: 96000hz playback

Hi, this is in response to the person asking why you can't record at 96khz when
you can play back samples at 96khz.
The simple answer is, you can't play back at 96khz. You can set the frequency t
o 96khz, but all you are doing is 'under-sampling' it down to 44.1khz when you
play it back.
The same principle of 'oversampling' any frequency the ultrasound plays to 44.1
khz, is bieng applied to create 'under-sampling'.
I wrote a program that let you set the frequency as a long integer. I set the f
requency to something like 2,000,000 hz. The sample played back in a snap at ex
tremely high frequency. But you must understand that only like 1 out of every 4
0 samples are actually making it out your 44.1khz DAC.

Anyways, I'm babbling abut that.

By the way, has anyone actually tried out a program I wrote a couple of months
ago?

It's called MRGUS01A.zip on the gravis internet sites. (last time I checked tha
t is).

This is the first Multi track digital hard drive recording program for the gus
that I know of. It's not so hot right now, but I will improve it when I get tim
e. If you don't understand what I mean, this program lets you record a digital
track while playing back 1 or more tracks to listen to. You can do this with up
 to 14 tracks.

Anyways, meant to post that a long time ago, but our internet access system is
a mess.

cya

------------------------------

Date: 27 Oct 1993   08:07:23 PST
From: chrisw <chrisw@leland.Stanford.EDU>
Subject: Breeds of Pianos

------------
>>Adrian wrote:
>>Well, the GM set has at least 5 different pianos, Grand, brite, honky tonk,
>>etc etc

Well, a grand piano I've used. (It's the one where you can actually SEE the 
strings and shit like that?) A brite piano? Well, you don't see many of them 
around, frankly. But seriously, it sounds like a grand with it's lid open 
to me (while the GUS version might be an upright or a lid closed grand).

Sorry, lost the reference...Someone said:
>>This may not be surprising to some, but I was flat out amazed.  So I ponder 
>>this question, if you can playback @ 96000Hz why can't you record @ 96000Hz?  

I really hate to ask but why would you want to record at 96000Hz?

Chris.

------------------------------

Date: Wed, 27 Oct 1993 13:22:43 +0000
From: Clarke Brunt <CLARKE@lsl.co.uk>
Subject: Cakewalk V2 demo

Thanks to everyone who told me where to find the Cakewalk 2 demo.
For anyone else in the UK, I got it from uk.ac.ic.doc.src in
/computing/systems/ibmpc/windows3/demo as wincake1.zip and
wincake2.zip (both are required, split so will fit on 700k disk).

It seems quite an advance on version 1. Patch caching, triplets etc.
One annoyance - if it can't load a patch, then you get a dialog
saying that there is not enough memory on your sound card. This
is possible, but it is more likely that the problem is a program
change message on channel 10 (which being percussion does not need
program change). When you get this message, then some other patches
are not loaded either - I haven't verified exactly what happens, but
it is possible that if there is a problem with the melodic patches,
then it doesn't load the drum patches. It would be better if
(like WinJammer) the numbers of the offending patches were included
in the dialog, and also if it still attempted to load any others.

I wonder if anyone from Twelve Tone Systems is on the Digest?

------------------------------

Date: Wed, 27 Oct 93 22:28:14 MDT
From: Steve "Bongos" Larson <larson@ee.ualberta.ca>
Subject: Filtering? I say yay... you say nay...

Hi'dy all.

Someone posted:
>>- software emulation of filters, etc. for GUS patches similar to those
>>available on high end dedicated samplers (i.e. Why can't my GUS do *everythin*
>>a K2000 can do?)

Chris said:
}Not a chance. (Because it doesn't have enough hardware level processin power).

	--> Filtering a digital waveform is as simple as performing a discrete
	    mathematical convolution on the waveform. Of course, real digital
	    waveforms (sampled) are harder to convolve with a given impulse
	    response (the filter) than a pre-computed waveform, but nonetheless
	    the software emulation proceeds akin to OUTPUT=INPUT*FILTER. IMHO,
	    it _is_ possible to do software filtering, but alas, it is CPU
	    consuming (in real time) unless the wavetable sample is filtered
	    first, and then the result played back in real time. What does all
	    this jargon mean? It means that we should see someone taking the
	    challenge soon, and writing a package that will do just this,
	    (unless, OC, it's been done :-)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Steve Larson,   Department of Computer Engineering, University of Alberta
larson@bode.ee.ualberta.ca	c311-47@ucs.ualberta.ca (if bode bounces)

------------------------------

Date: Wed, 27 Oct 1993 09:22 -0400
From: WADLEIGH@PROCESS.COM
Subject: Re: GUSJam

OK, I now have TWO GUSJam pieces in the submit directory
at EPAS.  One is GJBLUES, with room for six added tracks 
using SESSION or something similar.  The other is my 
first cut at doing something with the PAID drum loop.
I called that one PAIDGJ2 (both ZIP and TXT extensions).
Somebody grab them and add to them.

------------------------------

Date: Wed, 27 Oct 93 11:09:51 GMT
From: James Andrews <james@maths.exeter.ac.uk>
Subject: gusmidi faq update

Here is the latest table of contents, the file is currently 24k.
Subjects with a * next to them have something written about them.  I am open
to suggestions for other topics that should be included and and also for
submissions on empty bits- for instance what does gusorgan and kbsplit do-
if you can write brief descriptions of any of the stuff that hasnt been done
yet then it would be a help.  This FAQ is your friend, it will be a useful
source of info for newcomers and cut down noise in the group.
Using the GUS for midi music

) how to setup Midimapper*

) known problems and workarounds
	log/lin volume problem *
	patch caching problem *
	midi cable/SBOS/windoze start problem *
	midisoft studio
	playing .wav files at the same time as midis

)custom patches
	software tools to use 
	how to alter patchmaps 


)midi gadgets(misc useful programs for midi)
	whats midimon?  How do I fix it?
	patchldr.zip *
	vmap *
	mycrofts midi jukebox
	megamem
	alcomp *
	gusorgan
	kbsplit
	splitmidi

)hardware
	memory upgrades *
	midi connector box- how to build your own *
	what keyboard should I get? *


)sequencers (that patch cache- a list)
	superjam
	cubase version 2
	cakewalk version 2
	powerchords pro
	where to get demos
	
)what is ultramid?
[ see games section ]

)goodies via ftp 
	list of midi sites *

------------------------------

Date: Wed, 27 Oct 93 23:00:22 CDT
From: cowles@hydra.convex.com (John Cowles)
Subject: Re: GUS Musician's Digest V1 #8

Boy - am I upset! I just completed the transcription of a midi
piano piece, and tried it on my SoundCanvas, where it sounded great -
then I tried it on my GUS. Arghhh!! Not only does the piano sound horrible
(all patches!), but it has less than a seven octave range! The highest
note available on the GUS is C7 - on a real piano (and on Roland, Korg,
and Yamaha - don't know about others) the highest note is C9 (assuming
middle C is C5 and the first note is A2). Come on Gravis (or somebody!)!!
I want the GUS to do at LEAST as well as other cards! Not only are
the high notes missing, but the high notes that ARE there are radically
out of tune!

   Waiting for good piano samples,

     John Cowles

------------------------------

Date: Wed, 27 Oct 1993 18:43:29 -0500
From: davidm@marcam.com (David MacMahon)
Subject: Jitter/dropout free *stereo* recording

Hi,

I have uploaded TESTREC2.ZIP to the /pub/pc/ultrasound/submit directory of 
archive.epas.utoronto.ca.

TESTREC2.ZIP contains two stereo test recordings from the Gravis UltraSound 
soundcard.  These stereo test recordings differ from the mono test 
recordings of TESTRECS.ZIP.  I made these recordings to compare the quality 
of two different recording programs: PLAYFILE and GUSDELAY (a new, 
unreleased version).  This new, soon-to-be released version of GUSDELAY uses 
a revolutionary new recording technique that I developed (so I may be a 
little biased when I say "revolutionary") which allows jitter-free and 
dropout-free recording with the GUS.  (I also made some stereo test 
recordings with USS8, but they were so bad, I didn't bother to include one.) 
The test recordings were made with a sampling rate of 44100 Hz.

Jitter and dropout are two of the biggest causes of clicks and pops in 
soundcard recordings.  Using my new recording technique, the next version of 
GUSDELAY (which I'm going to release soon, I promise) will be able to record 
"cleanly" at any of the sample rates supported by the GUS.  When I say 
"cleanly", I mean *NO* clicks or pops.  Download TESTREC2.ZIP and hear the 
difference between PLAYFILE and GUSDELAY.

Dave

David MacMahon
Systems Administrator
davidm@marcam.com

------------------------------

Date: Thu, 28 Oct 93 0:16:35 EDT
From: dmcintyr@muselab.ac.runet.edu
Subject: new piano patch

The new version is better, but there's still something awkward about it. 

The notes in this piece are all very short and that seems to be the
problem.  It sounds great on more sustained notes.

I'll post the file on EPAS so you can hear what I'm talking about and see
if maybe I'm just crazy.
--Michael--

------------------------------

Date: Wed, 27 Oct 93 06:05:40 PDT
From: deraud@power.amasd.anatcp.rockwell.com (Robert Lee DeRaud)
Subject: Pounding on the keys, pounding on MidiSoft

>From: "rjones.NL" <rjones@NL.oracle.com>
>Subject: Re: Aftertouch ?

>In response to Alexander Majarek's question...

>Aftertouch is achieved by applying pressure, when already holding notes 
>down.

>Release velocity is (you guessed it) the speed that the note is released.

>Some manufacturers offer 'polyphony' on the above. This means instead of
>applying the highest, say velocity, to all notes struck; it recognises
>the velocities of individual notes.

I've never seen a synth keyboard that DIDN'T offer polyphonic velocity: 
due to the normal measurement method (see below), it's probably harder 
to sense velocity globally than on a key-by-key basis. Aftertouch, OTOH, 
is typically global except on a few (very) high-end keyboards. Note that 
some machines will RESPOND to key-by-key aftertouch on incoming MIDI 
even if their own keyboard can't generate it. Release velocity is seldom 
implemented: it was a nice idea that apparently isn't all that useful 
musically.

>From: tgakem@chem.tue.nl
>Subject: Keyboard, aftertouch

>At least some keyboards work in the following way: if a key is not pressed,
>there is one electrical contact. Then, when the key is pressed, this contact
>is broken, and, a little later, another contact is made. The keyboard uses
>the interval between the breaking of the first contact and the making of the
>second to determine the key velocity.

Yup...and dirt-simple to implement digitally.

>                                       If the key is released, the interval
>between breaking of the second and the remaking of the first contact can be
>used to determine the speed with which the key was released. Some keyboards
>code this information as an aftertouch midi message.

Uh, actually this is 'release velocity', not aftertouch.

>                                                      You might use it to
>generate the typical 'TOCK' (I really don't know how to spell this in english)
>you get if you release the keys of a harpsicord.

Hmm...so maybe there actually IS a use for it!

>  All this stands apart from 'pressure sensitvity', which some keyboards have.
>Pressure sensitivity means that the keyboard sends midi messages about the
>force you're exerting on the key.

This is usually implemented using a pressure-sensitive (piezo-electric?) 
ribbon under the keyboard, at the bottom of the key's travel. The 
message sent is based on the hold-down pressure of all the keys 
currently in use.

And now a word about our FAVORITE software...

>From: "Bryan Cass" <bc%idx.com@sadye.EMBA.UVM.EDU>
>Subject: Midisoft Recording Session questions

>Is this software just crippled ("stipped-down junk" as Francis Li said in the
>previous Digest) so that you are induced to buy their Studio software, or are
>these real "bugs" that should be fixed by a patch or new version?  If program
>updates are available, where are they??

Yes, yes, and dunno, respectively. The consensus among the troops is 
that Recording Session is worth every penny you pay for it ($0), and 
Recording Studio is not ($150, I think).

***********************************************************************
Lee DeRaud                             Will program Windows for food.
Rockwell Int. AESD                   (Hey, I'm easy but I'm not cheap!)
   DoD #985 - Fast and ugly beats slow and cute any day of the week.
 ----------------------------------------------------------------------
      My own opinions only, not those of Rockwell International.
   (Yeah, right: like anyone around here cares what *I* say...NOT!)
***********************************************************************

------------------------------

Date: Wed, 27 Oct 1993 18:59:53 -0500
From: davidm@marcam.com (David MacMahon)
Subject: Re: Psbadpcm Thingy Observation

>Date: Tue, 26 Oct 93 18:44 EDT
>From: kildayb@erau.db.erau.edu (Kildayb)
>Subject: Psbadpcm Thingy Observation

>  I was just checking out that neat ADPCM program that decompresses that 
>short Pet Shop Boys sample.  According to Patrick, unusual (and funny) 
>results occur when you play the sample back @ 30kHz (with the -f30000 
>option).  Well I figured what the hell, lets see, if it can do 30khz lets 
>try 96kHz.  So I entered the switch -f96000 just to see how quick my 
>system would crash, and low and behold it worked!  It actually played the 
>sample at that speed!

The reason the GUS can appear to be playing samples at high rates is that 
the GUS is interpolating the samples.  When you play a sound on the GUS, 
each active voice gets updated at a rate that is determined by the total 
number of active voices, NOT by the actual playback rate.  In order to give 
the appearace that the voice is being updated at the playback rate, the GUS 
interpolates the data points that fall in between actual samples.  With 14 
active voices (the minimum, even if only one voice is running), the voices 
are updated exactly 44100 times per second.  If you set your playback rate 
to 44100 Hz, each sample will be played with no interpolation.  If your 
playback rate is 22050, the GUS will play each sample *plus* an interpolated 
sample that is played between each real sample.  The value of this 
interpolated sample is based on the values of the real samples between which 
it is being played.  Depending on the playback rate, the interpolated sample 
may not always fall half way between two real samples.  The GUS takes this 
into account when performing the interpolation.  If you specify a playback 
rate that is greater than the voice update rate, the GUS will still 
interpolate values, but now there will be some "skipped" data which, 
depending on the data and the playback rate, can introduce aliasing.  
Continuing the example above, if your playback rate is 88200, exactly every 
other sample will be played with no interpolation occurring.  (This is how 
interleaved stereo can be played.)  This is why things worked for you with a 
96 kHz playback rate.  I don't know what the theoretical maximum playback 
rate is, but making it too high will definitely introduce aliasing which may 
or may not be desireable.

>  This may not be surprising to some, but I was flat out amazed.  So I 
>ponder this question, if you can playback @ 96000Hz why can't you 
>record @ 96000Hz?  

Even when your playback rate is 96000 Hz, the voice update rate is still 
only 44100 Hz (maximum).  The appearance of a higher voice update rate is 
due to interpolation and skipping samples.  The maximum sampling rate of the 
GUS is 44100 Hz.  In order to give the *appearance* of recording at a higher 
sampling rate, you could interpolate data points between each pair of 
consecutive samples, but this would not really be beneficial.

The GUS could sample a mono signal at 88200 Hz **if** (this is a pretty big 
if) the sampling of the left and right channels (in stereo) happens "out of 
phase" of each other.  IOW, if the sampling of the left and right channels 
happened simultaneously, this idea would NOT work.  If one channel were 
sampled one-half-of-a-sample-time after the other, then this idea would 
work, just feed the signal being sampled to both the left and right inputs 
and record in stereo at 44100 Hz.  Don't forget, this is a pretty big if.

>  Btw, I have a 486DLC-40 (don't laugh) and playing back in stereo @ 44k 
>consumed roughly 40 something percent of CPU power, @ 96k  in stereo it 
>was bouncing of 97%. 

Since you are pumping data from the disk to the GUS (with the ADPCM 
decompression in between) more than twice as fast, it makes sense that the 
CPU is being used more than twice as much.

Dave

David MacMahon
Systems Administrator
davidm@marcam.com

------------------------------

End of GUS Musician's Digest V1 #9
**********************************

To post to tomorrow's digest:                        <gus-music@dsd.es.com>
To (un)subscribe or get help:                <gus-music-request@dsd.es.com>
To contact a human (last resort):              <gus-music-owner@dsd.es.com>

FTP sites:                archive.epas.utoronto.ca       pub/pc/ultrasound
                          wuarchive.wustl.edu     systems/msdos/ultrasound
                          archive.orst.edu             pub/packages/gravis
FTP mail server:          mail-server@nike.rz.uni-konstanz.de

Hints:
      - Get the FAQ from the FTP sites or the request server.
      - Mail to <gus-music-request@dsd.es.com> for info about other
	GUS related mailing lists (general use, programmers, etc.).

