About to start sampling my own piano, need some workflow tips.

Sampler and Sampling discussion (techniques, tips and tricks, etc.)
RELATED
PRODUCTS

Post

As I already said ... Wavelab (or your wav editor of choice) is a better choice than a DAW, but there is no getting around the huge amount of editing involved.

I have sampled a few pianos, and even with just one sample per note, it can take many hours (if not days). When sampling synths I tend to record just the C and F# notes, but once you get into velocity layers it's still lots of (boring) work. You have to make sure you edit to exactly the start point for every sample. I usually put a short fade in on each sample to avoid clicks.

Labelling each sample is important too for when you come to mapping them out. I use this method:

Piano_C0_1
Piano_C0_2
Piano_C0_3
Piano_C0_4

with 1 being the softest and 4 the loudest. Doing that with 6 velocity layers, and then round robin on every key will be an epic task.

Post

The thing is, wavelab's a bit expensive for me right now. Thanks for the tips. BTW, what do you think is the ideal amount of samples per velocity? Do you think 4 is too much? I've look into some commercially available piano Kontakt instruments and I found some that only have one sample per velocity and they sound totally fine (Or maybe there's another thing that makes it sounds randomized idk).

Post

IMO round robins with piano aren't as big a deal as they would be with a guitar or a hi-hat. It's not so much that four is too much, it's more that if you're going to put all that work into recording that many samples, it might be better invested in recording fewer round robins but more of something else. Maybe more velocity layers or separate sustain pedal on and pedal off samples.

Post

Dangerman wrote:The thing is, wavelab's a bit expensive for me right now. Thanks for the tips. BTW, what do you think is the ideal amount of samples per velocity? Do you think 4 is too much? I've look into some commercially available piano Kontakt instruments and I found some that only have one sample per velocity and they sound totally fine (Or maybe there's another thing that makes it sounds randomized idk).


There are cheaper audio editors around, including lite versions of Wavelab. Acon Digital make one iirc. Then there's Wavasour, which is free (never used it)

I think 4 velocity layers is plenty, but I'm no pianist. Is this project for yourself, or do you plan to do a commercial release?

Post

thecontrolcentre wrote:As I already said ... Wavelab (or your wav editor of choice) is a better choice than a DAW, but there is no getting around the huge amount of editing involved.

I have sampled a few pianos, and even with just one sample per note, it can take many hours (if not days). When sampling synths I tend to record just the C and F# notes, but once you get into velocity layers it's still lots of (boring) work. You have to make sure you edit to exactly the start point for every sample. I usually put a short fade in on each sample to avoid clicks.

Labelling each sample is important too for when you come to mapping them out. I use this method:

Piano_C0_1
Piano_C0_2
Piano_C0_3
Piano_C0_4

with 1 being the softest and 4 the loudest. Doing that with 6 velocity layers, and then round robin on every key will be an epic task.
Something that always amazed me is: How do you control the attacks so that each note gets consistent to the others? It's almost impossible. Or is there some machinery to play the piano?

I noticed these problems in many commereciali libraries, where some notes in some velocity layers suddenly feel like they do not belong to the same piano.
Fernando (FMR)

Post

Deadmau5 has a steinway in his house which is controlled by midi. Boy it would be a joy if i had something like that.

And this project is for myself. Hopefully itll add some charactar to my own sound.

Post

Audacity works fine as a free editor.
Honestly sampling a piano for your own use is like building your own car from the nuts and bolts up. It's just not worth the effort. It will take you endless hours of drudgery with very little payoff.
Image

Post

bigcat1969 wrote:Audacity works fine as a free editor.
Honestly sampling a piano for your own use is like building your own car from the nuts and bolts up. It's just not worth the effort. It will take you endless hours of drudgery with very little payoff.
You know, this is the piano I've heard my mother play with throughout my childhood - probably the reason I'm making music right now. I got such chills when I played with the little kontakt demo I did, that I just knew I must do it. It'll inspire the f*** out of me in the future, so I guess wether or not it's worth it is subjective.

Post

bigcat1969 wrote:Audacity works fine as a free editor.
Honestly sampling a piano for your own use is like building your own car from the nuts and bolts up. It's just not worth the effort. It will take you endless hours of drudgery with very little payoff.
I disagree. I've sampled my parents piano twice, and I love to play that instrument! It was a very rewarding experience and well worth the effort.

I still don't think the round robin samples are necessary. Put that same effort into more velocity levels. If you have enough different velocities, the net result will be the same or possibly better. Unless you are a brilliant pianist, it isn't likely that you're going to play at exactly the same velocity every time anyway. If you want to be able to play hard, loud, repeated bits with a sequencer, maybe just do round robin samples for the loudest velocity layer.

The way I did my recording was to say out loud the name of the note, then record all of the velocities for that note, and so on. I used Sound Forge for editing. The spoken note names made it easy to split it up into regions which I then further split into regions per velocity with appropriate region names. I named each region and batch exported them to individual files.

Audacity is another free editor you could try. I've only used it for basic editing, so I don't know if it gives you region and batch processing tools to make life easier.
Incomplete list of my gear: 1/8" audio input jack.

Post

If I were going to do this I would write a tool with the following features:
  1. Pitch detection of note and name based upon that
  2. Envelope detection and automatic cropping (this can easily be 100x more accurate than manual)
  3. Velocity detection including both spectral and RMS measurements
  4. Phase detection for variation layers (this is a bit complex)
Such a tool could be used by playing single notes at random and following the "OKAY" or "BAD" messages on screen for long enough to collect the full range of the instrument. Variations with minimal distinction could then be cropped out of the set automatically.

Does such a thing not already exist? It seems extremely trivial, I've already implemented all the components save start-phase detection for other purposes and I would expect this to be reasonably easy to assemble into a tool for the purpose.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

Aciddose: well, what are you waiting for? You've got a viable product on your hands! I'd buy it.

EDIT: Seriously. It did seem obvious now that you describe it, but it has never been done before. A sort of manual auto sampler where it coaches you on the notes and velocities which still need to be captured as it fills in the gaps. This could be great for all kinds of acoustic instruments.
Incomplete list of my gear: 1/8" audio input jack.

Post

Seriously, if you write a tool like that I wanna sign up to beta test! I love playing with mappings and controls, recording samples is OK, but editing and labeling them is a giant pain and it's obvious that a lot of it can be automated.

I've put too much effort into sampling myself playing my basses and I'm nowhere near stopping, it does become a personal obsession. It's like I'm trying to build a virtual giant synthesizer with oscillators being a bunch of clones of myself sawing away at a bunch of double basses.

Post

Such a project would be at least a year-long thing. I could likely get a tool working for myself in a couple weeks but most of the effort would go in to GUI, interfaces and improvements to support a wide range of instruments.

Most of the time if you know the range of pitch you're supposed to be sampling you can just use a narrow filter to improve the accuracy of frequency/phase/envelope detection. Say we know we're inputting 261hz, we can center a bandpass filter at that frequency.

Unfortunately to make it practical for every instrument under the sun would be a bit complex. It would need a large number of algorithms to work reliably in all cases and if these algorithms should be selected automatically this would require a lot of work and fine-tuning over a long period of time.

I think you over-estimate the accuracy of such a tool and how easy it would be to use. It would definitely be far more easy to use than manually editing every sample and manually typing every time, but it would only be an aid, not a complete replacement.

The GUI/interface would be the most important component by far. What I describe as already being complete are only the most basic components. The framework itself and the GUI would require a large investment.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

Oh, I'm not suggesting you whip something up in the next five minutes!

But I do think there is a market for such a product. I would aim for something that collaborates with the user rather than attempt a fully automated solution. Maybe bypass the note detection part entirely. Implement a calibration step to train the software what a high and low velocity look like. The real benefit here would be the interactive coaching and mapping of velocities, paired with auto slicing, naming, and exporting.

And yes, I've done enough development of my own to know that the GUI is at least 75% of the work.
Incomplete list of my gear: 1/8" audio input jack.

Post

Well I was thinking the auto-detection of these parameters would just map settings for you on to the GUI. So you'd have a piano keyboard or note (like: c-4) and estimated velocity range (in 1/8ths maybe?) and phase (again, 1/8ths?). It would automatically detect a new sound and start recording every time.

Once the note had entered the sustain phase and pitch was detected and stable it could officially reflect that a note had been detected on the GUI. It would be using individual processes to handle frequency/velocity/phase rather than linking them together.

After a note was detected it would be able to draw in its estimate for the envelope, peak level, RMS, attack/decay/sustain/release times and so on.

All of this would be displayed in a graph that could then be edited after the note ended. You could click on the key to change the frequency or note (estimate: c-4 override: c#4) move the start/end positions of the sample (it would grab an extra second or adjustable length before and after) and adjust the envelope points in the graph.

From all that you'd have the original estimated velocity/peak/RMS and again the "override" that you've set manually.

A new note would create a new recording every time and you could go back to each to make manual adjustments as you go.

So the whole thing is quite complex, I've already described at least three or four months of work :)

It's a cool idea and I'm sure a market exists. I'm just not motivated to do it myself at the moment, unfortunately.

I'll try to get my pitch detection plugin to work with basic sounds and fix it up to see if I can do the automatic recording (with pre/post trim lengths) in a very "alpha" way. Unfortunately though I suspect the algorithm I have working now has a hard time with any complex waveforms.

I designed it to detect pitch for oscilloscopes and tuners and focused mostly on basic waveforms. For plain waveforms like pulse/ramp/triangle it detects pitch more perfectly and quickly than any other algorithm I've tested by narrowing in on the frequency rather than tracking it. The original purpose of it was to automatically tune an analog synthesizer by measuring and adjusting a pitch->cv table.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post Reply

Return to “Samplers, Sampling & Sample Libraries”