Piano in 162

Link to good samples/soundfonts at http://wiki.linuxaudio.org/wiki/free_audio_data

Moderators: MattKingUSA, khz

amc252
Established Member
Posts: 140
Joined: Fri May 05, 2023 12:24 am
Has thanked: 92 times
Been thanked: 22 times

Piano in 162

Post by amc252 »

Hello everybody,

I downloaded the Piano in 162 library and I have a couple of questions.

1) Have you tried it and what's your opinion about it?
2) It seems to play extremely low. I tried to change the <global> volume and even the regions values, but to no effect. I compared some single samples (C4 at forte) with other libraries, and the samples do not seem to be recorded at a lower volume.

Thanks for your feedback.

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: Piano in 162

Post by j_e_f_f_g »

I've tried it. This, and Salamander Grand, are the two best-sounding, free pianos I've tried. But both are among the largest (in ram usage) free pianos. I recommend at least 4 gig of free ram to run them.

Don't recall any volume/velocity issue. You've had this issue with other vsts. See if your midi keyboard offers a choice of "velocity curves". A compressed curve may better suit your playing style.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

amc252
Established Member
Posts: 140
Joined: Fri May 05, 2023 12:24 am
Has thanked: 92 times
Been thanked: 22 times

Re: Piano in 162

Post by amc252 »

j_e_f_f_g wrote: Mon Jul 10, 2023 9:46 am

I've tried it. This, and Salamander Grand, are the two best-sounding, free pianos I've tried. But both are among the largest (in ram usage) free pianos. I recommend at least 4 gig of free ram to run them.

Don't recall any volume/velocity issue. You've had this issue with other vsts. See if your midi keyboard offers a choice of "velocity curves". A compressed curve may better suit your playing style.

Thanks for your reply.

Yep, 162 and Salamander are huge, but still seem to play with no major RAM issues (around 25% according to htop readings).
I did have velocity (or better said low volume) issues with a couple of other libraries (Steinway B and Yamaha C7).
My MIDI is an older Clavinova, and I don't think it offers velocity curve controls.
But I'm willing to tinker with the SFZ files if hat might help. After all, I'm trying to learn the inner working of the SFZ format and there's no better way than opening the toy.
I already tried the <global> volume=6 , as you suggested in another post, but didn't see any difference this time.
the 162 SFZ comes in the following structure:

Code: Select all

<region>
sample=25-PedalOffPiano1Close.flac
lokey=a2
hikey=a2
lovel=34
hivel=64
hirand=0.500
pitch_keycenter=a2
volume=3
hicc64=63

I tried changing the individual regions value as well, but no dice.

Among the other libraries I tried, the best on this regard is the Mats Helgesson Maestro Concert Grand Piano.
Right off the bat it sounds wonderful, the only library I don't need to raise the gain at all.
Of course, I compared its velocity parameters with the 162, and they do not seem dramatically different.

If you have any other suggestions I might try, that'd be great.
I've made a copy of the 162 files for experimental purposes, so no harm can be done.

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: Piano in 162

Post by j_e_f_f_g »

There are certain opcodes which effect the volume. I'd start by commenting out all the lines with these opcodes. You do this by putting a // (2 forward slashes) at the start of the line. For example, here I comment out a volume line:

Code: Select all

// volume=100

Here are the volume-related opcodes:

Code: Select all

volume
amp_veltrack
ampeg_sustain
ampeg_vel2sustain
ampeg_hold
amp_velcurve_1 to amp_velcurve_127 (search for "amp_velcurve_")
gain_cc7
gain_cc11
xf_velcurve

The first 4 are the most important.

After you comment them all out, try the sfz file to see if you still have volume issues. If not, start to uncomment the lines, starting with only the lines in the global/master/control sections first. The opcodes in the region sections will be last.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

amc252
Established Member
Posts: 140
Joined: Fri May 05, 2023 12:24 am
Has thanked: 92 times
Been thanked: 22 times

Re: Piano in 162

Post by amc252 »

j_e_f_f_g wrote: Tue Jul 11, 2023 2:04 am

Here are the volume-related opcodes:

Code: Select all

volume
amp_veltrack
ampeg_sustain
ampeg_vel2sustain
ampeg_hold
amp_velcurve_1 to amp_velcurve_127 (search for "amp_velcurve_")
gain_cc7
gain_cc11
xf_velcurve

Thanks again for the pointer.

