PXToolkit Beta Available Now!

PXToolkit Beta Available Now!
« on: April 14, 2019, 06:58:56 PM »
I'm delighted to announce that PXToolkit, my sample preparation utility for the Prophet X, is now available to anyone interested in working with the beta.  It should be in good shape but doubtless a few issues will get identified and shaken out over the weeks to come.  Many thanks to the alpha testers who have provided feedback in its earlier state.

Here's a quick overview of what you can expect from the app:

* Per-key sample mapping, fine tuned in cent increments
* Automatic sample key and loop detection from .wav metadata
* Up to 20 velocity layers per key
* Up to 20 round-robin samples per velocity layer
* Undo/redo support
* macOS and Windows support

... and in video form:

https://www.youtube.com/watch?v=BLiOVXwReQI&feature=youtu.be

There's a dedicated page with download links here.  Enjoy, and don't hestitate to get in touch with any bug reports or questions.  Before the obvious one gets asked: yes, the application is completely free for personal use.

Re: PXToolkit Beta Available Now!
« Reply #1 on: April 15, 2019, 01:09:14 AM »
fantastic ... nice work, thank you so much !
PT10/12HD, Logic X, Digital Performer, Vienna Ensemble Pro
cMP 5,1 Catalina; MacBook Pro

laurentluigi

Re: PXToolkit Beta Available Now!
« Reply #2 on: April 15, 2019, 01:22:40 AM »
Again, LadyGaia you're the One !!!!!!!!!

Re: PXToolkit Beta Available Now!
« Reply #3 on: April 16, 2019, 11:18:04 PM »
I discovered an unfortunate bug that crept into the 0.7.5 beta build.  Instruments built with single-digit index numbers weren't getting padded to two digits (eg: they'd come out as "2. Instrument|Name.zip" rather than "02. Instrument|Name.zip".)  This unfortunate regression has been addressed with 0.7.6 which can be downloaded here.

Apologies for the inconveniences.  That's why it's a beta...

Re: PXToolkit Beta Available Now!
« Reply #4 on: April 17, 2019, 10:26:13 AM »
WOW, this is amazing.

I'm delighted to announce that PXToolkit, my sample preparation utility for the Prophet X, is now available to anyone interested in working with the beta.  It should be in good shape but doubtless a few issues will get identified and shaken out over the weeks to come.  Many thanks to the alpha testers who have provided feedback in its earlier state.

Here's a quick overview of what you can expect from the app:

* Per-key sample mapping, fine tuned in cent increments
* Automatic sample key and loop detection from .wav metadata
* Up to 20 velocity layers per key
* Up to 20 round-robin samples per velocity layer
* Undo/redo support
* macOS and Windows support

... and in video form:

https://www.youtube.com/watch?v=BLiOVXwReQI&feature=youtu.be

There's a dedicated page with download links here.  Enjoy, and don't hestitate to get in touch with any bug reports or questions.  Before the obvious one gets asked: yes, the application is completely free for personal use.

Re: PXToolkit Beta Available Now!
« Reply #5 on: April 17, 2019, 12:34:32 PM »
WOW, this is amazing.

Glad to hear it looks appealing.  I’m looking forward to hearing from people who are putting it to good use, even if it’s just with bug reports or suggestions.

Re: PXToolkit Beta Available Now!
« Reply #6 on: April 18, 2019, 09:22:40 PM »
Version 0.7.7 is up, and I’d recommend Windows users in particular pick this one up.  Although alpha testers reported success building and installing archives from Windows, it definitely wasn’t doing so exactly as intended.  That oversight has been corrected.

Everyone also gets better feedback when entering invalid export details (like an instrument index of 1.)  I’ve added warnings for marginal cases where what has been entered is legal but perhaps not entirely desirable (such as an instrument name that isn’t likely to fit on the Prophet X display.)
« Last Edit: April 18, 2019, 10:29:06 PM by Lady Gaia »

PXToolkit v0.8.0
« Reply #7 on: April 21, 2019, 05:55:42 PM »
Available for download from the usual location.  Unlike recent releases which have been largely bug fixes, this wraps up the feature work I had planned for v1.0.  If any obvious omissions come up I might add something small, but for the next week or two I'll be focused on any bugs that get reported.

The major addition here is documented as follows:

Dragging Samples and Regions

