Realtime GPU Audio
CowboyRobot writes "Two researchers at San Francisco State University has successfully implemented hardware acceleration for realtime audio using graphics processing units (GPUs). 'Suppose you are simulating a metallic plate to generate gong or cymbal-like sounds. By changing the surface area for the same object, you can generate sound corresponding to cymbals or gongs of different sizes. Using the same model, you may also vary the way in which you excite the metallic plate — to generate sounds that result from hitting the plate with a soft mallet, a hard drumstick, or from bowing. By changing these parameters, you may even simulate nonexistent materials or physically impossible geometries or excitation methods. There are various approaches to physical modeling sound synthesis. One such approach, studied extensively by Stefan Bilbao, uses the finite difference approximation to simulate the vibrations of plates and membranes. The finite difference simulation produces realistic and dynamic sounds (examples can be found here). Realtime finite difference-based simulations of large models are typically too computationally-intensive to run on CPUs. In our work, we have implemented finite difference simulations in realtime on GPUs.'"
Something to do with all those GPUs when ASIC mining of Bitcoin takes over. It's going to get noisy.
Yeah, you can do computationally heavy things in a GPU. We've done that for years. All this is saying is that some audio signal processing tasks are computationally heavy.
News at 11.
Imagine a metal cymbal shaped as a sphere with no holes in it floating free in the air. Now hit that cymbal with a mallet that is longer than the diameter than the cymbal. But hit the cymbal on the inside of the sphere. Oh and the interior of the sphere is a vacuum.
There you go, there are a few impossible geometries (and other things) in that scenario.
One of the fundamental problems with computer based music production is that we're still, unless we're working with synthesized music, limited to pre-recorded samples.
Vienna Symphonic Library, for example, is well over several hundred gigabytes in size, many of those samples covering various articulations (playing techniques) of the same instrument.
One set of violins playing legato. One set of violins playing pizzicato. Marcato samples etc. etc. With virtual instruments that is no longer necessary. We can just "tell" the virtual musician where to place his fingers and how to do that and cconfigure a bunch of presets for the composer to use as he wishes.
One fundamental problem at the moment is dealing with smooth transitions from one note to another in sequence. For example the violas of a real orchestra playing a transition from one note to another would slide between them smoothly. This CAN be simulated by changing the note pitch digitally, but that loses authenticity.
VSL solves this by pre-recording the musicians playing the most common note transitions. This is a huge undertaking and takes up a lot of space as you have to record C to C#, C to D, C to D# etc. etc.
If we can simulate the instruments without relying on samples we can do away with all that and create some truly amazing things for musicians. I suspect that in the future we will have synthesized orchestration packages so that we can do away with samples entirely.