AlmusVCU
last updated 2006-08-22
Table of contents
2006-08-22
AlmusVCU 0.87. Quick and dirty release. I was planning to hold this
until I was complete packaging reverb programs and updating the
documentation, which has been postponed in, well, two years. Now when
people start to play around with 0.86 I thought I'd better release
what I have now. I have not done much pre-testing of this, so if it
does not work, let me know and/or try out 0.86 instead.
What is still missing in this release apart from up to date
documentation is reverb programs and some really good cross-talk
cancellation programs. I have the raw material for this, but I need to
take some time to test, make a package and apply a suitable license
acceptable by the authors of the raw material and me. This time is
extremely hard to find, so I cannot make any promises.
Even without this, AlmusVCU can be a very useful program, and the
differences from 0.85 to 0.87 is mostly bug fixes, so the
documentation is quite ok in its current state. If you want to do high
quality Ambiophonics with reverb, you need to wait for the release of
reverb programs and cross-talk cancellation programs (or make your
own, the filter program format is documented).
2004-08-08
AlmusVCU 0.86. Added support for multiple input and output
devices. This means that AlmusVCU can handle several sound cards both
for input and output.
2004-07-18
This project may have seem rather dead, but it has not been. It is
true that I have not worked on it much for about six months, but since
the last release almost two years ago, a lot has happened. This new
release is a totally new product. The reason it has not been released
earlier, is that I have not had any reverb programs available that I
could release. This is however about to change, and therefore I have
decided to make another public release of AlmusVCU. Suitable reverb
programs will appear on this page at a later time (hopefully soon).
2002-09-12
A serious bug which caused buffer underflow with large I/O-delays was
discovered in BruteFIR and has been fixed. The new version is BruteFIR
v0.99b.
2002-09-08
Released AlmusVCU 0.7a, which fixes a few bugs. It is now also
possible to start the convolver after configuration change without
re-running the benchmark, if you think you know better. Additionally,
a status section was added to this page, so I don't need to explain
that the reverb engine is not very usable yet in every news event.
2002-08-25
A major new release, AlmusVCU 0.7 is out. There is now support for
Ambisonics and dynamic equalisers. The user interface has been
improved, the source code structure as well, and there is an option
for low latency operation. Still working on the part of providing good
reverb programs to use though, so the reverb engine is not very usable
yet, but all other components are.
2002-07-25
A new release, AlmusVCU 0.6 is out. Still it is a very early release,
and the stability may even have been reduced since the last version
due to large feature extensions. Built-in equalisation design is now
implemented, and it is now possible to have more than one
ambiopole. There are still no good reverb programs to use with the
software yet though.
2002-07-18
Added a wish list, so I can remember which features I should implement
in future releases. Still, crushing bugs is the most important though,
and some features in the current release are not yet fully implemented.
2002-07-17
AlmusVCU v0.5 has been released. This is an early release, meaning
that the current state of the software is quite unstable. There is
also not any good reverb programs available yet, so the software is
not very usable at this moment.
The current release of AlmusVCU is a development release, meaning that
not all functionality have been thoroughly tested, and thus may be broken.
Since the start of 2004, not much development effort has been put into
the project. The software is fairly complete in terms of
functionality, what is needed now is more users and discovering and
fixing bugs.
Some ideas of future developments of AlmusVCU is work in the
direction of wave field synthesis, optimal source distribution
binaural systems, impulse response measurement and room
equalisation. There is currently nothing planned though.
AlmusVCU is an open-source software which makes a computer equipped
with a multi-channel sound card into a real-time versatile convolver
unit. The main area of use is as a surround sound processor in
multi-channel high fidelity systems such as:
- Ambiophonics [1]
- Ambisonics [2]
- Auralisation/binaural/Ambisonics hybrid systems
- ITU 5.1 or other discrete multi-channel arrangements
The software aims at being useful for music lovers interested in the
superior Ambiophonics and Ambisonics surround formats. However, rather
than being tailored for a few specific uses, AlmusVCU is feature rich
and very flexible, and also tries to be a valuable tool for audio
hobbyists, students and researchers. AlmusVCU can be configured to
collaborate with other audio processors, even be used as a reverb
processor in recording post-production, or simply be used as a generic
convolver unit for arbitrary audio convolution tasks. However, this
documentation concentrates on its use as an Ambiophonics or Ambisonics
surround sound processor, by providing tutorials on how to build such
systems from scratch.
AlmusVCU runs on Linux-based operating systems
[3]. It can either be
installed and run on an ordinary Linux workstation, or on what it is
designed for, a purpose-made embedded computer platform, forming a
HiFi-component of the highest grade, at an unbeatable price.
The power of a modern standard computer platform allows AlmusVCU to
outperform most custom-made DSP platforms in terms of throughput. At
the cost of a small I/O-delay (about 20 -- 200 ms depending on
application, configuration and hardware), AlmusVCU gives the audio
processing power and sound quality of commercial hardware solutions
costing 10 times more than the computer it requires. The software
itself is free,
licensed through the GNU General Public License [4].
The main features are:
- Real-time operation and HiFi quality sound.
- Powerful convolution engine. AlmusVCU is built around the
high-performance BruteFIR convolution engine [5].
- Real reverb reproduction. AlmusVCU can be loaded with a "reverb
program", which is a 3D impulse response recording of the acoustics of
(for example) a concert hall. Combined with a speaker array, any
acoustic space can be recreated.
- Cross-talk cancellation. AlmusVCU can be loaded with a
cross-talk cancellation program to support cross-talk cancelled stereo
(also known as stereo dipole or ambiopole).
- Ambisonics decoder. AlmusVCU can decode both first order and
second order Ambisonics.
- Supports hybrid systems. It is possible to combine all processing
components in AlmusVCU in any way, allowing hybrid systems which
include both Ambiophonic and Ambisonic elements.
- Switchable channel modes. AlmusVCU can be configured for several
different types of decoding (for example Ambiophonics, Ambisonics and
5.1), which then can be switched in runtime.
- The user interface scales well to handle any configuration, from
a two channel stereo system to complex hybrid system with several tens
of speakers.
- Customisable equalisation. Each channel can be equalised
with custom equalisation programs.
- Dynamic equaliser. With the built-in equaliser designer it is
possible to design a linear-phase equaliser whose magnitude response
can be altered in runtime.
- A/B testing capabilities. Apart from being able to switch reverb
programs in runtime, also cross-talk cancellation programs and sets
of equalisation programs can be switched in runtime.
- Customisable pass-through channels. Copy, mix, scale, delay and
equalise any input channels and put them to any output channel.
- Speaker feeds and internal channels work independently from each
other. This means that several channels can be mixed into a single
speaker.
- Trim delay and trim volume for each channel.
- Support for several sample rates. Any reverb, cross-talk
cancellation or equalisation programs loaded will be resampled if
necessary, using highest quality band-limited interpolation as the
resampling algorithm.
- High audio signal resolution. 32 or 64 bit floating point resolution
can be used internally. Optionally 24 bit dithered linear PCM on the
outputs.
- Built-in benchmarking. The software has a benchmarking engine
which is used to recognise what the current hardware is capable of.
- Saving/loading configuration. Configurations can be saved to be
recalled at any time. This is useful for backup purposes.
- Open filter program formats. The filter programs, that is reverb,
equalisation and cross-talk cancellation programs, is stored in a
simple format, which is described in the documentation.
The latest version of the manual is AlmusVCU user manual 0.85 and
is available in PDF format. All documentation for the software is
contained in the manual; this webpage only serves as a brief
introduction, and a place to download from.
The manual contains the following chapters:
- Introduction. Presents the AlmusVCU software and
what it is capable of (in greater detail than on this webpage).
- Installation. Instructions for installation,
initial configuration and choice of hardware.
- Using AlmusVCU. A description of the user interface.
- The reverb engine. A detailed description of the
reverb engine found in AlmusVCU, how it works, and how it should be used.
- Ambiophonics tutorial. A tutorial for setting up
a full-featured Ambiophonics system using AlmusVCU as the processor.
- Ambisonics tutorial. A tutorial for setting up
a full-featured Ambisonics system built around AlmusVCU.
- Bass management tutorial. A tutorial for setting
up bass management for any type of configuration.
- Advanced configuration tutorial. A tutorial
showing the advanced configuration aspects of AlmusVCU, such as
setting up a hybrid system with switchable channel modes.
- Tips and tricks. Various tips and tricks for
using AlmusVCU.
- Developer information. Contains information on
filter program file formats and similar.
The following files are available for download:
If you have any questions just email me.
- Ambiophonics Institute website. http://www.ambiophonics.org.
The original Ambiophonics website.
- Ambisonic.net web site. http://www.ambisonic.net.
An enthuisast website which promotes Ambisonics.
- Linux Online website. http://www.linux.org.
Linux is a free Unix-type operating system originally created by Linus
Torvalds with the assistance of developers around the world.
- Free Software Foundation GNU General
Public License. http://www.gnu.org/copyleft.
One of the most common free software licenses. Its main
purpose is to make sure that the software is kept free and open
source.
- A. Torger BruteFIR. https://torger.se/anders/brutefir.html.
A generic convolution engine which employs the partitioned convolution
algorithm.
(c) Copyright 2002, 2004, 2006 - Anders Torger