English
A Free SFZ/WAV Semi-Concert Grand Piano

INDEX: ニュース | 試聴 | ダウンロード | ライセンス | 電子ピアノの音をアップグレード | DAW・シーケンサ等で使う | 技術情報 | 謝辞 | 著者への連絡

Volume Measurement
各ベロシティレイヤーでの全音源の音量(計測値で単位はdB)
Waveform of A4
完璧な連続性を示すAccurate-Salamanerのベロシティレイヤーごとの波形(A4)

Noct-Salamander Project では、物理学的アプローチにより既存のサンプリング音源セット(元音源セット)をリマスタリングし、楽器メーカーレベルの品質を有する新しいグランドピアノ音源セット(SFZサウンドバンク)を製作しています。 繊細な表現を扱う演奏者にとって重要な「コントロールのしやすさ」に直結する、 音量・オーバートーン・エンベロープ・遅延についての「均質性」「連続性」を、徹底的に追求しています。

元音源セットとして、高い録音品質を有する Salamander Grand(広く使われているSFZサウンドバンク)を使用し、それに含まれる全480サンプリングデータを、1つ1つ注意深くリマスタリングしました。処理システムの設定および調整に多大な時間を費やし、品質にパーフェクト(仕様上の限界レベル)を追求。オリジナルの音色を損なわないため最低限のフィルタリング処理とともに、レコーディングが原因と思われるスポット的なノイズの除去処理、ハンマーと弦以外から生じた振動音の除去処理、サンプリングに使われたピアノの状態(ハンマーの劣化・整調不足など)に起因する音色の調整や致命的な問題に対する大がかりなレストア処理なども施しました。

Version 5では、様々な楽曲に対応できるよう 4種類の音源セットをリリースしました。 成果物である SFZ+WAVサウンドバンク(48kHz24bit, サイズ:各1.6GB) は無償(ライセンス:CC-by)で提供しています。さらに、ソースコード・パラメータファイルも全公開しています。

演奏者とリスナーの両方に喜んでいただける音源セットを目指し、 パーフェクトな品質への追及はこれからも続きます。 利用状況によっては仕様のアップグレードも考えられます。

ニュース

YAMAHA Traditional-C GP
YAMAHA Traditional-C Semi-Concert Grand Piano (撮影協力:Jalan-jalan)

試聴

CoolSoft VirtualMIDISynth を使い、クラシック名曲をいくつか用意しました。

半音階の比較 (Layer=1)

音量・音質の均質性・連続性を確認してください。

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

半音階の比較 (Layer=8)

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

ピアノ名曲集より (1)

小栗克裕氏 (プロの作曲・編曲及びピアノ奏者) の許可を得て MIDIデータ を使用。本物の演奏をお聞きください。
FIRリバーブエフェクトに Sazanami を使用しています。イコライザは使用していません。

[1]...[4] の順に、Accurate-, Twilight-, Moonlight-, Noct- を使用しています。様々な楽曲やシーンにおける音源セットの使い分けの参考になれば幸いです。