Samples displayed for the currently selected regions can be dragged individually from the detail display on the right. Just start dragging and the sample will be represented by a small icon that can be dropped anywhere in the canvas. Regions containing either single samples or round-robin collections can also be dragged as a group.

Dropped samples follow behavior very similar to sample files when initially dropped: they'll divide existing velocity ranges by default, or add to existing regions if the shift key is held. Unlike new samples being added, however, the origin key for the sample is selected based on where the cursor is using the following logic:

  • When dropped between the lower and upper bounds of an existing key span, the key associated with all other samples in that span will be chosen. (This makes it much easier to split multi-key regions into velocity layers than it would be otherwise!)
  • When dropped in a gap between existing key spans the exact key it is dropped over will be chosen as the origin key for that span.

Re: PXToolkit Beta Available Now!
« Reply #8 on: April 27, 2019, 03:22:18 PM »
Oh My ... downloading now ...

Re: PXToolkit Beta Available Now!
« Reply #9 on: April 27, 2019, 04:42:55 PM »
Oh My ... downloading now ...

Let me know what you think.  There have been a few minor updates since I last posted here, to version 0.8.5.  Most notably this adds the ability to preview samples from within the PXToolkit app.  From the README:

Previewing Samples

Any attached MIDI controller can be used to play the current arrangement of samples. Samples will play at full volume until the corresponding key is released, at which point it will fade out rapidly. Velocity will be used to select the appropriate region, and round-robin alternatives will be selected among randomly. Stuck notes can be cured by sending "all notes off", or by clicking on any other window (PXToolkit releases its connection to MIDI inputs immediately when it loses focus along with silencing all audio playback.)

Samples can be also previewed when a single region is selected on the canvas or a sample is selected in the detail region on the right. Press the space bar or select the Edit > Play Sample menu item to get a two-second preview as a brief reminder of the mapped sound. When multiple samples are assigned in round-robin fashion, one of the samples will be selected at random.

The sample will be played back at its natural pitch, looped if appropriate, and adjusted for any tuning correction specified (remember that a +100 cent tuning indicates that the samples must be pitched down a semitone at playback, as the value indicates how far out of tune the original sample was recorded.)

LoboLives

Re: PXToolkit Beta Available Now!
« Reply #10 on: April 27, 2019, 09:58:53 PM »
How far can you stretch a sample across the keybed? I noticed in the official sample mapping program you could only do a specific portion of the keybed. It would be nice if you could just import a sample on to middle C and stretch it across the whole keyboard. I know the PX can do this with Sample Stretch but it would be nice to be able to just have this option in the mapping program too. I would say the same thing for looping but I know that’s likely problematic.

Re: PXToolkit Beta Available Now!
« Reply #11 on: April 27, 2019, 10:48:16 PM »
How far can you stretch a sample across the keybed? I noticed in the official sample mapping program you could only do a specific portion of the keybed. It would be nice if you could just import a sample on to middle C and stretch it across the whole keyboard.

PXToolkit will do exactly that.  The first sample added stretches to fill all available space, and subsequent additions negotiate with their neighbors to minimize pitch shifting by placing the boundary as close the the midpoint between the two as possible.  Of course everything can be tweaked manually from that starting point.

