diff --git a/CMakeLists.txt b/CMakeLists.txt index 395cbe5..f33874e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.16.0) project(pipedal - VERSION 1.2.52 + VERSION 1.3.53 DESCRIPTION "PiPedal Guitar Effect Pedal For Raspberry Pi" HOMEPAGE_URL "https://rerdavies.github.io/pipedal" ) -set (DISPLAY_VERSION "PiPedal v1.2.52-Release") +set (DISPLAY_VERSION "PiPedal v1.3.53-Release") set (PACKAGE_ARCHITECTURE "arm64") set (CMAKE_INSTALL_PREFIX "/usr/") diff --git a/README.md b/README.md index f6d0361..50d728b 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,13 @@ -Download: v1.2.52 +Download: v1.3.53 Website: [https://rerdavies.github.io/pipedal](https://rerdavies.github.io/pipedal). Documentation: [https://rerdavies.github.io/pipedal/Documentation.html](https://rerdavies.github.io/pipedal/Documentation.html).   -#### NEW version 1.2.52 Release, providing support for Raspberry Pi OS Bookworm. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details. +#### NEW version 1.3.53 Release, providing [snapshots](https://rerdavies.github.io/pipedal/Snaphots.html), and a new Performance View. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details.   @@ -38,6 +38,7 @@ If your USB audio adapter has MIDI connectors, you can use MIDI devices (keyboar ### [System Requirements](https://rerdavies.github.io/pipedal/SystemRequirements.html) ### [Installing PiPedal](https://rerdavies.github.io/pipedal/Installing.html) ### [Configuring PiPedal After Installation](https://rerdavies.github.io/pipedal/Configuring.html) +### [An Intro to Snapshots](https://rerdavies.github.io/pipedal/Snapshots.html) ### [Choosing a USB Audio Adapter](https://rerdavies.github.io/pipedal/ChoosingAUsbAudioAdapter.html) ### [Optimizing Audio Latency](https://rerdavies.github.io/pipedal/AudioLatency.html) ### [Command-Line Configuration of PiPedal](https://rerdavies.github.io/pipedal/CommandLine.html) diff --git a/docs/ChoosingAUsbAudioAdapter.md b/docs/ChoosingAUsbAudioAdapter.md index c8ddf57..e9fa788 100644 --- a/docs/ChoosingAUsbAudioAdapter.md +++ b/docs/ChoosingAUsbAudioAdapter.md @@ -9,15 +9,24 @@ page_icon: img/UsbAdapter.jpg The quality of the audio adapter you use dramatically affects the quality of the guitar effects. Amp models are particularly sensitive to poor signal-to-noise ratios, because overdrive effects boost the level of noise more than the level of the actual signal. For best results, you should choose a 24-bit audio adapter that provides at least 105db (A-weighted) signal-to-noise ratio. -I personally use and recommend the Motu M2 USB audio adapter, although there are plenty of other pro-quality audio adapters that will work as well. Cheaper USB audio adapters that sell for less than US$70 will almost certainly not provide adequate signal-to-noise ratio for best results. +Cheap USB audio adapters, claim to to support 24-bit audio, and happily provide 24 bits of data. The problem is that they are usually providing less than 16-bits of signal (the remaining bits being pure noise). -Ideally, you want a USB adapter that provides an input volume knob, and an instrument-level input jack. For best results, you want the input signal to be as high as possible without clipping. (Clipped input signals sound horrible). +You will get decent results; but not great results. Stepping up to a more expensive USB adapter dramatically improves the quality of signal you're going to get. With a decent USB audio adapters, some of the state-of-the art Machine Learning plugin produce results that are as good as or better the Helix or Kemperer amp emulations. -Pay close attention to the input VU meter of the first effect in your guitar effect chain. That will indicate the signal level coming into the USB adapter. Ideally, you want the value peaking solidly in the yellow range of the VU meter, and NEVER going red. +I think it's worthwhile, at this point, to make a brief discursus into the state of the art when it comes to machine learning models of guitar amps. There are two major Machine Learning amp simulators that are in the public domain. Jatin Chowdry produced some of the first really impressive Machine Learning amp simulators (I beleive) as part of his PhD thesis. Jatin Chowdry's ML amp simulation library (which was graciously provided under an open-source MIT license) forms the core of the ToobML plugin included with PiPedal. Steven Atkins' Neural Amp Modeler library (also provided under an MIT license) is the other major ML implementation, that implements a variety of Machine Learning algorithms that have been developed since Jatin Chowdry's initial publication of his results. TooB Neural Amp Modeler uses Steven Atkins' Neural Amp Modeler library. And both have large community-developed libaries of amp models. The quality of amp simulations produced by both of these libraries is breathtaking. As I said previously, as good as or better than Helix or Kemperer amp emulations. -Again, the MOTU M2 excels in this regard. It provides large, volume knobs for input and output trim, along with very readable VU meters on the front panel which indicate both input and output signal levels. +But to get Helix-quality (or better) results, you need a good USB adapter. For amp simulators, particulary, every extra bit of input signal is precious. + +I personally use and recommend the Motu M2 USB audio adapter, although there are plenty of other pro-quality audio adapters that will probably work as well. Although, the MOTU devices are -- in my experience, exceptional. Check the specs carefully, signal-to-noise-ratio is what matters, not bits of data. Cheaper USB audio adapters that sell for less than US$70 will almost certainly not provide adequate signal-to-noise ratio for best results, and invariably won't provide S/N ratio specs for very very good reasons. + +Ideally, you want a USB adapter that provides an input volume knob, and an instrument-level input jack, and it's enormously helpful to have a VU meter to display input signal level to the device. Line-level or RCA jacks will have the wrong input impedence, and that has strange effects when 20 feet of guitar cable and tone controls that are designed for instrument-level impedance are involved. For best results, you want the input signal to be as high as possible without clipping. Clipped input signals sound horrible. And every db below "as high as possible" brings up the noise floor. Which is why a VU meter on the +USB adapter is helpful. + +If you don't have an audio adapter with a VU meter, pay close attention to the input VU meter of the first effect in your guitar effect chain. That will indicate the signal level coming into the USB adapter. Ideally, you want the value peaking solidly in the yellow range of the VU meter, and NEVER going red. + +Again, the MOTU M2 excels in this regard. It provides large volume knobs for input and output trim, along with very readable VU meters on the front panel which indicate both input and output signal levels. -------- -[<< Configuring PiPedal After Installation](Configuring.md) | [Up](Documentation.md) | [Optimizing Audio Latency >>](AudioLatency.md) +[<< An Intro to Snapshots](Snapshots.md) | [Up](Documentation.md) | [Optimizing Audio Latency >>](AudioLatency.md) diff --git a/docs/Configuring.md b/docs/Configuring.md index cd10a24..3ca6a49 100644 --- a/docs/Configuring.md +++ b/docs/Configuring.md @@ -167,4 +167,4 @@ When the Raspberry Pi hosts the hotspot, mDNS discovery is definitely enabled; s -------- -[<< Installing PiPedal](Installing.md) | [Up](Documentation.md) | | [Choosing a USB Audio Adapter >>](ChoosingAUsbAudioAdapter.md) +[<< Installing PiPedal](Installing.md) | [Up](Documentation.md) | | [An Intro to Snapshots >>](Snapshots.md) diff --git a/docs/Documentation.md b/docs/Documentation.md index 826cd64..f724bd6 100644 --- a/docs/Documentation.md +++ b/docs/Documentation.md @@ -8,6 +8,7 @@ #### [Installing PiPedal](Installing.md) #### [Configuring PiPedal After Installation](Configuring.md) +#### [Snapshots](AudioLatency.md) #### [Choosing a USB Audio Adapter](ChoosingAUsbAudioAdapter.md) #### [Optimizing Audio Latency](AudioLatency.md) #### [Command-Line Configuration of PiPedal](CommandLine.md) diff --git a/docs/Installing.md b/docs/Installing.md index 1541893..248bf6c 100644 --- a/docs/Installing.md +++ b/docs/Installing.md @@ -13,17 +13,17 @@ page_icon: img/Install4.jpg Download the most recent Debian (.deb) package for your platform: -- [Raspberry Pi OS bookworm (64-bit) v1.2.52](https://github.com/rerdavies/pipedal/releases/download/) +- [Raspberry Pi OS bookworm (64-bit) v1.3.53](https://github.com/rerdavies/pipedal/releases/download/) - [Ubuntu/Raspberry Pi OS bullseyeye (64-bit) v1.2.31](https://github.com/rerdavies/pipedal/releases/download/v1.1.31/pipedal_1.1.31_arm64.deb) -Version 1.2.52 has not yet been tested on Ubuntu or Raspberry Pi OS bullseye. On these platforms, we recommend that you use version 1.1.31. +Version 1.3.53 has not yet been tested on Ubuntu or Raspberry Pi OS bullseye. On these platforms, we recommend that you use version 1.1.31. Install the package by running ``` sudo apt update cd ~/Downloads - sudo apt-get install pipedal_1.2.52_arm64.deb + sudo apt-get install pipedal_1.3.53_arm64.deb ``` Adjust accordingly if you have downloaded v1.1.31. diff --git a/docs/ReleaseNotes.md b/docs/ReleaseNotes.md index b5712b1..6de03f8 100644 --- a/docs/ReleaseNotes.md +++ b/docs/ReleaseNotes.md @@ -1,4 +1,19 @@ # Release Notes +## PiPedal 1.3.53 Release + +Major features: +- Snapshots. For a discussion of what snapshot are, see [An Intro to Snapshots](https://rerdavies.github.io/pipedal/Snaphots.html) +- New Performance View providing an user-interface optimized for live performance rather than editing of plugins. +- New System Midi Bindings for snapshot selection, and for previous and next bank. + +This should have probably gone out as a Beta release, but the fixes for the "Audio Stopped" error are significant. I would recommend updating to this release as soon as you can. Please consider the snapshot user interface to be somehwat fluid for now. I am open to suggestions and feedback on the new feature. + +Bug Fixes: +- A fix for the dreaded "Audio Stopped" error (and associated memory corruption). You may underrun, but at least audio won't stop. +- Further improvements to clean (and timely) shutdown procedure. +- Minor UI improvements for adaptive display on small devices. + + ## PiPedal 1.2.52 Release Modest performance improvements for TooB Neural Amp Modeler (about 8% faster). diff --git a/docs/Snapshots.md b/docs/Snapshots.md new file mode 100644 index 0000000..b85a09a --- /dev/null +++ b/docs/Snapshots.md @@ -0,0 +1,50 @@ +--- +page_icon: img/snapshots.jpg +icon_width: 320px +icon_float: right +--- +{% include pageIconR.html %} +## An Intro to Snapshots + + + +You can create up to six snapshots for any given preset. A snapshot differs from a preset in that + +- Switching betwen snapshots does not reload the plugins you are using. Snapshots contain only control values. +- Because effects are not reloaded, you won't get discontinuities in the output of effects with long tails (like reverb effects, for example). +- Loading a snapshot is much faster than loading a preset, because new plugins don't have to be created. +- You can configure PiPedal to switch between snapshots in response to MIDI messages from a MIDI footcontroller or other device.` + +Snapshots are useful if you have a USB or MIDI footswitch controller. You can easily configure PiPedal to switch between snapshots when you step on a switch on your footswitch controller. You can configure PiPedal to switch between snapshots when you step on buttons on your footswitch controller. To configure MIDI bindings for snapshots, select Settings from the main menu, and tap on System MIDI bindings. + +But snapshots are equally useful when you are using PiPedal's Performance View. To access the Performance View click on the Performance View menu item in the main PiPedal menu. + +![PiPedal Performance View](PerformanceView-ss.png "Performance View") +   PiPedal's Performance View + +Note how PiPedal has been configured to use banks as containers for songs in a set list. Each song in the setlist gets its own preset; and then snapshots are used to change controls for the preset being used in each song. As an example, the only difference between Chorus and Chorus + Phaser snaphots is whether the Phaser plugin is bypassed or not. You are of course, free to arrange your own banks and presets any way you want. But if you have a complex repertoire of songs that you play regularly, this is a good way to arrange your preset: setlists go into banks; songs go into presets; and then you use snapshots to switch between settings used in the same song. + +### Accessing Snapshots in the PiPedal User Interface. + +You can create, modify, and select snapshots in two places in the PiPedal user interface. + +The first is via the Snapshot icon button in the middle row of controls in the main page of pipedal. It's the button that looks like a camera. The second is via the Performance View, which is accessible via the Performance View menu entry in the main PiPedal menu. + +It's easier to create an initial set of snapshots from the main PiPedal page. You edit the current controls of the current preset, and you can then save current control values to a snapshot by first pressing the Snapshots (the camera icon), and then pressing the Save button for a particular snapshot in the popup dialog. + +On the other hand, you may find it easier to edit an existing set of snapshots from the Performance View. When you click the Edit button for a particular snapshot, PiPedal displays the Snapshot Editor which allows you to edit the control values for that snapshot directly. + + +#### Interactions between Presets and Snapshots. + +As a general rule, it's best to get the structure (which plugins are loaded, and how they are connected together) settled before you start creating snapshots. If you change the structure of a preset, it may affect snapshots that belong to that preset. + +Each preset has its own set of preset control settings which are independent of the control settings in each snapshot. But all share the same plugin structure (which plugins are loaded, and how they are connected together). + +When you click the edit button in the Peformance View, you are editing control settings associated with the snapshot. When you press the back button from the snapshot editor, control settings for that snapshot are saved immediately. Saved control settings for the preset are not modified. You can avoid saving snapshot control settings by pressing the Cancel icon button (X) at the end of the toolbar for the snapshot editor. You cannot change the structure of the plugins in the preset to which snapshots belong from within the Snapshot editor. Nothing you do in the snapshot editor will affect the saved control values for the currently loaded preset. + + Things are different when you are editing presets in the main PiPedal page. Changes to preset controls are not saved until you press the Save button. And you can make structural changes. When you make structural changes to the preset, you may also affect the control settings included in each snapshot. You can move plugins around freely. Snapshot controls will still apply to the plugin even if it has moved. But if you remove a plugin, the settings for that plugin in each snapshot will be removed. Even if you re-add a new instance of of the same plugin, settings in snapshots will not be remembered. And if you add a plugin, selecting a snapshot will set controls for the new plugin to default values (not the values of the controls in the main preset). So as a general rule, it's best to get the structure of a prest more-or-less settled before you start creating snapshots. + + +-------- +[Configuring PiPedal After Installation](Configuring.md) | [Up](Documentation.md) | | [Choosing a USB Audio Adapter >>](ChoosingAUsbAudioAdapter.md) diff --git a/docs/download.md b/docs/download.md index a76a692..681c170 100644 --- a/docs/download.md +++ b/docs/download.md @@ -4,7 +4,7 @@ Download the most recent Debian (.deb) package for your platform: -- Raspberry Pi OS Bookworm (64-bit) v1.2.52 +- Raspberry Pi OS Bookworm (64-bit) v1.3.53 Install the package by running @@ -12,7 +12,7 @@ Install the package by running ``` sudo apt update cd ~/Downloads - sudo apt-get install ./pipedal_1.2.52_arm64.deb + sudo apt-get install ./pipedal_1.3.53_arm64.deb ``` Follow the instructions in [_Configuring PiPedal After Installation_](https://rerdavies.github.io/pipedal/Configuring.html) to complete the installation. diff --git a/docs/img/PerformanceView-ss.png b/docs/img/PerformanceView-ss.png new file mode 100644 index 0000000..141e81e Binary files /dev/null and b/docs/img/PerformanceView-ss.png differ diff --git a/docs/img/snapshots.png b/docs/img/snapshots.png new file mode 100644 index 0000000..160ebc6 Binary files /dev/null and b/docs/img/snapshots.png differ diff --git a/docs/index.md b/docs/index.md index a1a94f8..66099d0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,7 +1,7 @@ -v1.2.52 +v1.3.53   @@ -9,7 +9,7 @@ To download PiPedal, click [here](download.md). To view PiPedal documentation, click [here](Documentation.md). -#### NEW version 1.2.52 Release. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details. +#### NEW version 1.3.53 Release. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details.