[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. MP3ファイルの再配布を禁止します。

ピアノ名曲集より (2)

[2][3][4][5][6]: 小栗克裕氏 (プロの作曲・編曲及びピアノ奏者) の許可を得て MIDIデータ を使用。
[1]:MIDIデータは http://piano.s20.xrea.com/midi/ を使用しています。
FIRリバーブエフェクトに Sazanami を使用しています。イコライザは使用していません。

[5]: Twilight-Salamander を使用。
[2][4][6]: Moonlight-Salamander を使用。
[1][3]: Noct-Salamander を使用。

[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. MP3ファイルの再配布を禁止します。

ダウンロード

Version 5.2f

最低限のデータ処理とするため音源の割り当てを徹底的に見直し、スペクトル解析により低周波から高周波まで全域にわたって均質性・連続性を確保しました。 発音の遅延は V.4 よりもさらに短くなり、"F#1", "C3" に加えて "C6" の復元処理が行われたことにより、音源がより完全なものに近くなりました。 音源の調整にかけた手間は、V.4の頃とは比較になりません。 V5.1では、A4,C5,A5,C6,D#6付近の高周波における連続性を改善しました。 V5.2では、C2...C4の連続性を改善し、フィルタ処理をさらに減らしました。 V5.2fでは、SFZ v1対応ソフトウェアにおけるダンパーペダル処理の問題を修正し、さらに、F6、F#6以上をそれぞれハーフダンパー、ダンパーレスとし、"repedaling"をサポート、グランドピアノ本来の振る舞いを再現しました。

V5では、音源セット#0 を元に、複数の音源セットを提供します。 bass/trebleのバランスを変えた複数のSFZファイルが含まれています。ファイル名に「Recommended」とあるものをまずお試しください。

"Release String Resonances"、"Hammer Noise"、"Pedal Noise" は初期状態では無効にセットされます。 SFZ v1対応ソフトウェアの場合は、これらを有効にするとダンパーペダル(CC64)の処理に問題を引き起こす事が多いため、無効のままとすること推奨します。 SFZ v2対応ソフトウェアにおいてこれらを有効にするには、それぞれ CC20=64、CC21=64、CC22=64 を送信してください。

音源セット#0: Accurate-Salamander Grand Piano

オリジナルの Salamander Grand の音色を可能な限り変えずに均質性・連続性を徹底的に追求(オリジナルの Salamander Grand に比べ、全体として僅かにオーバートーンが弱めですが、これは弱め側のノートに揃えたためです)。明るくフォルテ寄りの YAMAHA C5 の音色が正確に再現されます。

音源セット#1: Twilight-Salamander Grand Piano

音源セット#0のローベロシティ側を柔らかめに調整し、オリジナルのSalamanderの弱点を解消したものです。

音源セット#2: Moonlight-Salamander Grand Piano

音源セット#1をさらにソフトにしました。ハイベロシティでは音源セット#0の音色を継承しています。

音源セット#3: Noct-Salamander Grand Piano

最も優しい音色の音源で、リラクゼーション音楽や伴奏に最適です。最高ベロシティではV4に比べてインパクトのある音を再現でき、汎用性が広がっています。

Noct-Salamander Version 4.1

各ベロシティレイヤ内の音量連続性を改善しました。
パッケージには、 bass/trebleのバランスを変えた5種類の SFZ ファイル、 ハンマーノイズおよびペダルノイズの設定を除いたSFZファイルが含まれています。 お好みで使い分けてください。

ライセンス

CC-by (オリジナル版と同じライセンス)
http://creativecommons.org/licenses/by/3.0/

楽器への組み込みも歓迎します。書面などを必要とする場合、開発者までご連絡ください。

変更履歴

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.

電子ピアノの音をアップグレードしよう

Electric Piano
非力なノートPCでもOK
Effectors
本プロジェクトで試した4つの安価なエフェクター

お手持ちの電子ピアノの音色を高音質化してみましょう。 楽曲に合わせて4つの音源セット(Accurate-、Twilight-、Moonlight-、Noct-)からお選びください。

以下ではわかりやすい記事になるよう心掛けていますが、難しいと感じる場合はFrieve-A様の動画 を一度ご覧ください。基本的な知識が得られます。

必要な機材

セットアップ

Electric Piano

以上で電子ピアノの鍵盤を使うと、本プロジェクトがリリースした音源セットで演奏できるようになります。

なお、初期状態ではキーリリース時のレゾナンス、 ハンマーノイズおよびペダルノイズは無効に設定されています。 これらを有効にすると、SFZ v1対応ソフトウェアではダンパーペダル(CC64)の処理に問題が発生する場合が多いため、無効のままとすること推奨します。 SFZ v2対応のソフトウェアでは有効にしても問題ありません。

初期状態で無効になっているキーリリース時のレゾナンスを有効にするには、 CC20=64 を送信してください。

初期状態で無効になっているハンマーノイズおよびペダルノイズを有効にするには、それぞれ CC21=64、CC22=64 を送信してください。 ただし、当プロジェクトではノイズについては「無効」を推奨します。その理由は、アコースティックピアノの演奏ではそのようなノイズを出さないように演奏するからです。 もし、ハンマーノイズおよびペダルノイズまで電子楽器で再現するなら、 キーのリリース速度とペダルの速度を検出し、それらに応じてノイズもコントロールすべきでしょう。 そのようにするとフォルテでの演奏ではノイズの音量が大きくなる傾向になりますが、 結果的には弦の大音量にかき消されてノイズは目立たなくなるため、やはりあまり重要でない、という結論になると考えます。

調整


DAW・シーケンサ等で使う

sforzando directory
sforzandoがインストールされたフォルダ

本プロジェクトでリリースする音源セットに含まれるSFZファイルは SFZ v1準拠 で記述されているので、SFZがサポートされているすべてのソフトウェアで利用することができます。

電子ピアノの音をアップグレード で紹介したフリーのSFZプレイヤー sforzando(スフォルツァンド) は SFZ v2 をサポートし、DAW等で使用できるプラグインが含まれています。

また、sfzformat.com にはSFZをサポートする プレイヤーの一覧 がありますので、「plugin」と表記のあるものは使える可能性が高いです(表記が無くてもプラグインを持つものがあります)。

プラグインが使えない場合は、 loopMIDIを使う方法もあります。つまり、PC内で

DAW・シーケンサ(loopMIDIに対してMIDIデータを送信)

loopMIDI

sforzando(loopMIDIよりMIDIデータを受信)

という構成を作ります。


技術情報

Development Style
Development of Noct-Salamander Project

本プロジェクトでは、高い録音品質を有する Salamander Grand サウンドバンクをリマスタリングするために専用の処理システムを開発しました。

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

音源(WAVファイル)1つ1つに対して最適なコードとパラメータをシステムに設定することにより、高い均質性・連続性を有する新たな音源セットを生成します。

リマスタリング処理は、以下の2段階に分かれます:

  1. オリジナルのSalamander Grandを高品質化する処理
    (Accurate-Salamander Grand Pianoを生成)
  2. 音色変更処理
    (Twilight-, Moonlight-, Noct-Salamander Grand Pianoなどを生成)

以下では、それぞれについて説明します。

オリジナルのSalamander Grandを高品質化する処理

Configuration of Assignment
WAVファイルの再割り当て(assign.txt

Volume Measurement
各ベロシティレイヤーでの全音源の音量(計測値で単位はdB)

2段目の処理で生成される Twilight-Salamander などの音源セットの品質は、 この1段目の処理結果を引き継ぎます。 したがって、この1段目は可能な限り完璧である必要があります。

1段目における「高品質化」とは、 ベロシティ方向・音階方向の連続性を完全にする事です。 それを実現するため、以下の処理を行います。 もちろん、音質を損なわないようにするため、一貫して実数演算を使用します:

  1. 音量ではなくオーバートーン量を評価し、WAVファイルを再割り当て。 ここで、明らかなレコーディングエラーを有するものは除去
    (目的: この後のフィルタ処理を最低限とするため。参照: assign.txt)
  2. 全WAVファイルに対し再生開始位置を設定し、音階ごとに遅延量を均一化
    (参照: pcm_seek_pos.txt and mk_special.txt)
  3. 調律エラーを修正
    (参考: エラー量は僅かでした。参照: tuned.txt)
  4. 1.のWAVファイルの再割り当てで解決できないオーバートーン量の過多を、 2つのフィルタ(周波数×12, 周波数×26)で調整
    (参照:overtone_root.txt)
  5. 全WAVファイルの音量を調整
    480個すべてのWAVファイルの最初の0.5秒について音量を計測し、全レイヤが同一の音量カーブ(中低音部はフラット、高音部は直線減衰)となるよう調整。
    (参照: vol_factor.src.txt and vol_factor_base.txt)
  6. ファンダメンタルトーン量を調整(主に中から高音部)
    5.の計測値で音量を調整するとファンダメンタルトーン量の不足が聴感で判明するため、狭域フィルタで弦音の量を調整し、5.に戻って再調整。
    (参照: filter_direct.txt)
  7. レコーディングが原因と思われるスポット的なノイズを除去(フェードとイコライザを併用)。
    (参照: mk_special.sh)
  8. ハンマーと弦以外の振動音を狭域フィルタで除去
    (参照: filter_direct.txt)
  9. 4.のフィルタ処理で解決できないオーバートーン量の過多(主にレイヤ1)、中音域音源の高周波成分(3000Hz前後、6000Hz前後)を個別に調整
    (参照: filter_direct.txt and mk_special.sh)
  10. 上記のいずれの処理でも解決できない問題(エンベロープの問題、致命的な問題など)について、個別処理にて対応
    (参照: mk_special.sh...F#1,F#2,A2,C3,D#3,C6)

Salamander Grandのサンプリングに使われた YAMAHA C5 グランドピアノはかなり正確に調律されています。 整調もおおむね良好と考えられ、その音色はかなり凹凸はあるものの全体としては連続的に変化しています。 しかし、「F#1」と「C3」だけはハンマーや弦の不良が原因と考えられる「異常な音色」で、音質の連続性がそこで途切れていました。 上記最後の項目に示した個別処理のうち、大がかりなものがその2つのノートに対する復元処理で、これにはかなりの時間をかけて取り組みました。

復元処理は、1.オリジナルの音源を用いたもの、2.オリジナルに最も近いノートの音源を用いたもの、の2つの方法でベストを尽くしました。 その結果、「F#1」「C3」いずれについても 2. の方法が良い音に仕上がりました。 「F#1」の場合は、オリジナルの音源が本来必要な周波数成分を持っていない事に気が付づいて 1. の方法での復元は早々と諦めました。 「C3」の場合は 1. の方法でも良いところまでいくのですが、アタック部をうまく復元できませんでした。

したがって現時点では、「F#1」と「C3」の復元処理には、それぞれ「A1」「A2」の音源を利用する方法をとっています。 もちろんこれは単に使いまわしているのではなく、スペクトル解析によってアタックの強さやオーバートーンの成分などを細かく調整していますので、復元された音源はかなり自然な音色に仕上がっています。

以上により、88鍵すべてに対し、本来求められる音色が揃いました。Accurate-Salamander Grand Pianoの完成です。

音色変更処理

フリーの高品質音源セットは待っていてもあまり出てこない

オリジナルのSalamander Grandは「ローベロシティ側の音が硬い」ため優しい(ピアノ・ピアニッシモでの)表現があまり得意ではありませんでした。 高品質化されたAccurate-Salamanderでもそれは同じですから、 利用に適した楽曲は限られるはずです。

このように芸術に深く関わる課題に対しては、本来であれば別のグランドピアノをサンプリングして新たな音源セットを作るべきですが、待っていてもフリーの高品質音源セットはあまり出てこない事は容易に想像できます。 高品質の音源セットを得ようとすれば、ピアノの完成度、調律・整調・整音の完成度、サンプリング・マスタリング手法の完成度のすべてが高いレベルである必要があるからです。どれかに問題がある場合、本プロジェクトの「1段目の処理」に見られるような「本来不必要な処理」に多大な労力をかけることになります。したがって、ローコストで高品質というのは極めて難しく、良いものは有料になるのが必然です。

だからといって、フリーの新たな高品質音源セットを完全に諦める必要はありません。 Accurate-Salamanderをデータ処理する事によって、別の音源セットを生成すれば良いのです。 もちろん、それは「本物」の音色からは遠ざかるものですが、疑似的なものでも「無い」より「ある」方が遥かに良く、それでも十分とされる用途もあるはずです。

より大型のグランドピアノの音色を再現

Configuration of Overtone
音色の設定ファイル "overtone_config.moonlight5.0.txt"

大型グランドピアノの美しい音色は、低音から高音にかけてオーバートーン(上音)が急峻に減少することと、インハーモニシティの差異に起因します。 特に前者は重要で、ローベロシティの中高音では高周波成分が非常に少ないのです。 だから、優しい(ピアノ・ピアニッシモでの)表現が完璧にこなせるわけです。 これは物理学的に当然の帰結です。 すなわち、小さな物体からは高周波が出やすく、大きな物体からは低周波が出やすいのです。 Salamander Grandのサンプリングに使われた YAMAHA C5 は大型とは言えませんから、高周波が多い音色が出てくるのは自然な事です。

この事に着目すれば、大型ではないグランドピアノの良好なサンプリングデータがあれば、その周波数成分(主に中高音)とエンベロープを調整することで、大型グランドピアノに近い音色を得ることができる、という事がわかります。 それが2段目の処理で、 高品質化処理済みであるAccurate-Salamanderサウンドバンクに対して以下のように音色変更処理を行います:

自然な音質を追求するため、フィルタリングには1段目の処理で使ったものと同じフィルタを主に使用し、さらにフィルタリングとエンベロープ修正のレベルは音階に応じて緩やかに変化させてあります。 実際の処理においては、 音質を損なわないようにするため、オリジナルのSalamander Grandから一貫して実数演算を使用し、最後の結果のみ24-bit整数で出力しています。

このようにして、Salamander Grandのサンプリングに使われた YAMAHA C5 よりも大型のグランドピアノの音色に近づけたのが、 Twilight-Salamander、Moonlight-Salamander、Noct-Salamander の3つの音源セットです。 こうして、Accurate-Salamanderが不得意とする優しい表現にも対応可能になりました。

なお、フィルタリングの手法については、まだまだ改善の余地があります。 ここが今後のバージョンアップの中心になっていく可能性があります。

使用した機材やソフトウェア、ライセンスに関して

SONY MDR-CD900ST
SONY MDR-CD900ST

ピッチ調整にあたっては、 YAMAHA EA1 の内蔵サウンドバンクを参考にしました。

調整作業においては波形やスペクトルも多用しますが、最終的には1つ1つの音や均質性・連続性を聴感で評価しました。 調整・確認には、USBオーディオインタフェース Roland Rubix22と、スタジオモニターヘッドホン SONY MDR-CD900ST を主に使用しました。 それに加え、最終確認時にはBOSE 101ITスピーカーも使用しました。

元音源セットのライセンス条項は改変についての明記を求めていますが、本プロジェクトではそれだけではなく改変内容についても明らかにする方針をとりました。 このようにした理由は、本プロジェクトでリリースされる音源セットが、完全なオープンソースソフトウェアである事を保証するためです。

すべての処理をスクリプトで行い、音声データ処理にはオープンソースのFFmpegを使用しました。 全コードは、GitHubリポジトリで公開しています。 詳細は、src/build.sh をご覧ください。 2段目の処理で紹介したパラメータファイルを変更し、"make noct48"を実行すると好みの音色のピアノ音源セットを生成することもできます(オリジナル版のSalamander Grandを入手する必要があります)。プレイヤーのGUIやSFZファイル内でのフィルタ設定などでは不可能なレベルでの複雑で細かな音質調整が可能です。 なお、1つの48kHz版音源セットのビルドには、約12分を要します(Core i5-8250U CPU @ 1.60GHz)。


リンク

謝辞

オリジナルのサウンドバンクを開発し、本プロジェクトに助言くださった Alexander Holm 氏 に感謝申し上げます。 数多くのフリーのサウンドバンクを探しましたが、 十分なクオリティを備え、開発の自由度があるものは Salamander Grand Piano だけでした。

演奏データの使用について許可くださった、 小栗克裕氏 (プロの作曲・編曲及びピアノ奏者) に感謝いたします。 本サイトにおいて理想的な試聴セクションが実現しただけでなく、 音源セットの開発においても調整結果の確認に大いに役立ちました。

Frieve-A氏 (Deep Learningのスペシャリスト)には、開発中の音源セットについて重要な評価をしていただき感謝しています。また、同氏のYoutube動画は当Webサイトを作成する上で大きな助けとなりました。

本プロジェクトのために以下のフリーソフトウェアを使用しました:

開発者ならびにそれらに関わったすべての皆様に感謝いたします。

著者への連絡

Chisato Yamauchi, Misato Astronomical Observatory
cyamauch (at) ir.isas.jaxa.jp
x.comのアカウント 999irf


Last Modified: Feb. 4, 2025