Hello all,
Any experts on linear prediction here ?
During my current holidays in Greece, apart from SCUBA diving,
I've been reading up and doing a lot of simulations (in Python)
of algorithms related to linear prediction. This has been - I
must adimit - a gaping hole in my practical DSP experience up
to now.
Things work well, but there is one thing that remains strange.
It is usually said (see e.g. JOS) that the required order of
the prediction should be a bit higher than twice the number
of resonances (or formants for voice processing) in the signal
to be predicted. This makes sense as each resonance is in
essence a second-order process.
>From my experiments it seems that at a sample rate of e.g. 48 kHz
(indeed much higher than normally used to for speech processing),
a much higher order is required to model a low frequency formant
at e.g. 350 Hz.
What seems to happen at low order is that processing the prediction
error (residual) by the the synthesis filter produces and almost
perfect reconstruction of the input, but that the filter is
actually just doing the -6dB/oct slope above the resonance,
while the resonance itself remains in the residual.
So e.g. trying to move the formant by modifying the filter will
fail.
As far as I can see, a prediction order of around 50 is required
to correctly model a resonance at such low frequencies.
So my question now is this: is the rule mentioned above just
wrong, or am I missing something ?
Ciao,
--
FA
Hello all,
I have some mixed python/C++ packages, e.g. zita-audiotools
and zita-jacktools.
To install these I expect the following to happen:
1. The C++ parts are compiled and combined into a *.so
file which is a python extension.
2. The *.so and the python parts, any data etc. get
installed into the user's /usr/lib/python*.*/site-packages.
To make this as easy as possible I provide a setup.py and a
Makefile, so that all that should be required is:
make; sudo make install
Originally this used distutils, when that got 'deprecated'
this changed to setuptools. So until recently the Makefile
was something like:
----
PY = /usr/bin/python3
build:
$(PY) ./setup.py build
install:
$(PY) ./setup.py install
clean:
$(PY) ./setup.py clean
rm -rf build dist zita_jacktools.egg-info
---
Then I got warnings telling me that calling setup.py directly
is now also deprecated, and that I should use 'official tools'
to build and install. What exactly that means I was unable to
find out, but the following seems to work:
----
PY = /usr/bin/python3
build:
$(PY) -m build -w
install:
pip install --force-reinstall dist/*.whl
clean:
rm -rf build dist *.egg-info *~
----
But this still produces a warning:
> WARNING: Running pip as the 'root' user can result in broken
> permissions and conflicting behaviour with the system package
> manager. It is recommended to use a virtual environment instead.
Now clearly installing things in site-packages requires root,
so what is then the recommended method ?? And why the virtual
environment (which is used by build anyway) ??
If anyone can shed some light on this mess he/she will deserve
my eternal gratitude.
Ciao,
--
FA
XUiDesigner v0.7 released
A easy to use tool to generator/design X11 based LV2 plugins.
Beside that XUiDesigner allow to generate and install GUI's for existing
LV2 plugins, it support as well to generate LV2 plugins from scratch.
Special support is implemented for FAUST dsp files, which allow you to
generate a LV2 plugin with X11 based UI by just drag'n'drop a FAUST dsp
file into the XUiDesigner interface. This works now as well for MIDI
capable faust modules.
In any way, you don't need to interference with any of the annoying LV2
implementations. XUiDesigner handle that all for you.
The very same is true when you like to implement your own dsp (C or C++)
into a LV2 plugin. You could create the GUI interface, save the plugin
bundle, and implement the needed calls to init, activate and run your dsp.
This release comes with a couple of Bug-fixes and aims to be nearly stable.
Here is a introduction Wiki
<https://github.com/brummer10/XUiDesigner/wiki/XUiDesigner> entry to
show the first steps.
New in this release:
implement interim save format (json)
<https://github.com/brummer10/XUiDesigner/commit/8e94678ad5e1abde7c8d4dfae05…>
(Allow to load and rework the generated UI in XUiDesigner at any time)
Project page:
https://github.com/brummer10/XUiDesigner
Download Release:
https://github.com/brummer10/XUiDesigner/releases/download/v0.7/XUIDesigner…
Enjoy anyway.
DrumGizmo 0.9.20 Released!
DrumGizmo is an open source, multichannel, multilayered, cross-platform
drum plugin and stand-alone application. It enables you to compose drums
in midi and mix them with a multichannel approach. It is comparable to
that of mixing a real drumkit that has been recorded with a multimic setup.
This release was originally intended as a bugfix release, but quite a
few features also managed to find their way in.
Noteworthy bugs that has been fixed:
* Software regression error in cymbal choke code has been fixed. So
now choking of cymbals using both directed chokes and after-touch midi
events work again as expected.
* A compilation error due to an update in LV2 API (we used an
obsolete LV2 type) has been fixed, so now compilation should work for
everybody again.
* Code can now properly be compiled with NSL support disabled at
configure time.
* Compilation with the modern gcc-11 compiler has been fixed.
As usual read the detailed description of all the new shiny features,
see the detailed changelog: [1].
And now, without further ado, go grab 0.9.20!!! [2]
[1]: https://drumgizmo.org/wiki/doku.php?id=changelog:drumgizmo-0.9.20
[2]: https://drumgizmo.org/wiki/doku.php?id=getting_drumgizmo
_______________________________________________
Linux-audio-announce mailing list
Linux-audio-announce(a)lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-announce
There's something really weird going on there. Almost the entire range of audio
software is marked for removal in the package tracker! At the same time, it
looks like they're planning a code freeze in October - presumably for the next
release.
--
Will J Godfrey {apparently now an 'elderly'}
https://willgodfrey.bandcamp.com/http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.