Japanese
A Free SFZ/WAV Semi-Concert Grand Piano

INDEX: News | Listening to a Preview | Download | Licence | Upgrade the sound of your digital piano! | Technical info | Acknowledgments

Volume Measurement
Volume of all sound sources at each velocity layer (measured in dB)
Waveform of A4
Accurate-Salamaner waveforms per velocity layer (A4) showing perfect continuity

The Noct-Salamander Project is remastering existing sampled sound source sets to produce new SFZ grand piano soundbanks of instrument maker-level quality, using a physics-based approach. The "homogeneity" and "continuity" of volume, overtone, envelope, and delay, which are directly related to ease of control, which is important for performers who handle delicate expressions, are thoroughly pursued.

The Salamander Grand (the widely used SFZ soundbank) with its high recording quality was used as the original source set, and all 480 sampled data in it were carefully re-mastered. We spend a great deal of time setting up and adjusting the processing system in order to achieve perfect quality (at the limit level of specifications).In addition to minimal filtering to preserve the original tone, spot noise that may have been caused by the recording was removed, vibratory noise from sources other than the hammers and strings was eliminated, and extensive restoration was performed to adjust the tone caused by the condition of the piano used for sampling (deteriorated hammers, lack of tuning, etc.) and to correct fatal problems.

In Version 5, we have released four different sound source sets to support various types of music. The SFZ+WAV soundbanks (48kHz24bit, size: 1.6GB each) are provided free of charge (license: CC-by). In addition, all source code and parameter files are also available to the public.

Our goal is to create soundbanks that will please both performers and listeners, and our pursuit of perfect quality will continue. Upgrading of specifications may be considered depending on usage.

News

YAMAHA Traditional-C GP
YAMAHA Traditional-C Semi-Concert GP (Photography cooperation: Jalan-jalan)

Listening to a Preview

Listen to several classical masterpieces created using CoolSoft VirtualMIDISynth.

Chromatic scale (Layer=1)

Check for homogeneity/continuity of volume and sound quality.

Original Salamander Grand V.3 (MP3,48kHz) Accurate-Salamander Grand V.5.2 (MP3,48kHz)

Chromatic scale (Layer=8)

Original Salamander Grand V.3 (MP3,48kHz) Accurate-Salamander Grand V.5.2 (MP3,48kHz)

Comparison of Accurate-, Twilight-, Moonlight-, and Noct-Salamander tones

Famous Pieces No.1

Katsuhiro Oguri (Professional Musician) has given us permission to use MIDI data. Please listen to the genuine performance.
Sazanami was used for FIR reverb effect. No equalizer is used.

[1]... [4], Accurate-, Twilight-, Moonlight-, Noct- in that order. We hope this will be helpful to you in using different soundbanks for various music pieces and scenes.

[1] Rachmaninov - Prelude, Op. 3 No. 2 [2] Ravel - Pavane pour une infante defunte, M.19
[3] Liszt - Liebestraum No. 3, S. 541 [4] Debussy - Suite bergamasque, L. 75 - III.
Clair de lune

Performance by (C) Katsuhiro Oguri. Note that all MP3 files are not distributable.

Famous Pieces No.2

[2][3][4][5][6]: Katsuhiro Oguri (Professional Musician) has given us permission to use MIDI data.
[1]: Used MIDI data is found in http://piano.s20.xrea.com/midi/.
Sazanami was used for FIR reverb effect. No equalizer is used.

Twilight-Salamander is used for [5].
Moonlight-Salamander is used for [2][4][6].
Noct-Salamander is used for [1][3].

[1] Chopin - Nocturne No. 8, Op. 27 No. 2 [2] Debussy - Images I, L. 110 - I.
Reflets dans l'eau
[3] Satie - Gymnopedie No. 1
[4] Debussy - Reverie, L. 68 [5] Schumann - Kinderszenen, Op. 15 - 7. Traumerei [6] Chopin - Barcarolle, Op.60

[2][3][4][5][6]: Performance by (C) Katsuhiro Oguri. Note that all MP3 files are not distributable.

Download

Version 5.2f

In addition to "F#1" and "C3", "C6" has been restored, bringing the soundbanks closer to perfection. Pronunciation delays are even shorter than in V.4. In V5.1, continuity at high frequencies around A4, C5, A5, C6, and D#6 has been improved. In V5.2, continuity has been improved and filtering has been minimized between C2 and C4. In V5.2f, we fixed the problem with damper pedal processing in the SFZ v1 software, further made F6 and F#6 and above half damper and damperless respectively, and "repedaling" was supported, perfectly reproducing the original behavior of a grand piano.

