Open Sound World Frequently Asked Questions1.2.3

Open Sound World Frequently Asked Questions

Version 1.2.3
Maintained by: Amar Chaudhary

Table of Contents

1. WHO, WHAT, WHERE, HOW, and WHY?

1.1. What is Open Sound World?
1.2. Why Another Visual Patching Language for Music?
1.3. How is OSW different from Max/MSP, Pd or jMax?
1.4. Where can I get OSW?
1.5. How much does OSW cost?
1.6. Who is responsible for OSW?
1.7. What is the current version of OSW?
1.8. What platforms are supported by OSW?
1.9. How about other porting to other platforms?

2. WINDOWS QUESTIONS

2.1. What sound cards are supported under Windows?
2.2. What MIDI devices are supported under Windows?
2.3. Is ASIO supported?
2.4. If my soundcard supports both ASIO and WDM, which should I use?
2.5. Can I use VST plug-ins inside OSW
2.6. I have Windows 98 (or ME) and I can't get OSW to run. What's wrong?

LINUX QUESTIONS

3.1. What versions of Linux are supported?
3.2. What kernel is recommended for OSW?
3.3. What are these real-time patches and what are they good for?
3.4. Are you getting paid to say that?
3.5. What sound cards are supported under Linux?
3.6. Which sound interface should I chose, OSS or ALSA?
3.7. I do not currently have ALSA. How do I get it?
3.8. I installed ALSA, and everything looks good. EXCEPT, I get no sound. What do I do?
3.9. I am still having trouble getting sound from ALSA. What do I do?
3.10. All my other sound applications work fine. I think OSW might be the problem, yes?
3.11. I am getting these strange crashes with error messages that look like they might have come from Tcl/Tk or X Windows. What's up?
3.12. Do I have to use gcc 3.3 to compile OSW? I only have 2.95.x.

4. MAC OS X QUESTIONS

4.1. What versions of OS X are supported?
4.2. What soundcards are supported under OS X?
4.3. What version of Tcl/Tk do I need and how do I install it?
4.4. How do I uninstall OSW from my Mac?

5. SGI IRIX QUESTIONS

5.1. Why are SGI/Irix releases no longer published?
5.2. What sound hardware is supported on the SGI?
5.3. Is MIDI suppored on Irix?
5.4. I get a lot of audio glitches. I thought the SGI was supposed to have good real-time audio support. What's up with that?

6. GENERAL PERFORMANCE AND TROUBLESHOOTING

6.1. What do I do if I encounter a problem?
6.2. I think I found a bug. What should I do?

7. GENERAL COMPILATION QUESTIONS

7.1. How to I obtain source code for OSW?
7.2. OK, now what do I do?
7.3. I am compiling OSW under Windows. Why do all these windows pop up when I say "make externals"?

8. OPEN SOUND CONTROL

9. WRITING OSW TRANSFORMS

9.1. What is the Externalizer?
9.2. Where can I learn how to use the Externalizer?
9.3. OK, where do I find the Transform Writer's Guide?
9.4. Are there other things I can add to OSW besides transforms?

10. HOW YOU CAN HELP

10.1. How can I help?
10.2. Can I contribute money?

YOU DIDN'T ANSWER MY QUESTION!

1. WHO, WHAT, WHERE, HOW, and WHY?

1.1. What is Open Sound World?

Open Sound World, or OSW, is a scalable, extensible programming environment that allows musicians, sound designers and researchers to process sound in response to expressive real-time control. OSW combines a familiar visual patching paradigm with solid programming-language features such as a strong type system and hierarchical name spaces.

OSW also includes an intuitive model for specifying new components using a graphical interface and high-level C++ expressions, making it easy to develop and share new music and signal-processing algoritms.

1.2. Why Another Visual Patching Language for Music?

This question should really be "why do all music languages end up being visual patching languages?" The visual-patching paradigm actually has its routes in signal processing textbooks and early analog hardware (i.e., analog synthesis, analog computers, etc.) and is thus a natural means for expressing constructs that are ultimately signal processors and controllers. Even systems that originally started out as text based, such as Csound, now boast visual front-ends.

OSW has a similar history, starting out as a collection of highly-optimized C++ classes with a framework that was quite different from other real-time music systems. It included scripting interface that eventually incorporated a visual patching interface. However, OSW has attempted to push the envelope and make visual patching easier to use through features such as gestural editing. These features were developed from useability tests. Although there is still a lot of work to be done in this direction, the emphasis on increased useability is a key differentiating factor.

1.3. How is OSW different from Max/MSP, Pd or jMax?

One of the most frequently asked questions! Max/MSP, Pd and jMax are all descendants of the Max system developed by Miller Puckette and others at IRCAM in France. These systems have been used successfully in computer-music compositions and research projects for a long time. Among computer musicians, they have also been synonymous with the visual patching paradigm.

OSW started out as very different beast, emphasizing optimzed high-level C++, extensible type system, ease of adding features, and a flexible real-time scheduler. It adopted the successful visual-patching interface for reasons outlined in the previous question.

