I try to squeeze as much performance as possible out of my upcomming
Linux synthesizer and try manual vectorization with following construct
in c, mainly to vectorize away multiplications :
typedef float v4sf __attribute__ ((vector_size(16)));
v4sf v __attribute__((aligned (16)));
float f __attribute__((aligned (16)));
On AMD 64bit Turion (single core) on 64 Studio in 64bit mode this doesnt
improve performance at all, actually it even get worse. Is GCC that good
at optimizing on its own? I have no access to Intel processors at the
moment but would love to know how to benefit from SIMD optimizations of
Sources on the web are rather thin...
media art + development
The NASPRO project (http://naspro.atheme.org) is partecipating to the
Google Summer of Code 2008 as part of the atheme.org project and is
looking for students who might be interested in doing some coding.
Here are a couple of project ideas:
http://wiki.atheme.org/SummerOfCode2008Ideas, but feel free to purpose
The deadline for application is quite near, so, if you want to
contribute, don't loose time.
I think this is a very good opportunity to showcase some of the latest
milestones in the linux audio realm. Do we have anyone in the vicinity who
might be able to help in manning the booth?
Ivica Ico Bukvic, D.M.A.
Dept. of Music - 0240
Blacksburg, VA 24061
(540) 231-5034 (fax)
> -----Original Message-----
> From: consortium-bounces(a)lists.linuxaudio.org [mailto:consortium-
> bounces(a)lists.linuxaudio.org] On Behalf Of Reinhard
> Sent: Saturday, March 29, 2008 3:23 PM
> To: consortium(a)lists.linuxaudio.org
> Subject: [Consortium] OpenExpo 2008 in Karlsruhe
> A friend of mine just showed me that there will be a german
> open source expo. I already wrote on the german linux audio
> board in case somebody wants to take part as a project (probably
> a booth).
> Unfortunately it is really close to the Berlin Linuxtag 2008,
> so it is probably mainly interesting for those living in the
> south of germany.
> As many audio developers and users live in south germany I hope that
> someone is willing to make an LinuxAudio/JackLab/Studio64 or whatever
> project booth.
> Kind regards,
> Reinhard Katzmann
> Software-Engineer, Developer of User Interfaces
> Project: Canorus - the next generation music score editor -
> GnuPG Public Key available on request
> Consortium mailing list
The buzztard team has released version 0.3.0 "a tale of ice and darkness" of its
buzz-alike music composer. All modules got extensive improvements over the last
release from almost a year ago. It is usable now and fun to play with. Give it a
try and report bugs.
Support for native machines. Better emulation. Can be build on 64bit x86.
Support for pre 1.2 buzz songs. Handle volume and panorama on wires. Several bug
Improvements in all areas. We now have native buzzmachine support and better
compatibility. The buzztard editor got an own pattern editor widget. The ui got
lots of keyboard commands. We have settings for default directories used. The ui
has dialogs for recording mix-downs and also single tracks.
Improvements on the preset interface. Support for sparse streams (GAP flag).
Sparse stream handling. Better compatibility. Bug fixes.
downloads : http://sourceforge.net/project/showfiles.php?group_id=55124
buzztard core developer team
Unfortunately the faust-0.9.9.4.tar.gz initially uploaded to sourceforge
was outdated. it should *not* be used.
A new up to date version, named faust-0.9.9.4b.tar.gz, has been
uploaded in replacement of the previous one.So please make sure that you
are using the new faust-0.9.9.4b.tar.gz.
Sorry for the inconvenience !
Thanks Kjetil for pointing the problem.
It seems that the tar.gz that I have uploaded is not the correct one !
It is not in sync with the cvs. I am investigating...
Kjetil S. Matheussen a écrit :
> On Thu, 27 Mar 2008, Yann Orlarey wrote:
>> Grame - Centre National de Creation Musicale - is pleased to announce
>> release of Faust 0.9.9.4.
>> * The Faust compiler and some of the architecture files have been
>> updated to
>> replace char* parameters by const char* when appropriate
> Thanks for the new release. It seems like you have forgotten to update
> module.cpp though. I get this noise for every compilation:
> /tmp/filelRWi5B.cpp: In member function 'virtual void
> /tmp/filelRWi5B.cpp:268: warning: deprecated conversion from string
> constant to 'char*'
> /tmp/filelRWi5B.cpp:269: warning: deprecated conversion from string
> constant to 'char*'
> Can you apply the attached patch?
Grame - Centre National de Creation Musicale - is pleased to announce the
release of Faust 0.9.9.4.
Faust AUdio STreams is a powerful and expressive functional programming
for realtime audio signal processing. The Faust compiler translates DSP
specifications into efficient C++ code.
A variety of platforms and plugin formats are supported. A single Faust
specification can be used to easily generate JACK and ALSA applications,
as LADSPA, MAX/MSP, PD, Q, SC and VST plugins. In addition to C++ code, the
Faust compiler can also generate SVG block-diagram representations as
To easily test Faust before installing it, please refer to
http://faust.grame.fr. The Faust distribution can be downloaded at
http://sourceforge.net/projects/faudiostream. Debian and rpm packages
available from Debian, Ubuntu, Planetccrma and Packman.
Please note that Faust can now also be used from within the CLAM 1.2
music application development framework (http://clam.iua.upf.edu/) and the
Snd-rt 0.8.9.13 realtime music programming environment
What's new :
* Syntax modification allowing unary operator - with identifiers (-x is now
* Parametric string can now contain the number of digits to use. In the
"line %2i" %2i will be replaced by the value of i using at least 2 digits.
* New fvariable declaration : possibility to declare an external C
* Redefinition of symbols is now considered an error instead of a simple
* New syntax highlighting for TextWrangler (Macintosh)
* snd-rt-gtk.cpp: a new architecture file to use Faust with snd-rt.
by Kjetil Matheussen)
* synthfile.cpp: a new architecture file to generate audio files
* osc.lib: a new oscillator library containing fast filter-based oscillators
(contributed by Julius Smith)
What's improved :
* new additions to filter.lib and effect.lib : Piano dispersion filter,
fifth-order fdelay5, notch filter, Second order transformer-normalized
waveguide resonator... (contributed by Julius Smith)
* Improved jack-gtk.cpp architecture file allowing to control the default
connexions and to run several instances of the same program (contributed
* Huge speedup of type inference system for complex expressions by using
memoization and recursiveness information
Bugs fixed :
* Bug correction in the type inference system of recursive expressions
* Better sharing of slow expressions appearing delayed
* Avoid division by zero and report error when block-diagrams with no
outputs are used in merge and split compositions
* The Faust compiler and some of the architecture files have been updated to
replace char* parameters by const char* when appropriate
We are grateful to Fons Adriaensen, Dominique Fober, Albert Graef, Kjetil
Matheussen, Julius Smith and all the contributors of this new release. Keep
sending us remarks, suggestions, bug reports and contributions.
We are glad to announce that 2008 summer is also going to be a Summer
of Code for CLAM . In other words, CLAM has been accepted as a
mentoring organization for the Google Summer of Code, a program that
offers student developers stipends of 4500 USD to write code for open
source projects .
We are looking for smart students who enjoy coding free software so that
they can earn some bucks for the summer. Last year, GSoC 2007 was a
very fun and productive experience and we are willing to repeat it. Take
a look at the CLAM GSoC 2008 wiki page for more information on how
to apply and some sample ideas for projects.
CLAM (C++ Library for Audio and Music) is a framework for research and
applications development in the audio domain. It offers a multi-rate
dataflow model suited for spectral processing, and a visual building tool
that allows to develop rapid prototypes without writing code. See the
CLAM web for more details and screenshots.
We are waiting for you!
Application deadline: March 31
If you have any question about any of the information below please
contact ask to clam-devel list or join the #clam channel at FreeNode
 GSoC FAQ: http://code.google.com/opensource/gsoc/2008/faqs.html
As (almost) everybody knows already, or ought to, Qtractor is an
Audio/MIDI multi-track sequencer application, written in C++ on the Qt4
framework and Linux is about its native platform. Thus, JACK and ALSA
are the main infrastructures that fit to purpose, respectively for audio
Also a known fact is that this is nothing more than my pet, hobby,
spare-time-burner, whatever project, but... it's actually my own dogfood
where digital music making and (re)creation matters. Yep. I still have
this sublime hope to make it evolve as a fairly featured Desktop
Audio/MIDI Workstation, one special and dedicated to the personal
homestudio. As joked many times before, it's perfectly tagged for the
techno-boy bedroom home-studio, but techno-girls can also apply ;). You
Qtractor 0.1.2 (frantic dame) is out!
As obvious as in any respectable easter egg ;)
This time, some important fixes have sneaked in and other are surely
popping and will be lurking out. Main ones go down like this:
* You can finally create new clips from scratch.
* Track record monitoring with audio effects applied.
* New Track/View menu items, all shortcut configurable.
* Overlapped clips rendering hopefully fixed.
* Improved MIDI editor selection.
* New clip-split command.
* VST plug-in parameters are now undo/redo-able (mostly).
You can grab the new stuff from the usual project site:
Direct download links:
Wait, please take a note: if you ever feel you're having something to
say, a heads-up call or just a direction to point, do not ever hesitate
in having your worries known upstream. Please, feel welcome at my
Now the plain change-log follows, since she was just a futile duchess:
- Session length fixed (yet again) while extend recording; also
improved follow-playhead switching while playback/recording.
- Whitespace sanitization gets leaner for all recorded filenames.
- Run-time SSE optimization detection has been improved while on
configure; additionally, IEEE 32bit float specific optimizations
have also sneaked in.
- SSE optimization is now featured over all audio monitoring, and
most specially on audio bus buffering, lowering the CPU burden a
bit while doing track and bus gain, pan, metering and mix-down.
- Fixed MIDI clip move into new track, preserving the original
channel, bank and program whenever possible.
- Fixed session cursor seeking, specially regarding overlapped
clips, once gain.
- The MIDI editor gets new menu access to current MIDI clip track
(see File/Track/Inputs, Outputs, Properties); selection of MIDI
events has also been improved, specially regarding overlapped
- Clip split command enters the stage (see Edit/Clip/Split) about
splitting the current (selected) clip at the current playhead
position (red cursor line).
- Creating new clips from scratch is now finally permitted (see
Edit/Clip/New...); additionally, the clip properties dialog is
now also allowing for changing the filename (and track/channel
as special to MIDI clips).
- Record armed tracks are now properly monitored and fed through
their own output audio bus on mix-down, which includes plug-in
- The files widget get alternating coloured rows.
- VST plug-in preset values are now being restored properly;
individual parameter changes are now being queued for the
also convenient undo/redo command pattern.
- Some audio clip buffer-sync tweaks have sneaked in, improving
and fixing the rendering of full-overlapped, integrally cached
and/or offset clips altogether.
- Stuffed one primordial shot on XInitThreads() at the main head,
and let native VST plug-ins start behaving as they should, or
not; this might be in fact problematic and dangerous for people
who won't ever try the JUCE based plugins as from JUCETICE
(http://www.anticore.org/jucetice), due to some broken locking
mechanism in xcb; thanks anyway to mighty kRAkEn/gORe@JUCETICE
for this precious hint and from who knows best.
- True deterministic session length update has due fixed.
- Track menu has new accessible actions:
Track/Inputs - show current track input bus connections;
Track/Outputs - show current track output bus connections;
Track/State/Record - arm current track for recording;
Track/State/Mute - mute current track;
Track/State/Solo - solo current track;
Track/Navigate/First - make current the first track;
Track/Navigate/Previous - make current the previous track;
Track/Navigate/Next - make current the next track;
Track/Navigate/Last - make current the last track;
Track/Move/Top - move current track to top;
Track/Move/Up - move current track up;
Track/Move/Down - move current track down;
Track/Move/Bottom - move current track to bottom;
- View menus have new accessible actions:
View/Zoom/In - horizontal and vertical zoom-in (Ctrl +);
View/Zoom/Out - horizontal and vertical zoom-out (Ctrl -);
View/Zoom/Reset - reset both zoom levels to default;
View/Snap - select current snap-per-beat setting;
- Plug-in forms don't auto-open on session reload anymore.
- Keyboard shortcuts icon item (Help/Shortcuts...) sneaks in.
That's all folks. For the time being... :)
Cheers && Enjoy
rncbc aka Rui Nuno Capela