Hi,
I was frustrated by the font sizes in Calf when used with a high
resolution screen. So, I made new styles with bigger font sizes
and I put them on github.
https://github.com/domichel/calf_big_styleshttps://github.com/domichel/calf_big_styles/archive/refs/tags/1.0.0.tar.gz
The only differences from the original styles are the font sizes.
To run 'make' will show you how to install them. If Calf was installed
into /usr, it should be as easy than
su -c "PREFIX=/usr make install"
The next time you run Calf, these styles will appear into the
preferences widget.
Enjoy,
Dominique
Calf Studio Gear: https://calf-studio-gear.org/
Hello all,
I get this error when starting any program using jack (1.9.22):
BDB2034 unable to allocate memory for mutex; resize mutex region
Cannot open DB environment: Cannot allocate memory
This occurs only after the system and jackd have been running for
a long time (weeks or months). Restarting jackd doesn't help,
a reboot is required.
I assume this is related to jackd using a Berkeley Database to
store optional application and port data.
I don't need this functionality, but there seems to be no option
to disable it. Also it seems that BDB is no longer maintained.
Any hints as to how to avoid this problem ?
Ciao,
--
FA
Hi,
I have just released python-alsa-midi version 1.0.2. The only change
since 1.0.1 is Python 3.11 support added.
python-alsa-midi provides pythonic bindings to ALSA MIDI – both
sequencer and rawmidi APIs. It allows Python programs to use most of
Linux MIDI functionality, without the limitations of the portable MIDI
libraries.
Greets,
Jacek
Hi all,
I just have released SoundTracker v1.0.4-pre2. Comparing to 1.0.4-pre1
it contains some bugfixes (including that for critical bugs) and minor
improvements.
SoundTracker download page:
https://sourceforge.net/projects/soundtracker/files/
Regards,
Yury.
Hi LAD,
I'm working on a (very simple) EQ-matching plugin and wanted to check my
understanding/approach and I also have a question. Here's what I do:
1. Analyze spectrum 1 using 50% overlapping blocks each windowed with a
Hann window followed by an FFT and then using the absolute value to get
the magnitude response of each block. Then finally I calculate the
average of all those magnitude responses.
2. Analyze spectrum 2 using the same approach as for spectrum 1
3. Calculate the bin-wise ratio of spectrum 2 / spectrum 1
4. Calculate a linear phase filter response by using the IFFT of the
aforementioned magnitude response ratio and then doing the ifftshift dance
5. Calculate a minimum phase filter response from the magnitude response
ratio by
taking the complex log followed by an IFFT, then folding the negative
time components onto the positive ones, followed by an FFT, complex
eponentiation and a final IFFT. In code:
f = IFFT(exp(FFT(fold(IFFT(log(s))))))
where s is the magnitude response ratio.
The code implementing this is found here:
https://github.com/fps/fps-plugins.lv2/blob/master/eq_match.h
The plugin using it is not done yet.
So here are my questions:
1. Are there any glaring oversights with this approach?
2. What is a sensible approach to regularize this approach. If spectrum
1 has any components near zero magnitude then the division is ill
suited. It works fine for my experiments with distorted guitars, but I
wonder whether I should e.g. just clamp the values of spectrum 1 to
something like -70 dB?
3. If the user wants to smooth the spectrum before calculating the
responses what would be sensible approaches? I thought about smoothing s
with a filter that has a varying bandwidth when expressed in FFT bins or
Hz, but constant, when expressed in e.g. octaves or decades. I'm not
sure how to do that though. Any thoughts?
To finish this email, here is one example (you can play them e.g. by
using mplayer on the console):
1. A guitar recording played through some distortion:
https://github.com/fps/fps-plugins.lv2/blob/master/input.wav?raw=true
2. The same guitar recording played through some distortion and then a
cabinet IR:
https://github.com/fps/fps-plugins.lv2/blob/master/output.wav?raw=true
3. The same guitar played through the recovered filter after matching 1
to 2:
https://github.com/fps/fps-plugins.lv2/blob/master/matched.wav?raw=true
Kind regards,
FPS
--
https://fps.io
spectmorph-0.6.0 has been released.
The new main features are:
- SpectMorph now provides a CLAP plugin.
- A filter with different filter modes was added.
- A new, more flexible modulation system was added.
- SpectMorph now provides visual feedback for modulated parameters.
Video Tutorial for 0.6.0: https://youtu.be/watch?v=scKrf0o6e6k
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
2.1 or later
Integrating SpectMorph into your Work
-------------------------------------
SpectMorph is currently available for Linux, Windows and macOS (Intel
and Apple Silicon), with CLAP/LV2/VST plugins. Under Linux, there is
also JACK Support.
Links:
------
Website: http://www.spectmorph.org
Download: http://www.spectmorph.org/downloads
There are many audio demos on the website, which demonstrate morphing
between instruments.
List of Changes in SpectMorph 0.6.0:
------------------------------------
#### New features
* New, more flexible modulation system
* Added filter with different filter modes
* Provide visual feedback for modulated properties
* Provide signed .pkg installers for macOS (Intel and ARM)
#### CLAP Plugin
* Provide CLAP Plugin
* Support for per-voice modulation
* Support timestamped modulation/automation events
#### LV2 Plugin
* Support LV2 on all platforms
* Fix crashes triggered by Carla (absolute_path/abstract_path returning
NULL)
* Support newer LV2 development headers
#### Minor Changes
* Support "Velocity" as modulation source
* Make pitch bend range configurable
* New Presets with filter: "Cheese Cake Bass", "Liquid Silver"
* Sort midi events by timestamp to workaround Bitwig bug
* Sliders now support shift+drag for fine editing
* Support for Apple Silicon
* Avoid crashes if XOpenIM / XCreateIC return NULL (#15).
* Fix statically linked plugin data directory location (works in flatpak
apps now).
* Add dockerized MXE builds for windows, bump compiler version to gcc-12.
* Bump minimum C++ standard to C++17
* Fix build on RISC-V (#13)
* Use GitHub CI for Linux, macOS and Windows
* Change license from "LGPL v3 or later" to "LGPL v2.1 or later".
* Minor fixes and cleanups
#### Internals: Properties
* Add generic property handling
* Simplify load/save/gui for properties
* Support modulatable properties using ModulationList
* Add gui for editing property value and ModulationList
* MorphPlan is no longer ref-counted, just one instance per Project
* Introduced MorphOperatorConfig objects for cleaner/faster parameter
updates
#### Internals: Filter
* Add two filter types: "Ladder" and "Sallen-Key" filter to output operator
* Integrated PandaResampler for SIMD 4x filter oversampling
* Support modulation with high time resolution for filter
#### Internals: UI Toolkit
* Support multiple update regions in UI toolkit
* Optimize drawing for UI toolkit
* Support "software sprites" for efficient visual feedback
* Map Ctrl+Left Click to Right Click on macOS
#### Internals: Optimizations
* Pass wav set pointers (instead of strings) to morph linear/grid/source.
* Avoid fmod() for phase truncation.
* Build using -ffast-math
* NotifyBuffer: fast dsp thread -> ui thread notifications (no malloc in
dsp thread)
* Avoid allocations in dsp thread in many cases (retrigger, noise
decoder process)
* Support optimized SIMD code on ARM (Apple Silicon), code from Peter
Johnson (#11)
--
Stefan Westerfeld, http://space.twc.de/~stefan