Hi,
I wrote a small plugin for spreading mono content to stereo and I would
like to receive some feedback on it from people more knowledgable in DSP
matters than me.
It has one nice property: It spreads the signal over the spectrum by way
of a conjugate pair of random phase all-pass filters, and since it's a
conjugate pair it sums back to unity when down-mixing to mono. So, no
ugly comb filter effects like when downmixing a Haas-expanded signal.
https://github.com/fps/stereospread.lv2
The page has an example sound..
How it works:
It's actually rather simple:
1. create a vector of random phases (matlab notation):
filter_length = 1000;
spread = pi;
hfft1 = exp(-1i*(spread*rand(filter_length,1) - spread/2));
And for the second filter just take the complex conjugate:
hfft2 = conj(hfft1);
This ensures that what is a phase theta in the first filter becomes a
phase of -theta in the second filter, and summed that just gives a phase
of 0.
2. Then assemble the coefficients such that it corresponds to a fft of a
real signal and do the inverse fft (possibly I have a small error here
which i needed to fix with the 'symmetric' flag in matlab):
f1 = ifft([1; hfft1; conj(hfft1((end-1):-1:1))], 'symmetric');
f2 = ifft([1; hfft2; conj(hfft2((end-1):-1:1))], 'symmetric');
3. The two IRs f1 and f2 implement the pair of filters and can be
applied via convolution (which the above plugin does).
It seems to be possible with little ill effect to reduce the length of
the filter down to a size of 50 samples or so by just cutting it off
before the convolution.
What do you think?
Kind regards,
FPS
--
https://dfdx.eu
liquidsfz-0.3.2 has been released
The main goal of liquidsfz is to provide an SFZ sampler implementation
library that is easy to integrate into other projects. A standalone jack
client and a LV2 plugin is also available.
liquidsfz is implemented in C++ and licensed under MPL-2.0. The release
tarball can be downloaded here:
https://github.com/swesterfeld/liquidsfz#releases
Overview of Changes in liquidsfz-0.3.2:
* Fix crashes triggered by Carla while saving without path
* Allow multiple overlapping notes during sustain (#38)
* Provide cross compiled LV2 plugin for Windows
* Use LV2_STATE__freePath if available (fixes LV2 on windows)
* Fixes for building on macOS and Windows
* Improve tests and CI checks
--
Stefan Westerfeld, http://space.twc.de/~stefan
Hi all,
This is a short announcement about a new release of
snd-firewire-ctl-services project.
After development for mostly three years[1], version 0.1.0 is released
today. If you have FireWire audio device and interests in ALSA support,
the release would be worth to check out.
* https://github.com/alsa-project/snd-firewire-ctl-services/releases/tag/snd-…
The project provides user space service programs to operate digital
signal processing function in devices supported by ALSA firewire stack.
If using such device, you can configure DSP functions such as the volumes
of device. For some device, effects such as dynamics and equalizers are
also configurable. Available devices are listed in README.rst of the
project.
The service programs work as 'message broaker'. ALSA control applications
are available for end-user interface to communicate to the service
programs[2]. The device connected to IEEE 1394 bus is the peer. The
service programs receives messages from both ends, then translates and
convert the messages to send to the opposite end.
Against your expectation, the project provides neither GUI programs nor
end-user interfaces. I know that the user experience is heavily on
look-and-feel on the GUI programs, while it is out of the aim of project.
I daily use quashctl in QasTools[3] and it is pretty good to me for such
ALSA control application.
If encountering any issue, please file it to github repository[4]. README
should be helpful to new users.
Thanks for your support and long patience to ALSA firewire stack.
[1] https://lists.linuxaudio.org/hyperkitty/list/linux-audio-dev@lists.linuxaud…
[2] For TASCAM FireWire series, ALSA sequencer application is such end as
well to operate control surface.
[3] https://gitlab.com/sebholt/qastools
[4] https://github.com/alsa-project/snd-firewire-ctl-services
Regards
Takashi Sakamoto
Hi,
worried about the daily life noise level? But you only want a bit -
silence? Then B.Silent is the virtual instrument to make your dreams
come true.
B.Silent is a unique MIDI instrument to produce silence in highest
quality. Choose between 8 hand-selected types of silence provided as
built-in presets to play silence in a never heard cleanliness. No
background noise, no distortion, no glitches, only pure silence.
Github: https://github.com/sjaehn/BSilent
Video: https://www.youtube.com/watch?v=6-8g2qBZhSI
Enjoy the silence!
Released April 1, 2023
Sven