More information on the history of OSW can be found at http://osw.sourceforge.net/oswhistory.php.

1.4. Where can I get OSW?

OSW is availabe from osw.sourceforge.net or www.opensoundworld.com. You can download OSW either as source code or binaries for Windows and Linux. There are also instructions on how to install or compile OSW on your platform.

1.5. How much does OSW cost?

OSW is Open Source software and available free of charge. It is released under the Open Sound World Public License, which is similar to the Mozilla public license.

1.6. Who is responsible for OSW?

OSW was begun as research project by Amar Chaudhary, Adrian Freed and Matthew Wright at the Ceneter for New Music and Audio Technologies (CNMAT) at the University of California at Berkeley. It is currently maintained as an open source software project lead by Amar Chaudhary.

1.7. What is the current version of OSW?

The current version is 1.2.3 for Windows and Linux, and version 1.2.4 for Mac OS X.

1.8. What platforms are supported by OSW?

OSW surrently runs on Windows (2000 and XP), Linux, Mac OS X and SGI Irix platforms.

1.9. How about other porting to other platforms?

Porting to any and all platforms is strongly encouraged. We expect most of the OSW code to be portable across platforms. Plus, the GUI written in Tcl/Tk should run on many platforms. Please contact peoplestank at users dot sourceforge dot net for more info.

2. WINDOWS QUESTIONS

2.1. What sound cards are supported under Windows?

Any soundcard with Windows WDM or ASIO drivers should work with OSW. Virtually every sound device supported in Windows 2000 or XP will include a WDM driver, and many mid-level and professional cards have ASIO drivers.

2.2. What MIDI devices are supported under Windows?

Again, any MIDI device that uses the Windows MIDI driver interface. This includes just about everything from those old MPU-401 cards to the trendy USB MIDI interfaces and MIDI keyboards.

2.3. Is ASIO supported?

Yes, ASIO is supported is OSW.

2.4. If my soundcard supports both ASIO and WDM, which should I use?

Generally speaking, you will better performance and flexibility for multichannel I/O with ASIO, so it is the recommended interface.

2.5. Can I use VST plug-ins inside OSW

Yes! You can download the VST adapter external from our contributions page.

2.6. I have Windows 98 (or ME) and I can't get OSW to run. What's wrong?

OSW currently is only supported on Windows 2000 or XP. It might run on some Windows 98 or ME systems, but it might not. If you are running Windows 98, we recommend that you upgrade to an operating system from this century.

LINUX QUESTIONS

3.1. What versions of Linux are supported?

OSW should work with most current versions of Linux, but the Linux world is so fragmented that it's hard to say for sure.

3.2. What kernel is recommended for OSW?

We recommend at least a 2.4.x kernel, preferably with real-time patches.

3.3. What are these real-time patches and what are they good for?

There are several patches for the Linux kernel that improve performance in real-time audio applications. In particular, these patches alter the scheduler to support a "policy" that allows audio processes to run at fixed rate and priority, which is essential for low-latency audio with no dropouts.

A much more detailed discussion of tuning Linux for audio can be found at Planet CCRMA: Tuning the System. Users wishing to do a lot of audio work under Linux are encouraged to visit Planet CCRMA if they have not already done so.

3.4. Are you getting paid to say that?

No

3.5. What sound cards are supported under Linux?

Any soundcard supported by the standard OSS drivers or by the Advanced Linux Sound Architecture (ALSA) should work with OSW.

3.6. Which sound interface should I chose, OSS or ALSA?

We STRONGLY recommend using ALSA, it has much better latency performance and multichannel support. We mainly support OSS for legacy purposes are for sound hardware that hasn't yet been ported to ALSA.

3.7. I do not currently have ALSA. How do I get it?

Visit the ALSA Web Site for more information. There is a section for new users that includes a document called "Getting started with ALSA"

3.8. I installed ALSA, and everything looks good. EXCEPT, I get no sound. What do I do?

Alsa may both mute and turn down all audio channels on installation. Run alsamixer and make sure that you BOTH unmute and turn up the relevant channels.

Alsa allows each soundcard to define its own mixer according to the card's harware capabilities. So, not all sound cards have mute switches. In fact, the different cards used by different members of OSW development team behave differently in this respect.

3.9. I am still having trouble getting sound from ALSA. What do I do?

First, try to play a sound file using aplay, and if that works try another program from the supported list on the ALSA (e.g., Audacity) page and see if it works as well. If not, you likely have an ALSA problem.

3.10. All my other sound applications work fine. I think OSW might be the problem, yes?

It might very well be. If you continue to have trouble getting OSW to work, you can submit a Support Request or send a question to the osw-users mailing list. Both are available for your convenience on the OSW Community Page.

3.11. I am getting these strange crashes with error messages that look like they might have come from Tcl/Tk or X Windows. What's up?

You might have a version of Tcl/Tk without multithreading support. Refer to the INSTALL.linux documentation with your OSW distribution for info.

3.12. Do I have to use gcc 3.3 to compile OSW? I only have 2.95.x.