Unfortunately, none of the above opcodes is present in the .sfz.
all I found is:

Code: Select all

<group>ampeg_release=1.1 ampeg_attack=.002

and then the regions parameters:

Code: Select all

<region>
sample=08-PedalOnMezzoForte1Close.flac
lokey=e1
hikey=e1
lovel=81
hivel=101
hirand=0.500
pitch_keycenter=e1
volume=6
locc64=64

What else could I try?

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: Piano in 162

Post by j_e_f_f_g »

I see a volume opcode there. Are you sure you commented out all those opcodes?

Frankly, the next thing I'd do is get a program that displays the midi messages your clavinola is outputting. I'd want to make sure the clavinola isn't outputting volume controller (7) messages with a really low value, or expression controller (11) likewise. I'd also want to check the velocity values on all the note-ons. When you play with medium (normal) force, those velocities should be around 64. Playing with full force should give you velocities over 115 (hopefully close to 127)..

I'm beginning to suspect maybe your keyboard is outputting very low velocity, even on the loudest notes. In an sfz with just one velocity layer (like Maestro, which btw is one of the better-sounding small pianos), it may not make a difference. In a sfz with multiple layers, a low velocity from the Clavinola may be limiting you to hearing only the lowest velocity layers.

If the problem is indeed the clavinola, I would first recommend replacing it. Other (less effective) solutions may be to use one of the volume-related opcodes listed in my previous post to compensate for the clavinola's low velocity. I'd start off first with amp_veltrack. This sets the overall "velocity sensitivity" for all midi notes. "Velocity sensitivity" is:

The difference in volume between your loud notes and your soft notes

If you set:

Code: Select all

amp_veltrack=0

The difference between loud and soft is 0. In other words, no matter how soft or loud you play a note, the piano sound is always the same volume. I'd try this to see if the volume is at least acceptable. Assuming it is, now you just need to start increasing the sensitivity like so:

Code: Select all

amp_veltrack=15

You'll start to hear more of a difference between loud and soft. As you try increasing values (100 is the highest -- it represents 100% or the greatest difference in volume), eventually you should arrive at an acceptable balance where even the clav's limited velocity range gives you an adequate dynamic range.

If you find that you can't dial in a value that gives you enough volume on the loud notes, while not too low volume on the soft notes, you could try using the 127 steps of the amp_velcurve_XXX opcodes. This allows you to construct 1 (and only 1) custom velocity curve for the sfz player itself. But you have to define 127 different opcodes (amp_velcurve_1 upto amp_velcurve_127) to individually set the velocity sensitivity of each of the 127 midi note velocities. So, you'll want to try amp_veltrack first.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

amc252
Established Member
Posts: 140
Joined: Fri May 05, 2023 12:24 am
Has thanked: 92 times
Been thanked: 22 times

Re: Piano in 162

Post by amc252 »

I truly appreciate your taking the time to help me trobleshoot this problem.

Here's a summation of what I tried so far:

A) Yes, I commented out all the volume= entries (the tidbit posted above is just for reference).
B) I also tried commenting out the lovel= entries. This raised the volume to a good output, but turned the tone awfully bright.
C) As far as I could tell, 162 comes in 5 velocity layers:

Code: Select all

Pianissimo 0-33
Piano 34-64
MezzoPiano 65-80
MezzoForte 81-101
Forte 102-127

Same as the Maestro:

Code: Select all

p 0-29
mp 30-59
mf 60-89
f  90-108
ff 109-127

I also tried replacing the 162 velocity values with the Maestro, but it didn't change much.
D) I don't have this problem with any other library, including the big Salamander which comes in 16 layers of velocity or Dore Mark's Experience Libraries, which also have multiple microphones perspectives. So, it seems unlikely the keyboard output is the problem.
I'll take a look at some .MID file I recorded with arecordmidi, to see what values appear there.
However, when I play any such .MID with other libraries than 162, they play fine.

I'll also follow your suggestion, and add the amp_veltrack opcode to see if it affects the volume.

amc252
Established Member
Posts: 140
Joined: Fri May 05, 2023 12:24 am
Has thanked: 92 times
Been thanked: 22 times

Re: Piano in 162

Post by amc252 »

UPDATE

The solution was so simple I'm almost ashamed to post it but, hey I'm here to learn.

For some reason, I assumed the max volume= values that could be used was 6.
Then I recalled your post where you used the example volume=100.
Thanks God I didn't try with a 100 values, but set the volume=20 just for the sake of trying.
Lo and behold, now 162 plays fine.