... not that I'd recommend stretching samples that far in general.  I haven't done deep investigations of the Prophet X pitch shifting strategy, but some basic spectrum analysis showed clear signs of aliasing creeping in when transposing material up more than two octaves (and no, that's not surprising, as high quality sample rate conversion is computationally intensive.  To get it mathematically "right" involves a summed series weighting the value of every single sample to produce each and every interpolated sample, which is insane enough that everyone takes some kind of shortcut.)

Quote
I would say the same thing for looping but I know that’s likely problematic.

Loops shouldn't be an issue.  They're specified in a sample-accurate fashion in metadata, and presuming the transposition algorithm isn't broken it should just treat the end and the start of the loop as if they were a contiguous series of samples.

LoboLives

Re: PXToolkit Beta Available Now!
« Reply #12 on: April 27, 2019, 11:57:48 PM »
How far can you stretch a sample across the keybed? I noticed in the official sample mapping program you could only do a specific portion of the keybed. It would be nice if you could just import a sample on to middle C and stretch it across the whole keyboard.

PXToolkit will do exactly that.  The first sample added stretches to fill all available space, and subsequent additions negotiate with their neighbors to minimize pitch shifting by placing the boundary as close the the midpoint between the two as possible.  Of course everything can be tweaked manually from that starting point.

... not that I'd recommend stretching samples that far in general.  I haven't done deep investigations of the Prophet X pitch shifting strategy, but some basic spectrum analysis showed clear signs of aliasing creeping in when transposing material up more than two octaves (and no, that's not surprising, as high quality sample rate conversion is computationally intensive.  To get it mathematically "right" involves a summed series weighting the value of every single sample to produce each and every interpolated sample, which is insane enough that everyone takes some kind of shortcut.)

Quote
I would say the same thing for looping but I know that’s likely problematic.

Loops shouldn't be an issue.  They're specified in a sample-accurate fashion in metadata, and presuming the transposition algorithm isn't broken it should just treat the end and the start of the loop as if they were a contiguous series of samples.

You recommended Sample Robot correct? Will it export the files in the correct format for the PX?

Re: PXToolkit Beta Available Now!
« Reply #13 on: April 28, 2019, 07:19:04 AM »
You recommended Sample Robot correct? Will it export the files in the correct format for the PX?

SampleRobot was a great help when putting together the VCO Pack.  After I got the initial recordings from @blewis and @Alan I did a fair bit of sample trimming, gain adjustment, and all the looping with SampleRobot.  It bulk exports .wav files at whatever sample rate and bit depth you specify, with all the metadata PXToolkit needs to pick up the loops and place the samples on the right keys.

In practice you can use anything that produces 16-bit LPCM 48kHz .wav files with loop information embedded in the standard "smpl" section of the file.  PXToolkit will also rely on information about the original pitch from "inst" or "smpl" sections, but if it's absent it will try to guess the correct pitch based on the filename (eg: "Piano c#3.wav" will be imported where you'd think it should be.)  When you export the final .zip PXToolkit will strip out everything unnecessary to ensure that the Prophet X gets exactly what it's looking for.

Re: PXToolkit Beta Available Now!
« Reply #14 on: May 11, 2019, 04:17:06 AM »
Thanks so much for doing this LG—your software is definitely better than the fare from 8DIO. Personally, I'd be embarrassed to release something so basic and poorly designed.

I've managed to get a reasonable workflow going, by

Autosampling in MainStage—the auto looping is superb. This is how you create professional software! It's a pity Apple dropped Redmatica's options for sample output.

Batch processing and sample/bit change (EQ, Normalise etc.) to WAVs in Izotope RX

Having to add manually to the USB dongle, remembering which folder names to create and not being able to organise and delete samples via a proper app—I felt like I'd gone back FORTRAN programming or sampling on my Mirage.

Software is supposed to make things easier, not harder. The annoying thing is that there's plenty of software that shows how to do this properly and 8DIO are a sampling company!

Stephen
« Last Edit: May 11, 2019, 04:51:41 AM by StephenJamesBennett »

Re: PXToolkit Beta Available Now!
« Reply #15 on: May 11, 2019, 05:24:38 AM »
Does anyone have any idea why renaming files on the USB should cause them not to load? I wanted to change the numbers (01,02) around. I renamed 12 files but about a third now refuse to load. I've checked and the spacing etc is the same on all the files.

Stephen

blewis

  • ***
  • 258
Re: PXToolkit Beta Available Now!
« Reply #16 on: May 11, 2019, 12:41:56 PM »
The contents of the zip files make reference to the file’s name. Lady Gaia had a rename utility that you have to use. You can’t just edit the file name or the data will be incoherent.

Re: PXToolkit Beta Available Now!
« Reply #17 on: May 11, 2019, 10:10:17 PM »
Thanks so much for doing this LG

Thank you for letting me know you’ve found it useful!  That’s definitely what I had hoped for in taking on the project.  I’ve loved watching a healthy community grow up around this instrument as I see so much potential in it.

As noted above, there’s a utility on my site for renumbering Prophet X instrument archives.  It’s command-line only at this point, but it’s fairly straightforward to use if you’re comfortable in Terminal.app on macOS or the Windows command prompt.

Re: PXToolkit Beta Available Now!
« Reply #18 on: May 12, 2019, 12:43:09 AM »
Thanks LG et al. That’s great! Dave Smith really needs to hire you.

Stephen

Re: PXToolkit Beta Available Now!
« Reply #19 on: May 12, 2019, 04:09:47 AM »
That works great, thanks.

With the rename, what would be nice is if you could take in a list of original filenames and batch process these using px-renumber.

Stephen