SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

Contents

  1. Introduction
  2. Compilation
  3. System Architecture
  4. Development

1. Introduction

What is Virtual Sound? Currently it is just a loose collection of functions that might be useful in a sound synthesis application.

Why bother? VSound offers a clean collection of routines that are not bound to any kind of system - the aim is to make these routines as general as possible.

What is new? Nothing much right now, though I expect There is not much new right now in VSound, but as soon as the basic sound processing stuff is in there, work will begin in using linear functions and neural networks for prediction and modelling of sounds. What good is that, you might ask? Well, let us suppose you have a short, clean sample of a saxophone and you want to use it to make music with. However it is not much use applying standard DSP techniques... but the sound of the sax can be captured using a neural network and certain control inputs in the network can be used to change the characteristics of the saxophone sound.

Another feature that will be provided is the possibility to connect effects together recursively - some simple higher-level functions will be added to auto-magically create certain types of effects chains for producing particular kinds of sounds.

But all this is not very good for the user. There is no system for actually manipulating effect chains - no back-end to speak of and no front-end at all, unless you count the example VSound.c main as a front-end.

2. Compilation

The Makefile should work as it is, but check the variables BINDIR, VSOUND_DIR, LIBS_DIR and OBJS_DIR if you want things to be placed in different directories.

(> make clean)
> make depend
> make
> make VSound

The last step just compiles the example main, which is a small demonstration of the vibrating string class. See the Usage section of the example for more details.

3. System Architecture

Sample-handling is divided into two layers of abstraction:

The first layer is dealing with single-channel samples represented in floating point. All the basic effects in psr.c operate on samples of this type only. None of the basic effect functions ever copy samples.

The second layer can handle multiple-channel time-stamped samples. There are wrapper functions in the higher layer that operate on samples of this type. Functions here may copy samples before performing operations on them.

You should look at the architecture figure docs/architecture.eps to get a better idea of this.

4. Development

Certainly, VSound cannot stand on its own ground as an audio application. It occupies a very niche space and there already are other tools that are quite flexible. Well, developers of these tools could, if they find VSound interesting adapt the source to their own project, or contact me so that they can help.

I have tried to put as many comments in the code as possible. Look at the VSound example for use.

Please look at the project's home page at http://vsound.sourceforge.net if you are interested in aiding in the development of VSound or if you would like help in porting some of VSound's features into your own project.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.