Yes, you must use gcc 3.2.x or better. OSW makes use of many advanced C++ features which are natively supported in gcc 3.2.x but not in previous versions.

4. MAC OS X QUESTIONS

4.1. What versions of OS X are supported?

At this time, OSW has only been verified to run on OS X 10.3 (Panther). We're pretty sure that 10.4 (Tiger) works as well.

4.2. What soundcards are supported under OS X?

Any soundcard with CoreAudio drivers should work with OSW, though as this writing few have been officially tested. If you have experience with a particular soundcard under OS X, please let us know.

4.3. What version of Tcl/Tk do I need and how do I install it?

The "BI" (batteries included) 8.4 version of Tcl/Tk Aqua is required for OSW. To load and install Tcl/Tk Aqua, go to tcltkaqua.sourceforge.net and download the TclTkAquaBI-8.4.x.dmg file.

4.4. How do I uninstall OSW from my Mac?

If you installed from the official binary, you can uninstall as follows:

5. SGI IRIX QUESTIONS

5.1. Why are SGI/Irix releases no longer published?

SGI Irix is declining in use as a platform for real-time audio applications, and we believe are resources are better used producing solid and timely releases for Windows, Linux and Mac.

5.2. What sound hardware is supported on the SGI?

Anything that appears as a standard SGI audio device should be supported. This is most likely the built-in audio of your workstation unless you have one of those super-fancy multi-channel cards they made.

5.3. Is MIDI suppored on Irix?

There is currently no MIDI support under Irix.

5.4. I get a lot of audio glitches. I thought the SGI was supposed to have good real-time audio support. What's up with that?

Try running root-osw, which enables/disables some features that greatly improve audio performance. Of course, you need to be able to run as root to do this.

6. GENERAL PERFORMANCE AND TROUBLESHOOTING

6.1. What do I do if I encounter a problem?

Read the documentation. Make sure to check the documentation specific to your platform. If it doesn't answer your question, visit the website, post to the discussion forums, or review the bugs or support requests. You can post to one of these resources if your problem has not been addressed.

6.2. I think I found a bug. What should I do?

You should post bugs to the bug tracker at osw.sourceforge.net. Click on "Community" on the left bar and select "Bugs" to bring up the bug tracker. Before you submit a bug report, please make sure it has not already been reported by someone else.

7. GENERAL COMPILATION QUESTIONS

7.1. How to I obtain source code for OSW?

Go to osw.sourceforge.net and click on downloads. Follow the instructions to download the source distribution.

7.2. OK, now what do I do?

Unpack the source file (using gunzip/tar or a Windows equivalent) into a directory of your choice. From that directory proceed to the "src/xxx" directory where "xxx" is the name of your platform (win, linux or sgi). In that directory, you will find a file "COMPILE.xxx" with instructions for building OSW on your platform.

7.3. I am compiling OSW under Windows. Why do all these windows pop up when I say "make externals"?

Those windows are part of the Externalizer, which is used to build OSW transforms from high-level descriptions. The build processes automatically invokes the Externalizer to build the transforms included in the distributions. This should only happen under Windows, other platforms have a "nogui" mode used when making the externals.

8. OPEN SOUND CONTROL

This section is still under construction.

9. WRITING OSW TRANSFORMS

9.1. What is the Externalizer?

The Externalizer is a graphical interface for creating new OSW transforms from high-level specifications and fragments of C++ code. It does most of the dirty work of creating a C++ class for your transform, as well as compiling and installing it.

9.2. Where can I learn how to use the Externalizer?

Read the OSW Transform Writer's Guide.

9.3. OK, where do I find the Transform Writer's Guide?

Actually, it's not quite available yet. It's very high on my to-do list. Really, it is.

9.4. Are there other things I can add to OSW besides transforms?

We encourage most extensions to be written as transforms, even if they have no inlets or outlets. However, some elements, such as data types, can also be developed. Refer to the Spectrum data type in the externals sources for more info.

10. HOW YOU CAN HELP

10.1. How can I help?

There are many different ways you can help. Simply downloading and using OSW, and participating in the community of users helps keep the open source project going. And don't forget to tell your friends to try it, too!

There are also several ways one can contribute as a developer: extending the core system, porting to a new platform, or writing new transforms. Writing new transforms is the easiest way to contribute new features to OSW, and is strongly encouraged. Those who wish to extend the core system or try porting to a new platform can download the source code and submit patches.

If you plan to make a major long-term contribution to the development, such as porting to a new platform, you might consider joining as a developer.

10.2. Can I contribute money?

Yes! You can now donate to the OSW project via our web page. Contributing money to the Open Sound World project will help us to purchase additional systems (hardware and software) for compatibility testing and clean release environments. Such testing and development will result in more robust versions of our software that is usable by a wider community of users.

YOU DIDN'T ANSWER MY QUESTION!

If your question was not answered in this document, you can post to one of the forums or mailings (see the website osw.sourceforge.net for more info). You can also contact the developers with questions. You might very well find your question added to this document as a result.