Impromptu version 2.0 is now available for download - a major release with three significant architectural changes.
Changes
The new impromptu x86 compiler uses LLVM for backend code generation and supports runtime compilation of scheme functions to x86 machine code. In particular the compiler has been added to impromptu to support the efficient compilation of scheme code for data processing tasks such as image processing, audio signal processing and OpenGL.
The compiler is exposed at runtime through the sys:compile call which accepts a scheme closure and returns a foreign function which may be called freely from scheme. (help sys:compile #t) will give you a bunch of examples.
On-the-fly audio DSP programming is now supported directly within the impromptu scheme environment by allowing x86 code (i.e. compiled scheme code) to be hot-swapped into the kernel of a custom code AudioUnit. You may use one or more of these custom code audiounits anywhere in your audiounit chain – as both generators and or effects.
Code is hot-swapped into an AU kernel by passing a given scheme closure to the au:code:load function. There is also a mechanism for sharing memory between the AU and the scheme runtime. (help au:code:load #t) will give you a bunch of examples.
The primary motivation for the new GC is to provide greater performance with larger heap sizes, the company says.
v2.0 also adds support for Snow Leopard but is no longer provided as a Universal Binary. Intel only from v2.0 forward.
A brief screen-cast demonstrating the new on-the-fly audio functionality can be found at: www.vimeo.com/6096554.
- A new impromptu x86 compiler.
- Audio signal processing directly in Impromptu.
- A new concurrent garbage collector.
The new impromptu x86 compiler uses LLVM for backend code generation and supports runtime compilation of scheme functions to x86 machine code. In particular the compiler has been added to impromptu to support the efficient compilation of scheme code for data processing tasks such as image processing, audio signal processing and OpenGL.
The compiler is exposed at runtime through the sys:compile call which accepts a scheme closure and returns a foreign function which may be called freely from scheme. (help sys:compile #t) will give you a bunch of examples.
On-the-fly audio DSP programming is now supported directly within the impromptu scheme environment by allowing x86 code (i.e. compiled scheme code) to be hot-swapped into the kernel of a custom code AudioUnit. You may use one or more of these custom code audiounits anywhere in your audiounit chain – as both generators and or effects.
Code is hot-swapped into an AU kernel by passing a given scheme closure to the au:code:load function. There is also a mechanism for sharing memory between the AU and the scheme runtime. (help au:code:load #t) will give you a bunch of examples.
The primary motivation for the new GC is to provide greater performance with larger heap sizes, the company says.
v2.0 also adds support for Snow Leopard but is no longer provided as a Universal Binary. Intel only from v2.0 forward.
A brief screen-cast demonstrating the new on-the-fly audio functionality can be found at: www.vimeo.com/6096554.
Previous news item
PreSonus Studio One Pro & Artist
Next news item
Anil Chawla & Dale Anderson by Global Underground
Be the first to post a comment about this news item
Viewers of this article also read...
- Rent-to-own Ozone 9 and Neutron 3 together on Splice Splice has bundled iZotope’s latest software audio processors and offers them at a lower price through their rent-to-own program.
- Over 150 free software tools to make music Making music with your computer when you don't have a penny is possible. And to prove our point here you have 150+ free software tools many of which don't have anything to envy their paid counterparts.
- Over 150 free software tools to make music Making music with your computer when you don't have a penny is possible. And to prove our point here you have 150+ free software tools many of which don't have anything to envy their paid counterparts.