planet.linuxaudio.org

August 03, 2020

The Linux-audio-announce Archives

[LAA] audiowmark-0.5.0 - Audio Watermarking

Hi!

audiowmark-0.5.0 is now available at https://uplex.de/audiowmark

Overview of Changes in audiowmark-0.5.0:

* support HTTP Live Streaming for audio/video streaming
* fix floating point wav input
* improve command line option handling (ArgParser)
* support seeking on internal watermark state

audiowmark is an open source solution (GPL3 or later) for watermarking
audio files. It has many features, it is robust, fast, secure and of
course we believe that the watermark is not audible for most users.

The project page provides the documentation and source code as well as
some audio demos, so you can check whether you hear a difference between
original and watermarked files.

   Cu... Stefan
-- 
Stefan Westerfeld, http://space.twc.de/~stefan

by stefan at space.twc.de (Stefan Westerfeld) at August 03, 2020 06:53 PM

July 31, 2020

KXStudio News

KXStudio Monthly Report (July 2020)

Hello all, another monthly report about the KXStudio project is here.
This actually covers June and July, since there was not much to tell during June.

So... first, for those that did not notice, there was quite a few linux/opensource-audio releases on July 15, for the Quarterly Release Pact.
The "Quarterly Release Pact" is an informal agreement between developers to do releases of as much software as possible on a common day.
This is a nice way to:

  • Keep the software in the public eye
  • Increase trust, as people see that the software is in development and is cared for
  • Increase motivation of the developers, as seeing a group working (by their releases) is a good way to push them to do something too
  • Engage in a kind of "Swarm Marketing": A small release does not have much impact and won't get featured often by news sites, but a whole group of software releases demands more attention.

I can speak for myself that the release day is a great motivator to push releases.
When such date is near, everything that has reached a certain point where a release is perhaps worth doing (but usually would be hold-off due to not being "perfect enough"), just gets released.
Because to be fair, there is no point on holding off a release for long periods of time.
If something really goes wrong, a quick bug-fix can be done, so why not. It is software, these things happen sometimes..

With that in mind, the DISTRHO-Ports and WineASIO projects got new releases.
I worked (with some help) to move the DISTRHO-Ports build system from the super-old premake3 build system to meson.
While irrelevant for users, it is very important for Linux distribution packagers because premake3 is simply no longer maintained (and thus not even installable in some cases).
The other changes were not really that substantial in my view, but why not release anyway?
As someone who has done a few packages myself, I can understand the pain of those that want to package something but have their work made difficult by this kind of problem.
(If all goes well, DISTRHO-Ports provided plugins will be installable as packages in the next Ubuntu version already!)

DISTRHO-Ports has been reworked in a way so that we can keep the existing plugins untouched, while adding/supporting new plugins made with JUCE6.
The "legacy" plugins will have LV2 and VST2 formats, while new ones will support LV2, VST2 and VST3.
I plan to write a tutorial on how to add a plugin to this project, so that other people than me can contribute.
This will increase the number of ported plugins drastically, as it does not have to wait on me to to do it. (I have a lot on my plate already..)
Once we have a good number of new plugins, or the next release day comes (in 3 months), you can count on yet another release! :)

Regarding The WineASIO, it was ready for release for some time, so I did the release in more of a "why not?" state.
You can read more about this release here, but in short, I am now maintaining the WineASIO project. :)
This is because the previous maintainer wished to step down doing so, and I was already fixing WineASIO for packaging in the KXStudio repositories anyway, which basically involves maintaining it.
It is important to note that it is really only maintaining the code (so that it keeps working on new Wine versions).
So there is not going to be any new features added to it, only bug-fixes.

In other news, Carla 2.2 Release Candidate 1 is out.
It was a bit more rushed than I wished for, with a late release because I had to fight with some macOS incompatibility issues.. but that should not happen too much in the future.
I already have in mind what to focus on for version 2.3, but I really hope that with this 2.2 release I can kinda already leave Carla a bit on the side (which was already supposed to have happened in version 2.1 by the way), because other projects really need my attention right now.
The final Carla 2.2 release is just siting on a timer now in a way.
My target is to make it available for Ubuntu 20.10, so I will fix whatever bugs I can until the time arrives for Ubuntu 20.10 package freeze. (So final release in October 2020)

Unrelated to the release pact now, I am working on automated builds for a few projects, learning along the way how that is usually handled.
This is not that useful for Linux users, because distributions can build and package up stuff quickly; it is more for macOS and Windows users for whom it is much harder to build stuff.
The automated builds will cover plugins (distrho-ports, dpf-plugins and more), Carla and even JACK.
It is not completely ready yet, but very, very close to done. Expect a few announcements regarding this in the coming weeks!

Something I need to mention... I know people have been asking about an ardour package update (in KXStudio repositories).
I will get to it eventually, yes, sorry for the delay.
Ardour is a different kind of build, so I need to find a nice way of handling it. (I want to repackage the official binary, as authors are ok with it)
Previously it was all very manual work, it is better to avoid that this time around.
My focus in the past few weeks has been on Carla and now the automated build setups, so packaging got put aside for now.

And speaking of packages, here is the list of updates and additions in regards to June and July 2020:

  • helio-workstation added
  • new-session-manager added, replaces non-session-manager
  • fluajho updated to 1.6.1
  • lsp-plugins updated to 1.1.24
  • mod-host updated to latest git
  • patroneo updated to 1.6.1
  • sequencer64 updated to 0.96.8
  • vico updated to 1.2.1
  • x42-plugins updated to 20200714
  • zam-plugins updated to 1.13

That is all for now, stay safe and sane out there!

by falkTX at July 31, 2020 08:56 PM

rncbc.org

The QStuff* Summer'20 Release batch #1

Greetings

Here goes the first bunch of QStuff*, QjackCtl, Qsynth, Qsampler, QXGEdit, QmidiCtl and QmidiNet, all bumped to version 0.6.3 while on this (Northern) Summer'20 season.

 

QjackCtl - JACK Audio Connection Kit Qt GUI Interface