Ver.5 provides multiple piano sounds based on soundbank #0. Multiple SFZ files with different bass/treble balance are included. Please try the one with "Recommended" in the file name first.

To enable "Release String Resonances", "Hammer Noise", and "Pedal Noise", set CC20=64, CC21=64, and CC22=64 respectively. They are disalbed by default. We recommend that make them disabled in SFZ v1 software.

Soundbank#0: Accurate-Salamander Grand Piano

Homogeneity and continuity were thoroughly pursued without changing the tone of the original Salamander Grand as much as possible. The bright YAMAHA C5 tone is accurately reproduced.

Soundbank#1: Twilight-Salamander Grand Piano

The low velocity side of soundbank #0 was adjusted softly.

Soundbank#2: Moonlight-Salamander Grand Piano

This provides softer sound than soundbank #1. Inherits the sound of soundbank #0 in high velocity.

Soundbank#3: Noct-Salamander Grand Piano

This is the most gentle soundbank and is suitable for relaxation music and accompaniment. At the highest velocity, it can reproduce a more impactful sound than the V4, expanding its versatility.

Noct-Salamander Version 4.1

Improved volume continuity within each velocity layer.
This version includes 5 different SFZ files to select the bass/treble balance.

Licence

CC-by (same licence as the original version)
http://creativecommons.org/licenses/by/3.0/

Changelog

V3.0 (Nov.24,2023)
* First release based on Salamander Grand Piano V3+20161209.
V4.0RC1 (Mar.3,2024), V4.0RC8 (May.9,2024)
* Applied 4 filtering with effective rate, reassigned WAV, adjusted all 
  volume of WAV, erased noises and restoration of overtone/envelope F#1 and notes around C3.
V4.0 (May.14,2024)
* Amount of delay was equalized for each note.
V4.1 (May.29,2024)
* Improved volume continuity.
* Testing the balance between bass and treble.
V5.0beta1 soundbank #0:"Daylight" (May.31,2024)
* Improved processing system to release multiple soundbanks.
* Minimized amount of delay.
V5.0beta2 (Jun.7,2024)
* soundbank #0:"Daylight" -- This offers instrument manufacturer-level quality 
            while maintaining the tone of the original Salamander Grand.
* soundbank #1:"Twilight" -- The low velocity side of soundbank #0 was adjusted
            softly.
* soundbank #2:"Moonlight" -- This provides softer sound than soundbank #1.
            Inherits the sound of soundbank #0 in high velocity.
* soundbank #3:"Noct" -- This emphasizes gentleness with a tone similar to that
            of a large grand piano.  Most suitable for relaxation music.
V5.0RC1 (Jun.19,2024), V5.0RC3 (Jun.27,2024)
* Tone of "C3" was further improved by a new restoration process.
* Noise during the attack of "A2" was eliminated.
* Waveform of "F#1" was improved.
* Renamed "Daylight" -> "Accurate".
V5.0 (Aug.5,2024)
* Volume adjustment for all sound sources is performed using the values 
  measured by FFmpeg (first 0.5 seconds of each WAV file).
