A lot of time ago Robin Gareus created jackfreqd: a daemon that changes
the CPU frequency based on the jack DSP load. It used the 'userspace'
cpu scaling governor.
Then the newer CPUs appeared. The newer Linux kernel started using the
'intel_pstate' cpu scaling driver that supports a lot of features of
the new cpus, including turbo bust. CPU frequency raises automaticaly
when CPU is loaded and it returns back to the minimal value (usually
800mhz) when CPU is idle.
But when using jack audio connection kit with several application
threads, these threads are spreading across cpu cores, and cpu load is
not sufficient for required rasing cpu frequency. It causes XRuns and
the sound distortion.
Unfortunately, the intel_pstate driver does not provide the 'userspace'
governor required by jackfreqd. provides only two cpu scaling
governors: 'powersave' - cpu itself selectss the frequency to work at -
and 'performance, that locks CPU frequency at the hihest value
available for 100% load on all cores. Most of linux audio tuning guides
recommend to set governor to 'performance' all the time.
But there are some disadvantages of this solution.
1. The cpu frequency is high even this is not necessary.
2. It causes high CPU voltage that lowers the CPU time to live.
3. It is unable to achieve tfor he maximum frequency for single-core
load, that is usually higher then all cores. It may be not desirable if
the computer is not dedicated for audio tasks and there are some
single-thread applications that are preferred to run at the higest
The resolution of this chalange: to set the 'powersave' governor when
no jack audio alpplications are active and switch it to 'performance'
when jack DSP load is exceeds a configured threshold (50% by default).
The new version of jackfreqd makes this automatically when the
'intel_pstate' driver is active. It continues to use the old
'userspace' governor for elder drivers.
The sourcecode of jackfreqd is available at
Both rpm and source rpm packages are available rpm-based linux
distributions (I've tested it in Fedora 31).
I'd like to add it to the Planet CCRMA repository, but I couldn't find
any information how to add a new package there.
Once more we've decided enough is enough, time to crank out a proper
release, enter MusE 3.1!
As per usual, more years than we care to recount has passed since the last
one. And, as per usual a lot of things has been brewing during this time.
Among the bigger features since 3.0 is the inclusion of a Plugin cache.
This has two benefits, scanning of plugins are no longer done on a standard
startup, making the startup a lot faster. Also the scanning is done in a
separate process so no more crashes during startup due to issues with
Here is a short list of other prominent changes since 3.0:
* Metronome improved, a lot of new settings
- reawakened pre count!
- Auto-connect metronome to first audio output track.
* General plugins improvements
- Effect rack extended to 8 plugins instead of 4
- Generic plugin UI: Added 'Quirks' buttons to toolbar
* LV2 plugins
- Fix sequencing/syncing plugins (Helm, LV2 metronome, NoiseMak3r...)
- Rewrite of state/worker support and more, fixes several synths:
- Fix plugins using worker extension, such as *v1 suite (drumkv1 etc.)
- Removed ALL internal LV2 support. Too hard to maintain.
- Fixed LV2 X11 GUI size.
- MidNam support
* VST plugins
- Fix # 708: Surge-vst crashes.
- DSSI-VST was recently found to be working on recent kernels.
There's now a plugin tab for configuring the initialization of this support
from inside MusE
* LADSPA plugins
- Ladspa RDF (lrdf) support.
* A lot of UI changes for better consistency and usability, menus, toolbars.
* Many many under the hood changes for more consistency and lower cpu usage
in the editors
* Better support for HiDPI screens
* Lots and lots of new keyboard shortcuts and now a search field in the
shortcut dialog to make it easier to locate shortcuts also.
* Many many new vectorized icons
* More colors in UI customizable, including for stylesheets
* Settings dialog redesigned to make it easier to navigate.
* Double click on track ID selects all tracks of the same type
* Transport window slightly redesigned
* Improvements to midi timing
* Global cut/insert improvements, fixes crashes with markers
* Rewind on stop setting
Teasers for major improvements:
We have also some major improvements that have crept into the release but
still have some issues which make us not recommend using them quite yet.
* Realtime time-stretch and samplerate-stretch conversion. An embryo for
this functionality exist in the Wave editor, check out the new button on
the tool bar. Do consider it is not finished though.
* Latency correction / compensation. In the settings there is a new tab
with settings for latency compensation. Finally MusE can compensate for
delays in the audio chain to keep everything in sync. This feature is not
turned on by default as there are some nagging bugs that you need to be
aware of, see bugs:
- https://github.com/muse-sequencer/muse/issues/767 - looping audio does
- https://github.com/muse-sequencer/muse/issues/682 - midi note on the
start beat where you press play is not played
For the complete list of changes see:
The homepage has moved and undergone a much needed refresh, check it out:
Demos page: https://github.com/muse-sequencer/muse/wiki/Demos
spectmorph-0.5.1 has been released.
If you haven't watched our video tutorial for the instrument editor
added in 0.5.0, you can do so here: https://youtu.be/JlugWYPDp84
This release introduces statically linked generic 64 bit linux plugin
binaries, so even if the packages don't match your linux version, you
should be able to install these without compiling. This is a new
feature, let me know if it doesn't work for you.
Overview of Changes in spectmorph-0.5.1:
* Add new LFO modes (saw, square, random)
* Support generic 64-bit linux binaries
- new linux file selector (no longer needs Qt)
- ship font for static build
* Fix crashes caused by fftw planner being used from multiple threads
* Ported all python2 code to python3
* Support midi all notes off
* Implement LV2 StateChanged
* French translation for smjack desktop file (Olivier Humbert)
* Thread race fix (JP Cimalando)
* Minor fixes and cleanups
What is SpectMorph?
SpectMorph is a free software project which allows to analyze samples of
musical instruments, and to combine them (morphing). It can be used to
construct hybrid sounds, for instance a sound between a trumpet and a
flute; or smooth transitions, for instance a sound that starts as a
trumpet and then gradually changes to a flute.
SpectMorph ships with many ready-to-use instruments which can be
combined using morphing.
SpectMorph is implemented in C++ and licensed under the GNU LGPL version 3
Integrating SpectMorph into your Work
SpectMorph is currently available for Linux, Windows and macOS users.
Here is a quick overview of how you can make music using SpectMorph.
- VST Plugin, especially for proprietary solutions that don't support LV2.
(Available on Linux and 64-bit Windows/macOS)
- LV2 Plugin, for any sequencer that supports it.
- JACK Client.
There are many audio demos on the website, which demonstrate morphing
Stefan Westerfeld, Hamburg/Germany, http://space.twc.de/~stefan