下記のサイトにまとまっている。リンクが切れているものもある。
私がダウンロードしてみたSoundFont集 【和楽器、雅楽器、民族楽器】
その中から雅楽の楽器は以下の2つ。
龍笛
ロシア語でサウンドフォントを公開しているサイトに書かれているFlute-Ruteki(5.3M)というリンクをクリックするとダウンロードされる。
aptでunrarをインストールし、それで解凍したらMusescore4で読み込めた。
篳篥
雅楽|緑茶の音 雅楽の音素材(サウンドフォント)に書かれている転載先のリンクをクリックするとダウンロードされる。
dev.sfsを読み込んで解凍用コマンドをbuildする。sfArkLib-masterとsfarkxtc-masterをダウンロードして、展開。sfark_buildなるディレクトリを作って、そこへ各masterのディレクトリから*.cppと*.hをコピーし、buildする。これがなかなかコンパイルが通らない。
sfArkLib-masterから
sfArkLib.h
sfklCoding.cpp
sfklCrunch.cpp
sfklDiff.cpp
sfklFile.cpp
sfklLPC.cpp
sfklString.cpp
sfklZip.cpp
wcc.h
sfarkxtc-masterから
sfarkxtc.cpp
BuildスクリプトはGeminiに作ってもらった。
#!/bin/sh
#2026/08/01
#errorが多くなかなかbuildできなかった。
#buildする際は、このスクリプトを実行する。
###################################################################################
# 1. libgcc.a / libgcc_s.so の位置を特定
LIBGCC_DIR=$(dirname "$(find /initrd /usr -name "libgcc.a" 2>/dev/null | head -n 1)")
echo "libgcc の配置場所: $LIBGCC_DIR"
if [ -n "$LIBGCC_DIR" ]; then
mkdir -p /usr/lib/gcc/x86_64-linux-gnu/12/
# 該当ディレクトリ内のすべてのライブラリ/オブジェクトファイルを標準パスへリンク
ln -sf $LIBGCC_DIR/* /usr/lib/gcc/x86_64-linux-gnu/12/
echo "GCC ライブラリ群のリンク完了"
fi
####################################################################################
cd /tmp/sfark_build
LIBGCC_DIR=$(dirname "$(find /initrd /usr -name "libgcc.a" 2>/dev/null | head -n 1)")
g++ -O2 -fpermissive -w -fno-use-linker-plugin \
-B"$LIBGCC_DIR/" \
-L"$LIBGCC_DIR" \
-DUSE_MANUAL_ENDIANNESS -DMANUAL_LITTLE_ENDIAN \
-isystem /usr/lib/gcc/x86_64-linux-gnu/12/include-fixed \
-isystem /usr/lib/gcc/x86_64-linux-gnu/12/include \
-I. sfkl*.cpp sfarkxtc.cpp -o sfarkxtc -lz > build.log 2>&1
# ログ確認
cat build.log
できあがったsfarkxtcを~/my-applications/binに入れる。これでGagaku_Hichiriki.sfArkを解凍し、PoliphoneでGagaku_Hichiriki.sf2を開いて、名前を付けて保存する。Gagaku_Hichiriki_fixed.sf2とした。これでMusescoreで読み込める。
琴、箏
wineをインストールしてsfPack.exeを使用して解凍。wine32もインストールする必要があった。aptでwine、wine32、wine64をインストールして、
# dpkg --add-architecture i386 # apt update # apt install wine wine32 # wine sfPack.exe yk_koto.sfPack
この後wineをアンインストール
# apt purge --auto-remove wine wine32
なのだが、簡単にはいかなかった。i386関連の数個のパッケージは強制的に削除した。その後、
# dpkg --remove-architecture i386 # apt update
して元へ戻しておく。