* Adjustment of the volume ratio between hammered sound and string sound 
  on notes where the audible volume does not match the measured volume 
  (higher than F#4)
* High-frequency vibration noises in several notes around F#5 are removed 
  by narrow-band filters.
* High-frequency components (around 3000Hz and 6000Hz) in mid-range notes are adjusted
  individually to improve continuity.
* "F#1" and "C3" are generated from "A1" and "A2" respectively.
* Code for restoring "C6" is added to mk_special.sh.
V5.1 (Aug.30,2024)
* amp_veltrack of SFZ files are changed: 76 => 83.
* Reviewed and improved removal of non-overtone frequency components between A4 and C8.
* Improved amount of high-frequency component at A4,C5,A5,C6 and D#6.
* Improved tuning of C3: -3 => -2 cent.
V5.2 (Sep.18,2024)
* Improved continuity and minimized filtering between C2 and C4.  This results
  in a higher quality while keeping the tone closer to that of the original 
  Salamander.
V5.2a (Jan.23,2025)
* Updated the SFZ files:
 - Compliant with SFZ v1 and uses SFZ v2 features.
 - Fixed CC64 problems found on SFZ v1 softwares such as VirtualMIDISynth.
 - To enable "Release String Resonances", "Hammer Noise", and "Pedal Noise", 
   set CC20=64, CC21=64, and CC22=64 respectively.  They are disabled by 
   default.
 - By making F6 a half damper and F#6 and higher damperless, the behavior of a
   grand piano is perfectly reproduced.
V5.2f (Feb.4,2025)
* Updated the SFZ files to enable "repedaling".
  (Thanks to Andrew <https://github.com/esesur>)
* Moved amp_veltrack to the <global> section of the SFZ files.

Upgrade the sound of your digital piano!

Digital Piano
Can be used with non-powered laptops
Effectors
Four inexpensive effectors we tried

Enhance the sound quality of your digital piano. Choose from 4 soundbanks (Accurate-, Twilight-, Moonlight- and Noct-Salamander) to match your music.

Required Equipment

Setup

sforzando

The above will allow you to play with the Noct-Salamander Grand sound when using a digital piano keyboard.

Adjustments


Technical info

Development Style
Development of Noct-Salamander Project

For this project, a dedicated processing system was developed to remaster the Salamander Grand soundbank, which has a high recording quality.

"Salamander Grand Piano" Web site:
https://freepats.zenvoid.org/Piano/acoustic-grand-piano.html

By setting the optimal codes and parameters for each sound source (WAV file) in the system, a new set of sound sources with high homogeneity and continuity can be generated.

The remastering process is divided into the following two stages:

  1. Process to make the original Salamander Grand higher quality
    (Generate Accurate-Salamander Grand Piano soundbank)
  2. Tone modification process
    (Generate Twilight-, Moonlight- and Noct-Salamander Grand Piano soundbanks)

Each is described below.

Process to make the original Salamander Grand higher quality

Configuration of Assignment
WAV file reassignment (assign.txt)

Volume Measurement
Volume of all sound sources at each velocity layer (measured in dB)

The quality of the soundbanks, such as Twilight-Salamander, generated in the second stage of processing will inherit the results of this first stage of processing. Therefore, this first stage should be as perfect as possible.

The processing in the first stage completes the continuity in the velocity and note directions. To achieve this, the following processing is performed. Of course, to ensure that sound quality is not compromised, we consistently use floating-point arithmetic:

  1. Evaluate the amount of overtone (not the volume), and reassign the WAV files. WAV files with obvious recording errors are removed.
    (Purpose: To minimize subsequent filter processing. See assign.txt)
  2. Set the playback start position for all WAV files and equalize the amount of delay for each note.
    (See pcm_seek_pos.txt and mk_special.txt)
  3. Fixed tuning errors.
    (Note: The amount of error was negligible. See tuned.txt)
  4. Two filters (frequency x 12, frequency x 26) to adjust for excessive amount of overtone that cannot be resolved by WAV file reassignment in 1.
    (See overtone_root.txt)
  5. Adjust the volume of all WAV files.
    The volume of the first 0.5 seconds of all 480 WAV files was measured and adjusted so that all layers had the same volume curve (flat in the mids and lows, linear decay in the highs).
    (See vol_factor.src.txt and vol_factor_base.txt)
  6. Adjustment for lack of fundamental tone volume (mainly in the middle to treble)
    Adjusting the volume with the measurement in 5. reveals a lack of fundamental tone amount by aural perception, so adjust the amount of string tones with a narrow-band filters and go back to 5. and readjust the volume.
    (See filter_direct.txt)
  7. Eliminate spotty noise that may be caused by the recording.
    (See mk_special.sh)
  8. Eliminates vibration sounds other than hammer and strings using narrow-band filters
    (See filter_direct.txt)
  9. Excessive amount of overtones (mainly in Layer 1) that cannot be resolved by the filter processing in 4. and high-frequency components (around 3000Hz and 6000Hz) in mid-range notes are adjusted individually.
    (See filter_direct.txt and mk_special.sh)
  10. Problems that cannot be solved by any of the above processes (envelope problems, fatal problems, etc.) are handled by individual processing.
    (See mk_special.sh...F#1,F#2,A2,C3,D#3 and C6)

The YAMAHA C5 grand piano used for the Salamander Grand was tuned fairly accurately. The piano is considered to be in generally good condition, and its tone, although quite uneven, is continuous throughout. However, only "C3" and "F#1" had an "abnormal tone" that could have been caused by defective hammers or strings, and the continuity of sound quality was broken there. Of the individual processes shown in the last item in the list above, the most extensive was the restoration process for the two notes, which we spent a great deal of time working on:

The restoration process was best done in two ways: 1. using the original sound source, and 2. using the sound source of the note closest to the original. As a result, for both "F#1" and "C3", method 2 resulted in a better sound. In the case of "F#1", we realized that the original sound source did not have the necessary frequency components, so we gave up on the restoration using method 1. In the case of "C3", the method 1 was still good, but the attack part could not be restored properly.

Therefore, we are using the "A1" and "A2" sound sources for the restoration process of "F#1" and "C3", respectively. Of course, this is not simply a matter of using the same sound sources over and over again. Spectral analysis is used to fine-tune the attack strength, overtone components, etc., so the restored sound sources have a fairly natural tone.

All of the above processes have resulted in the desired tones for all 88 keys. The production of the Accurate-Salamander Grand Piano has been finished.

Tone modification process

Free high-quality soundbanks are not often released if we wait

The original Salamander Grand was not well suited for gentle (piano or pianissimo) expression due to its hard sound on the low velocity side. The same is true for the higher quality Accurate-Salamander.

For such a deeply artistic theme, a new sound source set should be created by sampling another grand piano, but it is easy to imagine that there are not many free high-quality sound source sets available if we wait. This is because, in order to obtain a high-quality soundbank, the completeness of the piano, the condition/tuning of each component of the piano, and the sampling/mastering method must all be at a high level of completeness. If there is a problem with any of these, a great deal of effort will be spent on "essentially unnecessary processing", as seen in the "first stage processing" of this project. Therefore, it is extremely difficult to achieve high quality at low cost, and the good ones will inevitably cost money.

But that doesn't mean we have to give up completely on free new high-quality soundbanks. We can generate another soundbanks by processing the Accurate-Salamander data. Of course, this is a far cry from "real" sampling, but even a pseudo-sampling is far better than no soundbanks, and there are applications where this is still sufficient.

Reproduces the sound of a larger grand piano

Configuration of Overtone
Overtone configuration file "overtone_config.moonlight5.0.txt"

The beautiful tone of large grand pianos is attributed to the steep decrease in overtones from low to high and to the difference in inharmonicity. The former is particularly important, with very few high-frequency components in the low velocity middle and high tones. So it is perfectly capable of gentle (piano or pianissimo) expression. This is a natural consequence of physics. That is, small objects tend to emit high frequencies and large objects tend to emit low frequencies. The YAMAHA C5 used for the Salamander Grand is not a large size, so it is natural that it would produce a tone with a lot of high frequencies.

This means that if we have good sampling data from a non-large grand piano, we can obtain a tone similar to that of a large grand piano by adjusting its frequency components (mainly mid and high tones) and envelope. That is the second stage of processing, which performs the following tone modification process on the Accurate-Salamander soundbanks that have already been processed for high quality:

In pursuit of natural sound quality, the same filters used in the first stage of processing are mainly used for filtering, and furthermore, the filtering and envelope modification levels are smoothly varied according to the scale. In the actual processing, floating-point arithmetic is consistently used from the original Salamander Grand to ensure that sound quality is not compromised, and only the final result is output as a 24-bit integer.

Through this process, the three sound source sets Twilight-Salamander, Moonlight-Salamander and Noct-Salamander approach the tone of larger grand pianos more closely than the YAMAHA C5. Thus new soundbanks have been available that we can use for gentle (piano or pianissimo) expression.

Note that there is room for improvement in the filtering method. This may be the focus of future upgrades.

Equipment and software used, and licenses

SONY MDR-CD900ST
SONY MDR-CD900ST

For pitch adjustment, the built-in soundbank of the YAMAHA EA1 was used as a reference.

Although waveforms and spectra were used extensively in the adjustment process, we ultimately evaluated each sound and its homogeneity and continuity by listening. For adjustment and confirmation, we mainly used a USB audio interface Roland Rubix22 and studio monitor headphones SONY MDR-CD900ST. In addition, BOSE 101IT speakers were used for final confirmation.

Although the license terms of the original soundbank require that modifications be explicitly stated, this project has chosen to make the modifications explicit as well. The reason for this is to ensure that the soundbanks released by this project are fully open source software.

All processing was done with scripts and FFmpeg was used for audio data processing. All code is available in the GitHub repository. See src/build.sh for details. You can also modify the parameter file introduced in the second stage and execute "make noct48" to generate a piano sound set with the desired tones.(you need to get the original version of Salamander Grand) This allows for a level of complexity and fine-tuning of tone quality that is not possible through the GUI of player softwares or filter settings within SFZ files. Note that it takes about 12 minutes to build a complete 48 kHz version (Core i5-8250U CPU @ 1.60 GHz).


Links

Acknowledgments

We are very grateful to Alexander Holm for developing the original soundbank and advising us on this project. We searched numerous free soundbanks, but only Salamander Grand Piano had sufficient quality and freedom of development.

We would like to thank Katsuhiro Oguri (Professional Musician) for allowing us to use his performance data. The MIDI files not only made for an ideal listening section on this site, but also greatly aided in the development of the sound sources and in confirming the results of the adjustments.

We would like to thank Frieve-A (Deep Learning Specialist) for his important evaluation of our product. His Youtube video was a great help in creating our website.

Author

Chisato Yamauchi, Misato Astronomical Observatory
cyamauch (at) ir.isas.jaxa.jp
x.com/999irf


Last Modified: Feb. 4, 2025