[comp.sys.mac.programmer] Sound Techniques

alibaba@ucscb.UCSC.EDU (Alexander M. Rosenberg) (03/08/88)

Beyond Dark Castle does something very neat with sound. I used a public
domain program called Sound Leech to grab the sounds out of the file
BDC Data A. SOUN ID 94 is the music from the title page. It is at 5.5kHz.
The problem is, it sounds very tinny and mechanical. BDC does some manipulation
to all its sounds when it plays them.

Hypothesis:

BDC does some sort of fancy overlay of the same sound on itself, so that it
sounds fuller, simulating a better sampling rate.

BDC does some sort of smooth on the waveform.

BDC has some sound data information that I missed.

Sound Leech does a bad job of grabbing sound data.

Of all those, I can't figure out what is happening. All this investigation
makes me wonder why SBS does pruce a sound product, since they no longer do
games.

Any ideas as to what is happening? Anybody at Apple Sound Engineering have
an idea? (They always know whats happening with sound.)



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~  Alexander M. Rosenberg  ~ INTERNET: alibaba@ucscb.ucsc.edu   ~ Yoyodyne    ~
~  Crown College, UCSC     ~ UUCP:...!ucbvax!ucscc!ucscb!alibaba~ Propulsion  ~
~  Santa Cruz, CA 95064    ~ BITNET:alibaba%ucscb@ucscc.BITNET  ~ Systems     ~
~  (408) 426-8869	   ~ Disclaimer: Nobody is my employer  ~ :-)         ~
~			   ~ so nobody cares what I say.	~	      ~

jellinghaus-robert@CS.YALE.EDU (Rob Jellinghaus) (03/10/88)

In article <2263@saturn.ucsc.edu> alibaba@ucscb.UCSC.EDU (Alexander M. Rosenberg) writes:
>Beyond Dark Castle does something very neat with sound. I used a public
>domain program called Sound Leech to grab the sounds out of the file
>BDC Data A. SOUN ID 94 is the music from the title page. It is at 5.5kHz.
>The problem is, it sounds very tinny and mechanical. BDC does some manipulation
>to all its sounds when it plays them.

In an interview in MacWorld a couple of months ago, the president of
Silicon Beach said that all the sounds in Dark Castle would have taken
practically a full 800K disk if the authors hadn't come up with some
very sophisticated sound compression techniques.  That's the story;
they pack all the sounds and then unpack them to play them.  (They
also did some hacking to enable multiple sounds to overlay each other;
i.e. the waterfall and the "Ni-ni-ni-ni-ni!" sounds in Shield 3.)

I just wish Bill Atkinson would get a clue and grab these routines
for Hypercard.  Hypercard needs sound compression BAD.

>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>~  Alexander M. Rosenberg  ~ INTERNET: alibaba@ucscb.ucsc.edu   ~ Yoyodyne    ~
>~  Crown College, UCSC     ~ UUCP:...!ucbvax!ucscc!ucscb!alibaba~ Propulsion  ~
>~  Santa Cruz, CA 95064    ~ BITNET:alibaba%ucscb@ucscc.BITNET  ~ Systems     ~
>~  (408) 426-8869         ~ Disclaimer: Nobody is my employer  ~ :-)         ~
>~                         ~ so nobody cares what I say.        ~             ~

God, I wish Silicon Beach hadn't stopped making games...

Rob Jellinghaus                | "In my heart... I know I'm funny."
jellinghaus@yale.edu           |
ROBERTJ@{yalecs,yalevm}.BITNET |       -- Lieutenant (?) Hawke in
!..!ihnp4!hsi!yale!jellinghaus |            _Good Morning Vietnam_

phd@SPEECH1.CS.CMU.EDU (Paul Dietz) (03/10/88)

In article <2263@saturn.ucsc.edu> alibaba@ucscb.UCSC.EDU (Alexander M. Rosenberg) writes:
>Beyond Dark Castle does something very neat with sound. I used a public
>domain program called Sound Leech to grab the sounds out of the file
>BDC Data A. SOUN ID 94 is the music from the title page. It is at 5.5kHz.
>The problem is, it sounds very tinny and mechanical. BDC does some manipulation
>to all its sounds when it plays them.
>
>Any ideas as to what is happening?

I have a guess with almost zero justification: Different programs use different
representations of the waveform. Some use signed integers, others just
offset unsigned integers. If you played one assuming it was the other, it
would sound pretty much as you described.

The other possibility is that you're not getting a reasonable anti-aliasing
filter. Could somebody who knows the sound hardware explain how the
anti-aliasing filter is choosen for different sampling rates? (I've
been wondering if the Mac does ANY anti-aliasing at all...)