So, I was able to finally listen to this library.
It's indeed a sweet piano sound, perhaps too mellow for my taste, but very playable.
I hope others try it and post their two cents here.

Thanks again for the help.

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: Piano in 162

Post by j_e_f_f_g »

Honestly, I forgot that volume goes higher than 6. When I advised you above, I was looking at some incorrect page that says the value is in dB and the highest value is 6dB. I remember now I discovered it goes higher just by doing what you did -- trying it.

There's a bit of discrepancy about sfz. The specification was made by 12 Tone Systems, the maker of CakeWalk (and they later changed the company name to CakeWalk) and Sonar, for use in their software sampler (I can't remember the name right now. It began with a "D" -- Dimension perhaps?). They wanted other companies to support sfz, so they published the spec. But the original document omitted a lot of details about the various opcodes, and consequently other people interpreted the opcodes differently.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
Largos
Established Member
Posts: 638
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 72 times
Been thanked: 186 times

Re: Piano in 162

Post by Largos »

Dimension was a sfz playing rompler but they bundled more than one bit of software which played sfz.

amc252
Established Member
Posts: 140
Joined: Fri May 05, 2023 12:24 am
Has thanked: 92 times
Been thanked: 22 times

Re: Piano in 162

Post by amc252 »

I've explored 162 a bit more.
The number of samples is staggering, 3520, 4.6GB, divided into Close and Ambient perspective with 5 dynamic levels and 2 round robins.
About the latter, this is the first library I found that features round robins. Would liquidsfz or linuxsampler handle them automatically?

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: Piano in 162

Post by j_e_f_f_g »

amc252 wrote:

liquidsfz or linuxsampler handle <round robins> automatically?

I know Linuxsampler does. I'd be very surprised if all other sfz players didn't also, since this is an important, frequently used feature. (ie, the seq_length and seq_position opcodes)

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

amc252
Established Member
Posts: 140
Joined: Fri May 05, 2023 12:24 am
Has thanked: 92 times
Been thanked: 22 times

Re: Piano in 162

Post by amc252 »

j_e_f_f_g wrote: Mon Jul 17, 2023 5:25 pm
amc252 wrote:

liquidsfz or linuxsampler handle <round robins> automatically?

I know Linuxsampler does. I'd be very surprised if all other sfz players didn't also, since this is an important, frequently used feature. (ie, the seq_length and seq_position opcodes)

Thanks, that's very interesting

Simon Dalzell, creator of Piano in 162, remarked on the Bedroom Producers Blog:

"I admit the samples are a bit quieter than they probably should be. I left them almost exactly as they were recorded, which maybe wasn’t actually the best idea. If you need more volume, try putting something like an equalizer or compressor on the instrument channel, then using the volume or gain function of that plugin.
Problems like these are why the library is free. I’ve learned a ton in the process of building and distributing this thing, and future libraries will require much less updating and fiddling."

It's still a fine sounding library and, given the vastness of the samples provided, in my opinion worth tinkering with.

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: Piano in 162

Post by j_e_f_f_g »

Ok then, The original samples are recorded low volume. Your easiest solution is already what you've done -- just use the volume opcode with a large enough value to compensate.

With waves that are recorded/stored in 24 bit resolution, this usually works fine. With 16-bit waves, it can often raise the noise floor so that you'll start to hear any electronic background noise (produced by the audio interface used to record the waves). So for these, I may load the waves into an audio editor, "normalize" them, and then use a "noise reduction" algorithm to reduce that background noise. But be careful picking your tool. The settings for noise reduction software needs to be finely adjusted for each wave. Noise reduction apps with few settings you can adjust, or which work only via presets, may not be as effective at isolating/removing the noise. And a common artIfact of appling noise reduction badly is you'll hear a "gurgling" effect added to the audio -- ie, a fluctuating phase-shifted-sounding noise in the background.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

amc252
Established Member
Posts: 140
Joined: Fri May 05, 2023 12:24 am
Has thanked: 92 times
Been thanked: 22 times

Re: Piano in 162

Post by amc252 »

What I also tried was replacing the different regions volume= values for multiples of the original setting (like pianissimo volume=6 >volume=18) to preserve the dynamic relations.
It still needs finessing but seems to work.
The Piano in 162 website gives no information whether it is 24 or 16 bits, but so far the noise level seems okay.

Post Reply