QjackCtl 0.6.3 (summer'20) is out!

QjackCtl is a(n ageing yet modern, not so simple anymore) Qt application to control the JACK sound server, for the Linux Audio infrastructure.

Website:

https://qjackctl.sourceforge.io
http://qjackctl.sourceforge.net

Project page:

https://sourceforge.net/projects/qjackctl

Downloads:

https://sourceforge.net/projects/qjackctl/files

Git repos:

https://git.code.sf.net/p/qjackctl/code
https://github.com/rncbc/qjackctl.git
https://gitlab.com/rncbc/qjackctl.git
https://bitbucket.com/rncbc/qjackctl.git

Change-log:

  • Clock source and Self connect restriction options have been added to Setup / Settings / Advanced (only enabled when JACK D-BUS control interface is in effect).
  • Added preliminary support for JACK CV signal-type ports and JACK OSC event-type ports (Graph only).
  • Left-clicking on the system-tray icon now simply toggles the main widget visibility, disregarding if already hidden undercover to other windows.
  • Graph nodes and ports are now presented with some gradient background.
  • Fixed Setup dialog Cancel (or close) behavior when Settings > Parameters > Frames/Period (aka. buffer-size) it's the only setting that's changed.
  • Early fixing to build for Qt >= 5.15.0.

 

Qsynth - A fluidsynth Qt GUI Interface

Qsynth 0.6.3 (summer'20) is out!

Qsynth is a FluidSynth GUI front-end application written in C++ around the Qt framework using Qt Designer.

Website:

https://qsynth.sourceforge.io
http://qsynth.sourceforge.net

Project page:

https://sourceforge.net/projects/qsynth

Downloads:

https://sourceforge.net/projects/qsynth/files

Git repos:

https://git.code.sf.net/p/qsynth/code
https://github.com/rncbc/qsynth.git
https://gitlab.com/rncbc/qsynth.git
https://bitbucket.com/rncbc/qsynth.git

Change-log:

  • Left-clicking on the system-tray icon now simply toggles the main widget visibility, disregarding if already hidden undercover to other windows.
  • Early fixing to build for Qt >= 5.15.0.

 

Qsampler - A LinuxSampler Qt GUI Interface

Qsampler 0.6.3 (summer'20) is out!

Qsampler is a LinuxSampler GUI front-end application written in C++ around the Qt framework using Qt Designer.

Website:

https://qsampler.sourceforge.io
http://qsampler.sourceforge.net

Project page:

https://sourceforge.net/projects/qsampler

Downloads:

https://sourceforge.net/projects/qsampler/files

Git repos:

https://git.code.sf.net/p/qsampler/code
https://github.com/rncbc/qsampler.git
https://gitlab.com/rncbc/qsampler.git
https://bitbucket.com/rncbc/qsampler.git

Change-log:

  • Early fixing to build for Qt >= 5.15.0.

 

QXGEdit - A Qt XG Editor

QXGEdit 0.6.3 (summer'20) is out!

QXGEdit is a live XG instrument editor, specialized on editing MIDI System Exclusive files (.syx) for the Yamaha DB50XG and thus probably a baseline for many other XG devices.

Website:

https://qxgedit.sourceforge.io
http://qxgedit.sourceforge.net

Project page:

https://sourceforge.net/projects/qxgedit

Downloads:

https://sourceforge.net/projects/qxgedit/files

Git repos:

https://git.code.sf.net/p/qxgedit/code
https://github.com/rncbc/qxgedit.git
https://gitlab.com/rncbc/qxgedit.git
https://bitbucket.com/rncbc/qxgedit.git

Change-log:

  • Early fixing to build for Qt >= 5.15.0.

 

QmidiCtl - A MIDI Remote Controller via UDP/IP Multicast

QmidiCtl 0.6.3 (summer'20) is out!

QmidiCtl is a MIDI remote controller application that sends MIDI data over the network, using UDP/IP multicast. Inspired by multimidicast (https://llg.cubic.org/tools) and designed to be compatible with ipMIDI for Windows (https://nerds.de). QmidiCtl was long ago designed for the Maemo enabled handheld devices, namely the late Nokia N900 and promoted to the Maemo Package repositories. Nevertheless, QmidiCtl may still be found effective as a regular desktop application and recently as an Android application as well.

Website:

https://qmidictl.sourceforge.io
http://qmidictl.sourceforge.net

Project page:

https://sourceforge.net/projects/qmidictl

Downloads:

https://sourceforge.net/projects/qmidictl/files

Git repos:

https://git.code.sf.net/p/qmidictl/code
https://github.com/rncbc/qmidictl.git
https://gitlab.com/rncbc/qmidictl.git
https://bitbucket.com/rncbc/qmidictl.git

Change-log:

  • Early fixing to build for Qt >= 5.15.0.

 

QmidiNet - A MIDI Network Gateway via UDP/IP Multicast

QmidiNet 0.6.3 (summer'20) is out!

QmidiNet is a MIDI network gateway application that sends and receives MIDI data (ALSA-MIDI and JACK-MIDI) over the network, using UDP/IP multicast. Inspired by multimidicast and designed to be compatible with ipMIDI for Windows.

Website:

https://qmidinet.sourceforge.io
http://qmidinet.sourceforge.net

Project page:

https://sourceforge.net/projects/qmidinet

Downloads:

https://sourceforge.net/projects/qmidinet/files

Git repos:

https://git.code.sf.net/p/qmidinet/code
https://github.com/rncbc/qmidinet.git
https://gitlab.com/rncbc/qmidinet.git
https://bitbucket.com/rncbc/qmidinet.git

Change-log:

  • Early fixing to build for Qt >= 5.15.0.

 

License:

All of the Qstuff* are free, open-source Linux Audio software, distributed under the terms of the GNU General Public License (GPL) version 2 or later.

Enjoy && Have fun!

by rncbc at July 31, 2020 07:00 PM

July 30, 2020

digital audio hacks – Hackaday

Aesthetic DIY Bluetooth Speakers

DIY Bluetooth speaker projects are always a staple here at Hackady. In our latest feature of DIY audio builds, we have [Patrick’s] vinyl cylindrical speaker.

He found a pretty inexpensive Bluetooth audio amplifier on AliExpress. However, the amplifier module oddly enough had a few missing components that were critical to its operation, so he had to do a little bit of re-work. Not something you generally expect to do when you purchase a pre-made module, but he was certainly up to the task.

He noticed the board amp module was missing a battery protection circuit even though there was space on the board laid out for those components (maybe an older board revision?). To remedy this problem, he added his own battery protection circuit to prevent any unwanted catastrophes. Secondly, he noticed a lot of distortion at high volumes and figured that some added capacitance on the power supply would help fix the distortion. Luckily, that did the trick.

Finally, and not quite a mistake on the manufacturer’s part this time, but an improvement [Patrick] needed for his own personal use. He wanted the amp module’s board-level LED indicator to be visible once the enclosure was fitted around the electronics. So, he used the built-in status trigger as a digital signal for a simple transistor circuit powering a much brighter ring LED that could be mounted onto the enclosure. That way, he could utilize the firmware for triggering the board-level status indicator for his own ring LED without any software modifications to the amp module.

Now, all that was left was to construct the enclosure he had 3D-printed and fit all the electronics in their place. We’ve gotten pretty used to the always impressive aesthetics of [Patrick’s] designs, having covered a project of his before, and this build is certainly no exception. Great job!

While you’re here, take a look at some other DIY Bluetooth speaker projects on Hackaday.

 

by Orlando Hoilett at July 30, 2020 11:00 PM

Midichlorians in the blood

VMPK: MIDI by Network

This is only a quick and dirty article to link to the MIDI by Network page in the VMPK Wiki. It explains the basic concepts about ipMIDI and how to use it with VMPK.

The Wiki has also pages about the VMPK developing environment using Qt Creator and CMake.

by Pedro (noreply@blogger.com) at July 30, 2020 06:19 PM

July 29, 2020

The Linux-audio-announce Archives

[LAA] Mamba - Virtual Midi keyboard for Jack Audio Connection Kit release 1.1

Hi

Mamba release v1.1 is out

Mamba - Virtual Midi keyboard

https://github.com/brummer10/Mamba


Mamba features

  * Virtual Midi Keyboard for Jack Audio Connection Kit
    
  * including NSM 
    support
  * Channel selector
  * Bank and Program selector
  * Keyboard mapping for qwertz, qwerty and azerty selectable from menu
  * PC Keyboard mapping selector from C0 to C4
  * Pitchbend, Balance, Modwheel, Detune, Expression, Attack, Release,
    Volume and Velocity controllers
  * Sustain and Sostenuto switches
  * Midi Through: forward midi input to output
  * Midi input highlighting
  * resizable to a full range 127 key view
  * Midi live recording and looping


Mamba is released under the 0BSD license

regards

hermann

by brummer- at web.de (Hermann Meyer) at July 29, 2020 05:36 AM

July 22, 2020

News – Ubuntu Studio

Major Backports Update

For those of you using the Ubuntu Studio Backports Repository, we recently had a major update of some tools. If you’ve been using the Backports PPA, you may have noticed some breakage when updating via normal means. To update if you have the Backports PPA enabled, make sure to do... Continue reading

by eeickmeyer at July 22, 2020 07:38 PM

July 18, 2020

KXStudio News

Carla 2.2 RC1 is here!

Hello again everyone, it is release day! (casually late again, but only 3 days late this time, yay progress!)

This is the announcement of the first release candidate of Carla 2.2.
Carla is a fully-featured cross-platform audio plugin host, which itself can also run as a plugin.
As done with 2.1, there is no beta release for v2.2 and we are going straight into a release candidate.

Contrary to previous releases, there were not many graphical changes this time, but lots of stuff under the hood.
One very important note for developers is that the "native" API to access carla as plugin (as used by LMMS) is still ABI and API-wise backwards compatible with 2.0, but the ABI and API of Carla as a library is not.
This is because all host functions now have a "handle" prefix, so they can be reused for standalone, plugin and other variants.

Now with that said, let's go through what's new, first the bigger changes and smaller stuff for last.

settings

Multi-Client + multi-instance improvements

In order to allow multiple instances of Carla to work without conflicts, proper JACK multi-client multi-instance support was implemented.
What this means is that you can have a name prefix for all plugins when in JACK multi-client mode, so that it is easier to understand where a plugin belongs to.

Starting with v2.2, extra Carla instances will get a dedicated JACK client name suffix.
On projects created with v2.2 and above, Carla will know which saved connections belong to which plugins, making it possible to load a session correctly where multiple Carla instances are involved.

As a way to make this easier to manage and control, a new command-line argument was added, "--cnprefix=...".
So now you can have a dedicated Carla instance that has its created JACK clients more globally recognisable.

Also, when Carla runs under NSM, the JACK client name prefix is set automatically (coming from NSM).
This is not enabled when loading pre-2.2 projects though, in order to keep backwards compatibility.


settings

Linux VST3 plugin support

As new VST2 plugins can no longer be officially licensed and VST2 is very, very, very slowing being phased out, it is important to have VST3 support.

So now you can now scan and load Linux VST3 plugins under Carla. It is no longer limited to macOS and Windows.

Worth noting is that this is not a custom implementation, but leveraging JUCE VST3 host support on Linux. It recently got supported as part of their JUCE6 update. There are no plans for a custom implementation at this point.


Small UI/UX improvements all around

settings

The built-in keyboard right-click menu got a bit better.
Everything is presented in a single menu, no more sub-menus are used.

settings

The plugin built-in editor dialog now shows the currently mapped parameter type+value directly.
No more clicking around needed to find out what the parameter is mapped to.

settings

MIDI learn implemented, triggered via parameter mapping menu.
Note that this is per plugin, not global, due to how Carla handles each plugin individually.

Other "quality of life" improvements:
  • Added a 12400x9600 canvas size
  • Added a 2x and 4x canvas image export mode
  • Added a menu action to save current Carla canvas as image in the clipboard
  • Added "Send MIDI notes" option to plugin built-in editor dialog
  • Canvas positions are now always saved and restored, including in the plugin version
  • Canvas positions are kept in sync across multiple Carla JACK instances and even Carla-Control
  • Built-in plugin edit dialog tab state is kept when parameters are reloaded
  • Implemented NSM "optional-gui"
  • Plugin custom GUI Window title changes dynamically when renamed

Other notable changes

  • Added a "carla-osc-gui" script that starts a Carla instance in the background and connects to it using OSC.
    Closing the GUI does not close the engine, and it can be run again to reconnect later on.
  • Always use maximum amount of channels for VST2 plugins
  • Better handle the case of JACK server stop (or killed)
  • Better implementation of LV2 state path, now saving files in the same directory as the Carla project
  • Changed the way plugins are deleted, so they are now safely deleted only when no longer in use
  • Implement MIDI CC and CV source parameter changes for bridges
  • Improve the (still experimental) JACK-apps-as-plugins implementation, now mapping show/hide gui to NSM commands, sending arbitrary MIDI events and making it work on more systems
  • Increase max value of the internal LFO plugin, so we can get reeeeeeeal slow
  • Raise limit of plugins that can be loaded (512 default, 64 in rack)
  • Tweaks for automatically converting internal Patchbay mode projects in JACK multi-client mode and vice-versa
  • Working HaikuOS build, but no audio support yet

Many other bug-fixes and small under-the-hood improvements (too many to list here).
See the git log for the full list of changes.

Notes for users

When using JACK, the newly added features around the canvas require at least JACK v1.9.13.
This is because Carla relies on JACK meta-data in order to store information about each plugin/client, and meta-data was only added to JACK2 in version 1.9.13.
Alternatively, you can use JACK1 instead of JACK2, which has meta-data support since a long time.

The code for scanning plugins had a little rework yet again, making some internal data structures change.
Because of this, a full rescan of your plugins is needed after the update.
This should fix previously missing plugins that happened in v2.1.

Downloads

To download Carla binaries or source code, jump on over to the KXStudio downloads section.
If you're using the KXStudio repositories, you can simply install "carla-git" (plus "carla-lv2" and "carla-vst" if you're so inclined).
Bug reports and feature requests are welcome! Jump on over to the Carla's Github project page for those.

Final note

Just a reminder that this is a release candidate, and not the final release yet.
I did my best to fix all issues that I was able to reproduce, but some can still happen.
Please let me know if find any, thanks!

by falkTX at July 18, 2020 07:31 PM

blog4

Lightning talk on 3D Engines in Steiners art

My lightning talk from this years AMRO conference, among others, about my usage of 3D Engines in my art, from humble beginnings with VRML in the 90s via custom OpenGL software to Unity and Godot. Plus a bit discussion on current state of media art.
https://dorftv.at/video/33557

by herrsteiner (noreply@blogger.com) at July 18, 2020 04:48 PM

July 16, 2020

digital audio hacks – Hackaday

Ljusmaskinen Takes the Rave to the Streets (Eventually)

When humanity comes out the other side of this pandemic there will be a mountain of awesome projects to show off in person. For instance, this backpack mounted DMX lighting was built to be worn as a mobile rave rig by Swedish hacker [Tim Gremalm]. In-person raves aren’t happening right now but that just means there’s time to add waaaaay to many features to this thing until lockdowns become a thing of the past.

The frame holding the lighting integrates into this backpack and we assume that’s where the battery is stored. The Y-shaped masts hold four PAR lights. Incidentally, that mean parabolic aluminized reflectors, which are commonly used for stage lighting, but in this case the halogen bulbs have been torn out for a trio of 4 W RGBW LEDs. The yellow rectangles are 10 W Chip-on-Board LED panels that serve as strobe lights.

But merely having the lights does not make it a Rave — this party needs both music and a way to synchronize the lighting effects with it. The music part was already built and used at the West Pride Gothenburg festival (the second largest in Sweden after Stockholm) five years ago. That project, called Festmaskinen, works in conjunction with Ljusmaskinen (the Light Machine). So two people carry the rave on their backs, one with music, the other with the lighting, now that’s a party!

The light controller board uses a set of four Arduino Nano boards along with four voltage regulators to provide control to each of the PAR lights. All of it is stitched together by control from a DMX input board which also controls the COBs. (In this image the DMX board is hidden below the light control board.) Of course you need something that can process the audio and turn it into DMX512 to bring those lighting animations to life and for that he reached for a Raspberry Pi.

[Tim] has a quick demo of the rig at work which we’ve embedded below. What we’re missing is seeing how the top-heavy structure handles when worn as a backpack. Hopefully he’ll be able to get out of his low-ceilinged home and let the stage lights fly before too long!

by Mike Szczys at July 16, 2020 11:00 PM

News – Ubuntu Studio

Ubuntu Studio 19.10 Support Ends Tomorrow!

Ubuntu Studio 19.10 (Eoan Ermine) was released October 17, 2019 and will reach End of Life on Friday, July 17, 2020. This means that after that date there will be no further security updates or bugfixes released. We highly recommend that you update to 20.04 LTS immediately if you are... Continue reading

by eeickmeyer at July 16, 2020 04:18 PM

JACK Audio Connection Kit News

JACK-Session has been marked as deprecated

A small heads-up for developers, JACK-Session API has now officially been marked as deprecated.

I have been working together with other members of linuxaudio community to get a better session-management API out there. We previously had difficulties with this due to issues regarding the upstream project. It was obvious to us that the NSM API is superior to all others that came before it (thanks to the initial hard work of its author, Jonathan), but working with upstream has proven immensely difficult or even impossible..

As of a few weeks ago, a few members of the linuxaudio group decided to fork the original NSM project and make a new one. The acronym remains, so we still call it “NSM”, but the new project is now “New Session Manager” while the original is “Non Session Manager”. We are working together with the community to make this session-management API and tools the best as they can be. (The original was a bit lacking on the user-experience side of things..)

You can find more about the “New Session Manager” project here. This includes links to the source code, bug/issue tracker and documentation.

Please give it a look, or better, a chance. For now it is specific to POSIX systems like Linux and BSD, but it can be extended in the future. If we manage to make (Audio) Session Management really work in Linux, that is already a big step up from other tools/APIs that came before it.

We recommend all JACK application developers to implement NSM in their software. Thank you.

by falkTX at July 16, 2020 12:01 PM

July 08, 2020

Ardour 6.2 is released

Ardour 6.2 is now released. This is primarily a maintenance release, containing a few dozen bug fixes and a couple of new features. MIDI Clock is now working better (both as a source and for transport control). Reverse MIDI playback works again, as does opening files from the macOS Finder, and some audible blips when changing transport state are now gone. There’s a new “Recent Plugins” panel in the mixer, complete with statistics about plugin use. There a couple of new control surfaces with support, and updated translations for 5 languages.

For more details, please read the whole release announcement.

Download as usual from https://ardour.org/download

And to clarify, there was no 6.1 release.

20 posts - 13 participants

Read full topic

by Paul Davis at July 08, 2020 07:25 PM

July 06, 2020

GStreamer News

GStreamer Rust bindings 0.16.0 release

A new version of the GStreamer Rust bindings, 0.16.0, was released.

As usual this release follows the latest gtk-rs release.

This is the first version that includes optional support for new GStreamer 1.18 APIs. As GStreamer 1.18 was not released yet, these new APIs might still change. The minimum supported version of the bindings is still GStreamer 1.8 and the targetted GStreamer API version can be selected by applications via feature flags.

Apart from this, new version features mostly features API cleanup and the addition of a few missing APIs. The focus of this release was to make usage of GStreamer from Rust as convenient and complete as possible.

The new release also brings a lot of bugfixes, most of which were already part of the 0.15.x bugfix releases.

A new release of the GStreamer Rust plugins will follow in the next days.

Details can be found in the release notes for gstreamer-rs and gstreamer-rs-sys.

The code and documentation for the bindings is available on the freedesktop.org GitLab

as well as on crates.io.

If you find any bugs, notice any missing features or other issues please report them in GitLab.

July 06, 2020 02:00 PM

GStreamer 1.17.2 unstable development release

The GStreamer team is pleased to announce the second development release in the unstable 1.17 release series.

The unstable 1.17 release series adds new features on top of the current stable 1.16 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework.

The unstable 1.17 release series is for testing and development purposes in the lead-up to the stable 1.18 series which is scheduled for release in a few weeks time. Any newly-added API can still change until that point, although it is rare for that to happen.

Full release notes will be provided in the near future, highlighting all the new features, bugfixes, performance optimizations and other important changes.

The autotools build has been dropped entirely for this release, so it's finally all Meson from here on.

This development release is primarily for distributors and early adaptors and anyone who still needs to update their build/packaging setup for Meson.

On the documentation front we have switched away from gtk-doc to hotdoc, but we now provide a release tarball of the built documentation in html and devhelp format, and we recommend distributors switch to that and provide a single gstreamer documentation package in future. Packagers will not need to use hotdoc themselves.

Instead of a gst-validate tarball we now ship a gst-devtools tarball, and the gstreamer-editing-services tarball has been renamed to gst-editing-services for consistency with the module name in Gitlab.

Packagers: please note that plugins may have moved between modules, so please take extra care and make sure inter-module version dependencies are such that users can only upgrade all modules in one go, instead of seeing a mix of 1.17 and 1.16 on their system.

Binaries for Android, iOS, Mac OS X and Windows are also available at the usual location.

Release tarballs can be downloaded directly here:

As always, please let us know of any issues you run into by filing an issue in Gitlab.

July 06, 2020 01:00 PM

June 28, 2020

linux-audio « WordPress.com Tag Feed

How do I prepare Manjaro KDE for audio production?

How do I do that? I have a fresh Manjaro installation and we’re going to go for the process of configuring, the system and installing all necessary packages making sure it works good and then installing all the software that you might need for a music production, all the doors or the plugins.

And that sort of thing, and I’m going to show you where to get this and how to install it, how to later update it, etc. So you’ve just logged in for the first time into your new system and there’s a few things I want to do. The first thing might be a little bit strange to you, but the first thing I ever do is configure backups. So let’s open a program called time shift. Now it’s not installed, so we have to install time shift now.

Something I really like about Manjaro is that it has a drop-down terminal installed by default. So if you just press f12, you get this terminal, you can press shift, +, alt, +, arrow keys, right, arrow, key and down arrow key to make it bigger, and I usually like to have it much bigger. We can also make the font bigger if we just use ctrl + my mouse wheel, and this is going to be much easier to to follow.

I hope alrighty. So we need to install time shift, but first we need to update our package list so pac-man, which is the package manager s and Y. This will go into in update all the package information but of course we need to use sudo so sudo and I can now type exclamation points and that’s going to execute the previous command with prefix. So that’s going to execute pseudo pac-man s. Why? Now? I’m going to type in my temporary password, which is one two three four and let’s let it run and everything is up to date great now we can install time shift so I’m going to go sudo pac-man s, time shift.

This is going to install a package called time shift and all its dependencies proceed with installation. I just press ENTER and it’s default. Yes, it’s going to download some packages and time shift is installed. Now I can press f12 to hide the terminal. We can also close this hello dialogue. Now I can open my main menu and type time, and you see there is time shift a system restore utility. Now we need to give it our administration password that you’ve set during installation and during first run time shift, is going to ask you to configure how it’s going to do its job.

Now, if you have installed your system using ext4, filesystem you’re going to have to use our sink, which is the default option, this is simpler and but it takes longer to do. I have installed Manjaro using Manjaro architect and I’ve installed it on a btrfs filesystem. So I can use the very fast snapshot functionality of btrfs to create and restore these snapshots nearly instantly. So I’m going to select btrfs, you can also open help and read up about them.

Now we have to choose the file system, we’re going to store the backups on. We have one file system present in this in this laptop, it’s the main file system. So we don’t have to do anything now. We can configure a snapshot schedule by default. Time shift is going to do five daily backups, I’m going to disable that, because I want to be using time shift only to do manual snapshots when before upgrading my system, let’s go next this, let’s leave this enabled, and now we can include the user home directory.

What this means is everything in our home user directory will also be included in the snapshot. That means our documents. I want to use time shift only to store the system state, so I’m going to leave this off, but if you want to also include your documents, projects and everything, you can click this and it will back up everything, let’s press next and the setup is complete. I can now click finish: let’s create our first snapshot.

What you got to do is just click create now on btrfs. This takes no time at all. If you want to delete a snapshot, just use this delete button. If you were to roll back to that snapshot, we just press restore it’s as simple as that. We can also browse the selected snapshot files to retreat, something that was previously on our disk. But it’s not isn’t there anymore. Ok, this article is not about time shift.

Let’s get going now, I want to make sure octopi is installed and you can see it is, but in some previous versions of Manjaro it was not installed by default. So if you would like to install octopi, you would go to your terminal window and we can clear it and you can type sudo pac-man s. Octo P, give it your administration password, and indeed there is an update to be installed for that program. Let’s go ahead and do that all right.

What actually we want to do is update the system in its entirety, so I’m going to clear it the terminal and I’m going to run sudo pac-man, big s, small Y and small. U this command will update our system. Basically check if there is anything to update and it will update everything. This is an important thing on Manjaro, which is based on arch linux, as arch. Linux is a rolling release distribution.

That means there are no frozen states like with Ubuntu’s. You know different trees like 1404 or 1909 or who knows what 1909 oh, and then you update packages for the versions supported by this version of the system. No on arch based Linux distributions, like Manjaro, you are always on the bleeding edge, so you often will be required to update all your system packages now there is not much to update, because I have actually updated it during installation.

Another tool we’re going to need to install extra software is called yay yay, and it’s going to give us access to so called arch user repository, which is a collection of user created. Pk builds. These are scripts that get sources or binary packages from the internet and either build these sources or build packages from the binary files and install them to your system. There is pretty much everything you could ever imagine or want in the arch user repository, so we’re going to need that for some really bleeding-edge versions of our software or plugins that are not in the usual repositories.

So let’s go sudo pac-man s yay! Now you can see that I already had ya installed and that’s because I have chosen to have it installed during installation when I used Manjaro architect. But if you do a regular installation for the graphical installation program, you’re not going to have that option. So you will need to install yourself. The next thing we need to take care of is the jack on your server.

It’s pretty much the workhorse that’s going to hold all our audio work together. So, let’s just see if we have Jack installed, let’s go which Jack D and you can see we have Jack installed, but we want to make sure it’s the correct version. So I’m going to just make sure that Jack two is installed. I don’t use Jack one because Jack one is not multi-threaded and modern computers have at least two cores.

So it’s a shame not to use them for your DSP. From what I see here, Jack one doesn’t have any cool features at all: let’s go sudo pac-man s Jack and now you can see we have jacked installed so by default. Manjaro has supplied it with Jack 1, but we want Jack to do you want to remove Jack. I do so. We want to replace Jack 1 with Jack. Yes now. This is a very important step because if I have gone and installed other software depending on the jack replacing that package later would be quite problematic, because I would have to uninstall all the software that needs Jack audio server.

Then I could remove the jack 1 a package and then install Jack, and I would have to reinstall again all the software installed. On top of that now we are sure we are running Jack, so we can go ahead and install other things and the other thing I’m going to install is cadence sudu pac-man s. Cadence cadence is basically a control panel for production, audio work. Okay, we have cadence installed, let’s hide our terminal and let’s find it cadets.

Yes, it’s a jack toolbox, let’s open cadence and we can see. We have a yellow sign here, which says we have a non real-time kernel and with the user is an audio group. We’re going to check that soon, let’s see what we can do in the configuration the driver, we want to use alsa and yes, this is the analog interface, okay, fine, and we need to use real-time priority. Indeed, to up our performance, we can move the real-time priority up and now, if we try to do that, the jack server is started, but I’m going to stop it for now and first make sure we have other things configured properly.

So a one important thing for using Jack and Jack dependent applications like our door is to make sure that your user is allowed to use real-time scheduling in the system, and this is done with the use of so called audio group. So we can type in a command called groups and that’s going to show us what user groups our user is in and we can see it is actually in the audio group. But we need to make sure that the only group is properly configured so that it has the privilege to use the real-time scheduling that the jack server needs to do that, I’m going to go to a directory called etc’ security.

I’m going to list the files in there you can see there is limits, conf and limits dot D. This is a monolithic configuration file and this is a directory containing smaller files, which can be which are concatenated to produce the complete configuration I’m going to go into the limits, dot, d directory and list. What’s there you can see, there is something, let’s, let’s type less and ten and see what it is: their users mem, lock, 2024.

Ok, there is nothing here. Let’s go up, let’s now type nano limits, conf and I need to prefix that command with sudo. So this is run as administrator’. Nano is a text editor and limits. Conf is the file we want to edit and that’s the contents of the file. Now, let’s see if the audio group is mentioned here, let’s press ctrl W, which stands for where and now I can type audio audio is not found. That means our audio group is created in this system and our user has been added to it, but it doesn’t really have the privileges that we need.

So let’s go down to the end of the file and specify the privileges for the audio group. Let’s type a hash which starts a commented line and this is going to be ignored and now I’m going to type at audio, which means the name of the group user group tab. I’m going to use two tabs just to aligned with what is above. The type is nothing. The item is RT prior, which means real-time priority. Now I’m going to allow it 95 and, let’s also add another line, let’s call it audio again type tab, and this is mem lock unlimited.

This is another privilege for the jack server to use more memory in your system. I’ve taken this text from a website, Jack audio org, and there is a frequently asked questions section where you can find exactly how to configure this so yeah. You need to look it up and you probably will need to look it up now. We need to save the configuration file, I’m going to press ctrl o for out or right out limits.

Our conf enter. It wrote 54 lines great call. Now I’m going to press control X to exit, we can verify that the file was changed by typing less limits conf, and this is a file viewer. We can press page down, and indeed there is our audio group privileges specified, let’s press Q to quit this less problem now for this to take effect, we need to log out and log back in. So let’s do that. Okay, I’m logging! Back in now, we have cadence opened and can start all right now.

If there was no audio group in our system, we can create it by typing. Sudo group add audio. Now we need to type in our administration password. It’s going to tell us that the audio group already exists, but if it wouldn’t exist, we would have created it just now. Now we would have to also add our user to the audio group, and we can do this with the command usermod’. A big gene which means add to a group audio and now we can type our username alpha, but you can also type dollar sign and with big letters, user and this text will be substituted with whatever is the username.

Of course, I need to prefixed s with sudo or afterwards I’m studio and exclamation points, and this will execute the command. Now I have now. I should have done this before configuring, the audio group, because otherwise, that configuration would have not made any sense and then log out log back in and it would take effect to verify, let’s type in groups and indeed we are in the audio group. We can make it a bit easier by typing groups, pipe grep, which is a program to search for text audio, and it highlights the audio group in red for us to make it easier to spot.

Our user is in the audio group. Our audio group is configured so we should be able to run our tour just fine, let’s install it now. Maybe I’m going to use octopi to do so. So far I’ve been installing everything using the terminal, but you might prefer to use the graphical user interface. I’m going to type in our tour right, click install and it asks us to install optional packages. Xj do is an X, Jack article viewer, it’s a very useful viewer for working with film, soundtracks or editing, or making sound effects for pilot footage or whatever I’m going to install both of these.

Now, let’s commit these changes or apply these changes. Now I need to, of course, give my administration password and it’s going to install our door for us and Artur is installed, so let’s run it our door. Welcome to our door, I’m going to put everything in default places and I’m going to change this later. Let’s scan for plugins there’s not going to be much plugins because we haven’t installed any: let’s create an empty session hard or test my favourite name.

Let’s change the audio system to Jack, which is already running because we have started it with cadence and we can connect to it now. If we wouldn’t have the audio group and the audio group privileges properly configured, our door would not be able to create this session. It would give us an error and say that it cannot open the the session file or whatever it’s a misleading error message and what it really means is that it couldn’t obtain the real-time scheduling privileges.

Now we can pin the ardor icon to the task manager. It will let us open it up more quickly. You can also right click to start a new instance. If you want to open two other instances for some reason, we can create a new track control-shift-n, let’s make a stereo audio track, and this is already capturing audio from the built-in microphone huh. Let’s see if it works, it does hmm alrighty. It works. Now.

Let’s install more software, I’m going to save this. Let’s go back to octopi and now do you remember. I have told you we installed this program called yay. Now. If we go to tools, options and aur, you can see. We have yay selected as a as a program to interface with the arch user repository. You may have this dis elected so make sure you select yeah here. You can also enable a you are voting if you created an account on our aur Arch Linux at org.

I know I have so now I can vote on packages. You can select, no confirm and no edit to make it easier for you to go through the installation process. This will disable the option to change anything in the pay, Pete a build script, but it will also not ask you as many questions and it just going to be smoother. Let’s apply these settings and now I’m going to install this infusion first thing: I have to click on this alien face to enable the eye tool so we’re going to search the arch user repository instead of the regular arch linux or Manjaro linux packages.

So i’m going to type in Zen and press enter and we have Zen fusion here, let’s right-click and you can see. I have already voted on this package. Let’s install it and now octa-pie opens up an interminable ater and runs the high command with parameters of our package. It’s going to ask us a password, I’m going to give it the password, and you see it shows question proceed with installation and automatically answered yes, because we have selected the know confirm option.

This is right now downloading all the source code for s infusion and it’s going to compile it on the spot and install the package for us, so we can use it. This is going to take a short while, because the infusion is quite a big program now, as this installation is going on, I’m going to tell you something about pulseaudio, pulseaudio and jack are a cause of many headaches for many people using linux for audio production, because Both pulseaudio and jack are sound servers and they tend to not cooperate very well, but there is a very easy way to deal with that, and that is just to install a jack module for pools audio.

Then Posada will be able to use Jack as its audio backend. Instead of trying to use your sound card directly, two nights are fighting for the attention of Princess Elsa, the nimble Jack and the well-known police audio. But for the kingdom to blossom, we need Jack to pass the letters between Elsa and pull so do as any other way around will cause a disruption. What did I just make up unless all of that can be handled by pipe wire, but that’s a topic for another article? That means you will be able to play articles from your web browser and run order at the same time without having to stop or the other, and you can also then record articles from the web browser into your other session, because pulseaudio will expose its audio ports To the jack server and Kadence makes this easier you can see.

We have this post audio tab right here and we have information of the post of your server. You can see that post audio is started and bridged to Jack. That’s good news, because that means we already have pulls out you configured to talk to Jack. You can go to tools open katia, which is a Jack patch Bay, and we can see what is happening in our system right now. This is a graph of Jack clients and connections.

The system nodes show the built-in sound card that we are using for our Jack server, and you see we have Poots audio jack sync, which is the post audio output. So whatever you play in your web browser, for example, is going to feed it there. It’s audio here and right into our speakers, and here is post audio jack source, whatever you’re going to, if you’re going to talk to someone using a web application in your browser.

This is going to get the sound from your microphone, and here is the stereo microphone built into the laptop, but with the power of Jack, you can reroute that wherever you want, for example, you can feed output of your other session to pull Solio, so we can, For example, process your voice with our door and make people hear you with your voice changed or with reverb added or whatever I’m going to reset that to the previous st.

. Do not leave it in a mess. So Katia is a tool shipped with cadence. There is another tool called Claudia, which is a front end for laddish session mannered manager. There are also level meters. This one shows the microphone input and this is an out meter and I think it’s working, because we have this thing here. Yes, let’s see how the installation is going and we’re still cloning. Now we are copying the downloading the source files for EM Robby’s ESTs framework, which is the GUI framework that Mark Mercury have created for this infusion.

Normally this is much faster, but I’m recording the article and that slows everything down. Another thing we can talk about is using real time. Kernels now with Manjaro. Installing a new kernel is very, very easy. You just open your main menu and type kernel, and there is this tool for installing different kernels, and here are all the available kernels you can see. We are currently running kernel version for 5.

4 point 18 1, which is a long time supported kernel, it’s installed and it’s running, but there is a newer kernel, but there is a different kernel and it’s a real-time kernel. So a real-time kernel might give us better performance for Jack audio server. However, I have not found a significant change difference in my workload, but if we were to install it, we will just click here. Click yes give our password and we can show details and it’s going to download all the packages and install the real-time kernel for us, of course, to use this new kernel, we need to reboot our machine and you can verify what kernel are you running either by Opening this Manjaro kernel manager, or by opening a terminal hit f12 for example, and type a command called, you name a, and this tells us we’re running Linux.

This is the name of the computer, and this is the version of the kernel. This is a pre-emptive kernel, so it allows real-time scheduling, but it’s not like super full support and our new kernel is installed. You can see it’s now installed. If we reboot our computer, you will have a menu where we can choose which kernel we want to boot. Once we’re done with installing all the packages, I will reboot and we will choose this real-time kernel and once we confirm that it works, then we will remove the other one.

So we don’t have this option and the boot process will be simpler. Let’s check back and we’ll tale cloning by the way, a very important command on Linux is sudo, make coffee just joking. Okay. Now we have to give our password. One thing I don’t like about yeh is that it can timeout with the password. I need to install it again. Thankfully, it caches the results. So it’s not a big problem and we have the infusion installed.

Let’s try it in our door, I’m going to press Shift key to open up the side terminal by the way. I think we should change the font size of our door now there it is yeah that looks much better. Not all phones will be updated immediately, though you should rest at our order for this to take full effect and I’m going to press ctrl shift and and add a new track. Let’s make it a me track and you can see we don’t have as in fusion on this list.

What we have to do is go to edit preferences plugins and go scan for plugins, and you can see we have it’s detecting, it’s helped. It has detected zeenat’s of effects so now, if I go to control-shift-n and add a new MIDI track, I have the amounts of the facts on the list. I’m going to pick lv2 version. Let’s call this Zen fusion for some reason it didn’t have to plug in here: okay, let’s do it CIN and some effects.

Now it’s failed. What the okay all right! So now we can control shift and create a new MIDI track. Okay, let’s press control shift n to create a new MIDI track and I’m going to choose Xin fusion VST. Let’s call this Xin fusion, it’s called dance of effects, but with the new interface it is as in fusion and there we have it and it works. I’m going to install more software that I use and I need let’s go, install surge and there is search synthesizer.

We can install the binary version, it’s going to be faster because it’s not going to have to compile everything. So if you read the output, you can see that it’s downloaded a debian package right here. It’s extracted it and it’s created an arch package from that. Now it’s compressing this package, so it can be installed. So arch user repository is using various means to pull in different software, so it can be installed on Arch Linux based operating systems like Manjaro.

Now it’s installing the package and it’s installed. If we now go into edit preferences and scan for plugins, you can see it has found a search plug-in. You can create a new MIDI track, call it Serge and we can select search from the drop-down menu and, of course it doesn’t work. Hey it’s alpha and it’s eight days later I have actually used this laptop with our door 6 and that we installed during this article that you’ll see and I recorded a gig and everything went perfectly and right now.

I’ve just went back to check this order. 5 problem with all be two plugins and I removed order six and installed our door five again and it works it works. So I think that must have been some error in the arch unofficial order build and that it’s already fixed. Okay, let’s install a bunch of plugins that I use all the time I use called plugins. They are very important. I also use LSP plugins tap. Plugins may be an easier way to do.

This would be to go to the raw audio group of packages, and here we have a lot of stuff that you might want to install, for example, audacity yep golf caps, also Carla the plug-in host. This show plug-in framework, dragonfly reverb. Of course AB you meet er. Yes, drum gizmo, oh yes, EQ tank. You certainly G on kik. Oh yes, guitarist for sure helm, yeah, IRL v2. It also might want to install Jack capture or something else.

I don’t like Linux sampler at all liquid sfz I’ve heard it’s a nice plugin LSP plugins yeah MDA lv2 yeah. These are some good plugins, though I had problems with them. Ninjas too, is a nice drum loop, slicer noise repellant is an excellent realtime de noising plugin. Actually two plugins one is using neural networks can looking through anything else I might need or want sample v1 is a very useful sampler set b3 is an excellent hammond organ emulator Sherlock lv2 is a great plugin for reading.

What’s going on in your MIDI stream, sonic visualizer is a very useful program for well visualizing audio file contents, as WH plugins are used to Tampa plugins sure wall shaper. Oh yes, love spectrum 2 X, 42 plugins are very useful. These are excellent. Audio metering, plugins zam plugins, are great. Zita audio jack bridge is very nice. It’s a tool for bridging, also applications to Jack. A Zeta ng bridge is a network jack application to send Jack audio over network.

I’ve made a article about that and there’s 8 RF 1, which is the very well sounding reverb and now to install them. I right-click somewhere and then go install. It asks me to install Jack. I don’t want to because that’s optional and I also have Jack already project. Em is a music visualizer. I don’t need a visualizer plugin and it should now list all the packages I want to install. Do we have everything I think we have everything we need.

Let’s do it, of course you need to give it your password, and now we just wait in the meantime, I’m going to close this our door session, so the user interface can reload with the changed font size. Now, we’ve mostly installed software that is present in the regular Manjaro or arch linux repositories, but we can also fund search plugins that are in the arch user repository. Sometimes these are newer versions of the plugins.

I’m always amazed how fast Arch Linux packaging manager works on Debian it’s like 10 times slower. I got used to how slow it was. It’s already installed. Alright. Now we can just go edit preferences plugins scan for plugins. Now that’s going to take a while, okay yeah now this is unlocked. I can enable the aur search. What is there that is not in the usual repositories, I’m going to search for LV, Oh bitch, rot bit.

Rot are very useful plugins that are unfortunately, not very popular. We can install bit rot plugins. Let’s do that. It’s going to download the sources of of github and build them for us, these are very small, so it shouldn’t take long. I very like the bitch rot, repeat plug-in, which is very good for on creating glitchy effects, and you can very well automate it in order. I like to use it on drum lines, especially so you can have like, oh in Nevada, studio plugins in verse.

Three planes will be yay in Nevada are also some great plugins. Now I need to give my password. Okay bit. Rod is installed. We can install the invader plugins, it has 44 votes. People like these. Let’s see how order is going. Okay, it scanned everything. It has all the new plugins detected. Now we have a lot of plugins. Let’s go EQ 10-q. I use these a lot. So I’m going to add these two to my favorites.

I think there’s something wrong with our disorder installation. It can’t load any lv2 plugins. That’s no good, usually it just works so kind of sucks and I really wished something like that: wouldn’t go wrong when I’m making a article, but we have our in Venice to do plugins installed. You know what I’m going to do. I’m going to install our door! 6.0 and hope it’s going to work a bit better, so note that I’m searching in a you are, and we have our door get let’s right-click and install.

It would like to ask us to remove our door first, because these two are conflicting. If I were to edit the PK build file script, we could install both alongside, but let’s not do that, so I’m going to just remove our door, it’s already removed. Now, let’s go back to the aur search and I’m going to install our door, get you can see that our our door desktop or our icon here is no longer pointing to anything I’m going to unpin it because our door 6 is probably going to add a Different icon, we can also run Carla the nonlinear plugin host.

We can add a plugin, let’s see if the lv2 plugins work in Carla, let’s go with in Nevada. I can go with special filters and, let’s just enable lv2 plugins, nothing else in Fatah. Early reflections, reverb loaded and here is the user interface. I really like this early reflection, reverb plug-in, because you know it has this three-dimensional visualization of a room and you can place your source and your listener, and you can see the impulse response being generated on the fly and visualized.

I’ve used this a lot in the Lance perversion and lmms: okay, so lv2 plugins work in Carla, so that some problem with order. So we are not installing official order builds. So we can’t complain to order developers because the official builds probably work. Let’s open Serge lv2 here and it works, let’s make it bigger yep, just like it should alright, so Artur 6 is installed, let’s see if it works out or 6 of ascared configuration from our tour 5.

Would you like to these fans to be copied and used for our door, 6, yeah, sure and congratulations file will cover you now. You now can restart our door and okay. I don’t know why this get version. Has this weird icon welcome to this pre-release build of order? Six point: zero: three: zero! Three. 504! Yes, I know don’t use it for production, let’s create a new session, our door, six test. The main thing I want to know, if is if this version of our door, is going to work with LV two plugins, because that’s quite important, and I have no idea why the order 5 version didn’t work and, let’s see if our r6 works with all v2 Plugins because our door 5 didn’t want to control-shift-n, let’s create a new MIDI track and insert maybe sentence of effects.

Let’s call this Xena, and here it is, I’m not sure if this is the LV to plug in or the VST one. Let’s add a new track. Let’s go to me track: let’s make a no plugin at all and let’s insert the plug in manually, so plug-in manager, and here we should be able to filter by type so LV. Okay, let’s show instruments only show all formats. I want just LV okay, so we have LV two instruments: let’s try G on kick okay, so LV two plugins work in this order.

Six build that’s good. It took a while to install because this laptop is not the most powerful one. It just has 4 cores, and but it did it alright, so we have a working workstation to do things now. If we wouldn’t have the pulse out your jack module pulsar, they wouldn’t cooperate with jacks, so let’s try and find it in the package manager. In case you need to install it, we can also install vcv rack.

So in aur we have vcv. Rack can install the binary package, so you don’t have to build it from source. Ok, that works, and you can see we have VCB rack here. We can change the audio backends to Jack and we can make it feed into the system output, but now we can intercept that you can clean these and use these outputs here and now can record. Don’t pay attention to the X runs. This laptop is under heavy load.

No, we have recorded audio from vcv rack into order now. The very last thing we can do to try and improve our jack performance is to install a real-time kernel so away like I said before, you can go here, type kernel and we’re going to have this thing opened now we have installed the real-time kernel, but we Are still running the non real-time kernel, so I will now reboot this machine. I like to just press f12 and type reboot, oh by the way before we do, that we can create a time shift snapshot and we can do it in two ways.

I’m going to show you the graphical user interface way, so you’re open up time shift. We give it already you administrator password or root password, and we can click here to create a new snapshot, but I also want to show you how to do the same from the comment line. So I’ve got sudo time shift and if you run this command, it’s going to show you all the help text to tell you what you can do with time shift.

Basically we’re going to use the create option with comments. So let me clear the terminal and I’m going to go su time image if create, and then comments and now I’m going to type after installing all this software and I got press ENTER and it’s read a bit ers snapshot now. If I run time shift note time shift list, oh sorry, I need to use sudo, you can see. We have two snapshots. This was our first one, and this is the second one I’m going to close this terminal and I’m going to open the graphical user interface and you can see we have the same thing here and we can double click here to type comment, and this is going To be our initial snap shot snapshot, so it’s nice and we know what is what and why these are here.

You can see that our size has changed to four point: six gigabytes, so there’s quite a lot of things changed in our in our system partition or file system alrighty. I am going to now reboot the computer, so I’m going to go and you can do it from the main menu here leave and press restart or be cool like I am and just type reboot. What I’m going to do now is press shift to open the grub menu, but it doesn’t okay.

I think we need to change the configuration of grub. So let’s go sudo nano et Cie default grub, that’s a grub! Let’s give it the password, and here it is grab a timeout style uncomment. This line, if you want unable to save default function, come in the following line and set group default to saved okay Group default is set to saved, but this was disabled and I’m going to allow the generation of recovering boot modes because that’s useful, sometimes, okay, I’m Going to save this file and go update grub now, I need to, of course give it sudo, and it should use this to remake the configuration files.

Now if we reboot, I think we should be good if I’m going to smash their shifts key anyway. Get me that group menu group Group group group, oh yeah, we have the menu now we’ve got the group menu and the absolutely amazing thing about time shift and btrfs is that now we have arch linux snaps and you can see, we have the snapshots that we’ve Created so we can basically boot right into an older version of our operating system.

If we messed something up, we can just select a different snapshot right here. For example, if we removed a working kernel – and we don’t have anything to boot – we can just go here and boot an old version, and this is something really amazing – about btrfs and timeshift snapshots. Now we can go for Advanced Options for men, general Linux, and here we can choose the kernel. So man Gerald Linux, kernel 5.

4 is the default one and we’re going to go for 5.4 13 real time and I’m going to press ENTER and boot this one. Now, every time I boot into btrfs, I get this error and really doesn’t mean anything. You don’t have to press any keys. It’s going to disappear really soon. Okay, so we have logged in let’s open the kernel, dialogue see what we’ve got and yes, we are running the real-time kernel. Well, I hope you found this article to be useful thanks for reading and all the good luck with installing your own Manjaro system and configuring.

It for audio work. It’s not that hard. Many things that I’ve shown you are kinda, like double checking that it’s correctly installed. Now your the mileage mayor of may vary. You know. Every version of the mange road is so that you can download is going to be slightly different and also, if you install using the Manjaro architect or the graphical program, it’s going to give you different results. But overall, it’s really not that bad yeah.

So thanks for reading, I hope you’ve learned something and also big thanks to all fun people who are supporting my work on beat John and litter. If you would like to join them and help keep this show going, please go to patreon.Com/scishow and fur now go install Manjaro and make some music hey I’d like to apologize, because this article has taken away too long to finish alright. So I’d like to apologize, because this article has taken way too long to finish, however, midway through the editing, all the article editing in open source hell broke loose and I had to abandon olive altogether because it became so unstable.

I was unable to proceed and I had to go back to kdenlive, which also isn’t working great and it’s just crashing and hanging, and so it was real hell to finish this article, but I thought it yeah, so I hope you’ll enjoy it. I really hope it’s going to be worth it. Ok, bye,


Videos are truly an awesome way to get the point across. Any type of content from your business is important!

 

by Jimmy Dagger at June 28, 2020 05:20 PM

June 27, 2020

rncbc.org

Qtractor 0.9.15 - An Early-Summer'20 Release


Hi y'all!

Let's go straight to the real good news ;)...

Qtractor 0.9.15 (early-summer'20) is released!

Change-log:

  • Fixed MIDI tracks export that were missing the end-of-export tail parameter and bailing out always with default SMF format anyway.
  • Fixed VST3 component/controller inter-connection.
  • LV2 Atom/Port-event host notification support has been retouched, but still unofficial though.
  • Fixed VST3 audio-processor initialization/activation when a plugin has no inputs or outputs present.
  • Let main window pseudo-asynchronous stabilization re. menus, tools and status bars, just faster and immediate.
  • Fixed MIDI track monitor re-instantiation and reset.

Description:

Qtractor is an audio/MIDI multi-track sequencer application written in C++ with the Qt framework. Target platform is Linux, where the Jack Audio Connection Kit (JACK) for audio and the Advanced Linux Sound Architecture (ALSA) for MIDI are the main infrastructures to evolve as a fairly-featured Linux desktop audio workstation GUI, specially dedicated to the personal home-studio.

Website:

http://qtractor.org
https://qtractor.sourceforge.io
http://qtractor.sourceforge.net

Project page:

https://sourceforge.net/projects/qtractor

Downloads:

https://sourceforge.net/projects/qtractor/files

Git repos:

https://git.code.sf.net/p/qtractor/code
https://github.com/rncbc/qtractor.git
https://gitlab.com/rncbc/qtractor.git
https://bitbucket.org/rncbc/qtractor.git

Wiki (help wanted!):

https://sourceforge.net/p/qtractor/wiki/

License:

Qtractor is free, open-source Linux Audio software, distributed under the terms of the GNU General Public License (GPL) version 2 or later.

Keep the fun && Stay safe!

Donate to rncbc.org

by rncbc at June 27, 2020 11:00 AM

June 07, 2020

Paul Davis Interview with LGW

Audio:

Text: http://libregraphicsworld.org/blog/entry/podcast-ep-002-paul-davis-on-the-deep-rewrite-of-ardour-daw

This is Part 1 of a two part interview (aka “Paul rambles on and occasionally lets Alex ask a question”).

Update: Part two is now online:

The transcript can be found at http://libregraphicsworld.org/blog/entry/podcast-ep-003-paul-davis-on-fixing-big-linux-audio-issues – Kudos to @prokoudine

14 posts - 11 participants

Read full topic

by Paul Davis at June 07, 2020 02:57 AM

May 28, 2020

On Delay Compensation & Recommendations for Routing

Ardour 6 Delay Compensation & Recommendations for Routing

Now that the dust has settled on Ardour-6.0 release, I’d like to point out some details regarding latency compensation.

General rules for routing

  • Prefer aux-sends over direct connections.
  • Avoid one-to-many direct connections (many-to-one is fine).

This article details on why and when following those rules is important.

Background

While developing full-graph latency compensation for Ardour 6, we faced one big issue: JACK. There were even times when we considered dropping JACK support.
One of JACK’s main features is that it facilitates anywhere-to-anywhere routing. Like an analog patch-bay one can use wires to connect everything without any constraints, even nonsensical connections.

“JACK provides mechanism, and does not enforce policy.”

However, unlike analog effects processors, some digital signal processors, do introduce a delay. Common examples are limiters, and pitch-shifters. Those effects need context, and hence buffer the audio internally which results in a delay. Still JACK allows one to arbitrarily connect those FX.

So let us have a look what happens when those effects are directly connected, using a latent effect as example:

Demonstration of effects of short delays (without latency compensation)

  1. Create an audio track. Its output is automatically connected to Ardour’s master-bus.
  2. Create an effect-bus. It is likewise auto-connected to Ardour’s master-bus.
  3. Add a latent effect to the Bus. This delays the signal passing through the bus.
  4. Connect the track’s output to the effect-bus input (in addition to the master-bus).

Figure 1 shows this as schematic. The direct signal from the track is summed with the delayed signal from the effect processor. Figure 5 below depicts a screenshot of an actual Ardour session with this setup.

Fig.1: block diagram
Fig.1: Example connection diagram showing ambiguous latency though different signal paths; red wire shows the signal path that has been delayed.

Sine wave phasing

When a sine-wave sample is loaded to the track and played while ramping up the delay of the effect-bus, the following can be observed:


Anim.1: Phasing of a 1kHz sine-wave, x-axis show time, y-axis signal amplitude, the delay time is in samples. green: source signal; red: delayed signal; blue: sum of the signals

As can be seen in this short video sequence, a 1kHz sine-wave when summed with a delayed version of itself cancels out after a delay of 24 samples (at 48kHz sample-rate).

Keep in mind that most latent effects have a fixed latency. The animation shows a variable delay for didactic purposes.

Comb filter effect

This can be generalized for all frequencies by looking at the spectrum of white noise. Different frequencies cancel out at different delays. This effect is called “comb-filter” after the resulting pattern in the spectrum:


Anim.2: Comb filter effect produced by summing white noise with delayed signal of the same noise

This demonstrates nicely why plugin delay compensation is important.

When using latent effects without delay compensation, some frequency bands in the resulting sound are notched out. If the delay is long enough, it may also lead to an audible delays or echo.

“Delay in the wire”

The above example shows a situation in which latency compensation is not possible.
This is because there there are two direct connections with different latency connected to a common destination.

The solution to this is to also delay the bypass accordingly:

Fig.2: Delay in the wire
Fig.2: “Delay in the wire” for latency compensation

In order to do this, a “delay in the wire” would be needed, however JACK does not offer that.

This is the reason why one should avoid one-to-many direct connections.

Ardour allows to seamlessly change back-ends. One can switch from JACK to Pulseaudio to ALSA (or ASIO, Coreaudio), to Dummy and back. So the constraint imposed by JACK’s design also extends to the connection logic of Ardour’s other back-ends. This is the reason why other Ardour backend likewise must not feature a delay in the wire (and why we’ve considered dropping JACK support).

Aux-Sends

This is where aux-sends come into play. Those offer routing that is internal to Ardour, and hence is not constrained by the backend.

As shown in Figure 3, aux-sends in Ardour include internal delay-lines, both for the send as well as the thru path. This allows to handle situation in which case a latent effect is either on the source-track, or the receiving bus.

Fig.3: Schema of internal delay-lines in a send
Fig.3: Schema of internal delay-lines in a send

As an added benefit aux-sends have a separate gain-stage and optionally an independent panner. This makes them generally more useful in most mixing situations.

Aux-sends can be added using the context-menu (right-click) in Ardour’s processor-box.

Fig.4: Adding an Aux-Send
Fig.4: Adding an Aux-Send

Ardour GUI Showcase


Fig.5: Screenshot of the Ardour Mixer, showing ambiguous latency due to connections (left) and delay-compensated routing using an aux-send (right)

The possibility to use both direct-connections and sends allows for nonsensical connections (this is also true for analog patch-bays), and situations that can lead to ambiguous latency. In Ardour a warning about this is displayed in the toolbar widget (Preferences > Appearance > Toolbar > Display Latency Compensation Info):

Fig.6: Ardour GUI Latency Indicator
Fig.6: Ardour GUI Latency Indicator

Conclusion

In summary this article explained in which case direct connections can lead to ambiguous latency, and how to avoid those by using internal aux-sends.

There are still many valid cases where direct explicit connections are preferable and valid.
In general this applies to all connections that have a single destination. e.g. Track to Master, or fanned-out multi-channel instruments.

This short article skips over major parts how external signals are aligned and read-ahead/write-behind techniques used to minimize overall delay.

Readers interested to dig deeper can find more information about this in the Thesis on Latency Compensation and Anywhere-to-Anywhere Signal Routing Systems.

20 posts - 8 participants

Read full topic

by Robin Gareus at May 28, 2020 04:44 PM

May 24, 2020

Ardour 6.0 is released

Ardour 6.0 is now released. Sorry for the wait!

You can download it from http://ardour.org/download

(If you download 6.0 for Linux before about 16:30 UTC on May 24th, you should probably download again, because we mistakenly released the wrong version of the build)

See what’s new at http://ardour.org/whatsnew.html

We hope to return to bi-monthly releases going forward, and there’s a lot of stuff to do!

WARNING

If you previously used one of the pre-release versions of 6.0 (basically, any version of the code since 5.12 was released) and are now trying the release, you should probably remove the existing preferences. We’ve already had one bug report that was caused by having a mid-development version of the preferences still around.

Linux: ~/.config/ardour6
macOS: ~/Library/Preferences/Ardour6
Windows; %localappdata%\Ardour6

Very recent versions of these folders will not cause problems, but this is just a warning since I’m sure there will some other issues arising from this sort of thing.

113 posts - 50 participants

Read full topic

by Paul Davis at May 24, 2020 02:39 AM