[Actually, if it doesn't, that might also explain your problem: Maybe BDC
upsamples and interpolates at say 22kHz to solve the alaising problem...]

Paul H. Dietz                                        ____          ____
Dept. of Electrical and Computer Engineering        / oo \        <_<\\\
Carnegie Mellon University                        /|  \/  |\        \\ \\
--------------------------------------------     | | (  ) | |       | ||\\
"If God had meant for penguins to fly,             -->--<--        / / |\\\  /
he would have given them wings."            _________^__^_________/ / / \\\\-

alibaba@ucscb.UCSC.EDU (Alexander M. Rosenberg) (03/10/88)

I thought I'd try and follow up here. What I've deterined is
that all the BDC sounds are at 5.5kHz, and the so-called "compression"
is really a method similar to the way that fat-bits are made (this
may be an old fat bits technique, it came from the Byte SmallTalk issue)

Each bit it plotted every 9 pixels. it is then replotted one to the
right 8 times. (This produces horizonal lines.) then the lines are
duplicated vertically eight times. This produces fat bits. I think
something similar is occuring with BDC sound technique. The sounds
are only every x samples, then "streched" to produce what sounds like
a better sampling rate, and a fuller sound. It also explains the
tinny echo effect that the sounds sound like when not "uncompressed."

Anybody know anything about doing this sort of thing? BDC has good
sounding sounds, and it only stores little bits of them.\

BTW, this fat bits technique also explains how sounds can be overlaid.
Instead of screching the sound, inserting another one interwoven, will
produce the effect of overlapping sounds. I ay have to experiment with
this as it seems a good way of storing sound for low-quality playback
and overlay. If Apple would ever docuemnt 'snth' resources properly,
I would even consider writing a 'snth' to do this, as well as a sound
filter to shrink sounds down.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~  Alexander M. Rosenberg  ~ INTERNET: alibaba@ucscb.ucsc.edu   ~ Yoyodyne    ~
~  Crown College, UCSC     ~ UUCP:...!ucbvax!ucscc!ucscb!alibaba~ Propulsion  ~
~  Santa Cruz, CA 95064    ~ BITNET:alibaba%ucscb@ucscc.BITNET  ~ Systems     ~
~  (408) 426-8869	   ~ Disclaimer: Nobody is my employer  ~ :-)         ~
~			   ~ so nobody cares what I say.	~	      ~

edwards@bgsuvax.UUCP (Bruce Edwards) (03/12/88)

I have seen plenty of applications which allow you to convert
SOUND type files ala FSSD FSSC to SND resources but none that
will take a SND resource and make a SOUND file out of it. I'm
probably missing something simple here. Help me out.


      'These are only the shadowlands.' C.S. Lewis 
      ----------------------------------------------------------------- 
        Ken Jenkins as guest @
        
        CSNET: edwards@bgsu
      ARPANET: edwards%bgsu@csnet-relay
         UUCP: cbosgd!osu-cis!bgsuvax!edwards 
        
      US Mail:
	c/o Century Marketing Corp.
            12836 S. Dixie Hwy.
            Bowling Green , OH 43402
            
        Phone:
            In Ohio 1-800-821-5409
        Out of Ohio 1-800-537-9429
                 or 1-419-354-2591
      -----------------------------------------------------------------

alibaba@ucscb.UCSC.EDU (Alexander M. Rosenberg) (03/14/88)

Yes, you are missing something. Its called "Sound Leech". Last  I
saw was 0.70. It appears to be a public domain program, and I have
only recently obtained it. It will take any resource type and try
and make a SoundWave file out of it. This includes types such as,
"SMSD" from Crystal Quest, and "SOUN" from Beyond Dark Castle (although
BDC appears to do funky things to its sounds). I'll have to check it to
see if it is ok to send to the binaries.

Other solutions: SoundEdit (part of MacRecorder, from Farallon) will
convert sounds from every type to every other type. It handles snd types 1
and 2, SoundWave files (any FSSD FSSC type files), and also does stereo
in most formats (type 2 for HyperCard doesn't appear to support stereo.)

I highly recommend MacRecorder, and I love mine.
(I have no relations with any company or product mentioned here.)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~  Alexander M. Rosenberg  ~ INTERNET: alibaba@ucscb.ucsc.edu   ~ Yoyodyne    ~
~  Crown College, UCSC     ~ UUCP:...!ucbvax!ucscc!ucscb!alibaba~ Propulsion  ~
~  Santa Cruz, CA 95064    ~ BITNET:alibaba%ucscb@ucscc.BITNET  ~ Systems     ~
~  (408) 426-8869	   ~ Disclaimer: Nobody is my employer  ~ :-)         ~
~			   ~ so nobody cares what I say.	~	      ~