 |
 |
 |
 |
BeOS Journal #6:
The Sound System
Scot Hacker, ZDNet
04/22/97
This week I decided to dig into the Be audio system and poke around a little. Most of the
audio-oriented offerings on ftp.be.com are still unfinished, but if these early efforts are
any indication, Be has a bright future in the audio production and engineering
department.
I hadn't yet tried plugging anything into the audio-in jacks on the back of the Be box, so I
brought in a CD player and hooked it up. Apparently, the audio subsystem is both tied into
and simultaneously separate from the operating system -- music from the external CD player
was humming out of the speakers as soon as I hit Play, long before the OS had booted (and
continued right through a cold reboot!) Yet, as soon as the OS was up and running I was able
to invoke a couple of sound scopes and view the music graphically -- very interesting.
Click here for a graphic presentation of the music (800 x 600,
107k)
The sound viewer AudioDancer consists of a small window that affords you a choice of four
different views of your audio signal: waves, lines, static, and "dancer." I tried running
all four views at once in four separate instances of the app -- the waves view is visible in
the screen shot above, with the static view in the background -- and noticed a slight
slowdown in all four after the third instance was opened up. SoundWatcher is quite a bit
more sophisticated, letting you sample signals at any kilohertz, toggle between several
views, and select between various inputs (microphone, CD, line-in). Notice in the screen
shot that I've got three separate applications all reading from the same sound source
simultaneously. Pretty slick.
One of the best real-world demos of Be power lies in Attila Mezei's AudioElements, an
object-oriented data processing framework which, in a nutshell, lets you drag elements such
as wave forms, scopes, filters, multipliers, FM synths, and so on onto a workspace, then
connect them up just as you would build a home synthesizer from Radio Shack parts. According
to the documentation, the program can be used for anything from real-time signal processing
to MIDI synthesizing to neural network design. Since the program is designed modularly,
authors can create elements beyond the several dozen defaults that ship with the program.
Theoretically, AE could be used to simulate any type of networked system that consists of
discrete input and output systems. Because this is a totally open system, the potential of
this application in the hands of creative programmers and designers is staggering, and I'm
really looking forward to watching this evolve. The program is shareware, and when the
21-day trial period ended, I couldn't get it to run at all, not even after totally deleting
and re-installing the program. Fair enough, but it makes me wonder how Attila is making the
system aware that AE has been installed before. I've used database queries to remove any
lingering settings files, but came up empty. Interesting trick. Oddly, after AE's shareware
period ended, the program started to announce that my system clock is set wrong (it isn't).
Click here for a screen shot of this product (669 x 492, 70k)
The other exciting audio program I checked out is called Rack303, a direct modeling of the
classic Roland 303 Bassline, written by a three-person programming team. Without any
extensive synthesizer training, it's a little difficult to figure out exactly what this
program is doing, but I do know when groove is in the house, and I know how to drag sliders
around while boogying in my chair, so that's what I did. Basically, you get a screen full of
controls for manipulating a randomly generated starting sequence of 16th notes. Feedback,
decay, glide, cutoff, amplification, panning, waveform, and so on are all handled on-screen.
Launching 2nd and 3rd instances of the program inserts multiple sound loops into the
interface, rather than launching separate applications. Each loop gets its own Mute button,
and toggling between them lets you set each loop's controls independently. Letting them all
rip simultaneously gives you a multi-layered acid-house beat with near-infinite
strangeitude. I'm picturing the descendants of this application tearing the roof off the
suckah at some of 1998's best raves.
I don't have any MIDI hardware, but I was able to listen to a few MIDI files via a software
handler that's floating around called SimpleMidi -- nothing really amazing about the
application, but the sound quality of these files is astonishing. In general, I'm no great
fan of MIDI -- I cringe at the thought of my computer sounding like a $59 electronic
keyboard. But in the real world, musicians do amazing things with MIDI, controlling
synthesizers with trumpets and guitars, and creating soundscapes that just can't be emulated
any other way. I found a ton of sample MIDI files and ran 'em through this player applet,
and was blown away by the number of instruments playing simultaneously. The sound quality
was decidedly better than you'd get from a cheap electronic keyboard, too (I'm piping all of
this through an Acoustic Research satellite/subwoofer system).
In addition to these, I found a wide selection of sine wave generators, arpeggiators,
benders, and other miscellaneous components hanging out on ftp.be.com. While none of these
smaller applets was really exciting on its own, they can all be seen as components of Be's
audio future, which looks great from here. It's so amazing to see things like this happening
on an operating system that hasn't even hit 1.0 yet. Stand back, it's going to be good.
Update on the home network situation: I finally started to suspect Win95's lameness for my
difficulties, bit the bullet, and installed NT4.0 workstation. I'm glad I did, but NT by
itself didn't solve my network problems. I could still ping either machine (BeBox or NT)
from either machine, but could only run net services from NT. Be's HTTP and FTP servers just
wouldn't respond, even though they worked just fine when I had the machine hooked up to the LAN at work. Finally, a solution was posted on
usenet: there's a bug in Be's networking preferences file that requires an Ethernet device
to be loaded before any PPP device. So I renamed the network file in /boot/system/settings
to network.old and restarted the network control panel, entered my Ethernet card again,
restarted networking, and (ta-dah!) I've got a fully-functional two-way TCP/IP LAN working,
with FTP and HTTP servers on both ends.
So I was successful in getting all 35 MB of my Web
site off the NT machine and onto the BeBox. Since my site spans 9 subdirectories and
more than 80 nested sub-sub directories, I thought it might be a mess, but the operation was
pretty elegant: I opened up WinZip on the NT machine and dropped the root folder of my site
onto it, which created a 24-MB ZIP archive. I then FTP'd from the BeBox to NT's IP address
and retrieved the binary. The unzip utility built into BeOS handled the ZIP file
beautifully, retaining the entire subdirectory structure, all long filenames, and even case
sensitivity. Beautiful. Looks like I can say goodbye to the X-Files utility for file
transfer for now. This technique works the same way on the Mac, but you make a tar archive,
rather than a zip.
The other bonus I got out of installing NT was that its built-in FTP server let me install
multiple virtual servers. I set up one for each of the eight partitions on my two hard
drives, and now access to my entire Win system (and years of accumulated files) is as easy
as typing "cd /gdrive" or "cd /cdrive" at an FTP prompt. I've got a Linux partition on that
machine too. One of these days I'll see if I can get that up and talking to Be as well.
As if all that wasn't enough networking excitement for one night, I also received a tip from
users Blake Harris and Chris Herborth on installing an internal modem (internal modems
aren't officially supported under DR8.2). The minor hack took all of 10 minutes, and worked
perfectly the first time. Dr. Hull has generously posted the how-to on his Be users help site. So I
can finally throw away that flaky old external 14.4 and surf at top speed. There are still a
few glitches (you can't use your TCP/IP LAN and a PPP device at the same time, for
instance), but I'm finally well-wired.
| |
|
 |
| |