Wine:サウンド

オーディオドライバの変更
オーディオドライバを変更したい場合は、以下のレジストリキーの値を変更してください。
(デフォルトで存在していないので、新規作成してください)

HKEY_CURRENT_USER\Software\Wine\Drivers

"Audio": (文字列)
  ドライバ名 (alsa, pulse, oss, coreaudio) を指定。
  空で自動。
  カンマで区切ると、順番にチェックしていく。

通常は PulseAudio が使われていると思いますが、ALSA に変更したい場合は、"Audio"="alsa" に設定してください。
MIDI 再生
Wine 上で MIDI が使えない状態の場合は、以下のようなエラーが出ます。

014c:err:winediag:MIDIMAP_drvOpen No software synthesizer midi port found, Midi sound output probably won't work.

Wine 上で MIDI を再生したい場合、任意の MIDI シンセサイザーと組み合わせる必要があります。

ソフトウェアシンセサイザの場合は、FluidSynth や TiMidity++ が使えます。
サウンドフォント
ソフトウェアシンセサイザの場合、別途サウンドフォントが必要になります。
ゲームなどの BGM として使う場合は、低容量のものを使った方が良いです。

# GeneralUser GS (29.8 MB)
http://www.schristiancollins.com/

「Virtual Instruments」>左のメニューの「GeneralUser GS」からダウンロードしてください。
低容量ながら無難な音なので、迷った場合はこちらを使ってください。

# 084.0mg all in one gm v1.1 bank fix (84 MB)
音がはっきりしているので、聞きやすい。

# FluidR3_GM (141.5 MB)
https://musescore.org/ja/node/101
少し音質を上げたい場合はこちら。
FluidSynth を使う
MIDI シンセサイザーとして FluidSynth を使う場合、FluidSynth をデーモンとして動作させる必要があります。

# パッケージ名
Ubuntu,Arch Linux: fluidsynth

設定ファイル
/etc/conf.d/fluidsynth ファイルに、デーモンとして動作させる時の設定を記述します。

SOUND_FONT=[サウンドフォントのパス]
OTHER_OPTS='-a pulseaudio -m alsa_seq -r 48000'

SOUND_FONT には、使用するサウンドフォント (*.sf2) のフルパスを指定してください。

-a [driver] は、Wine のドライバに PulseAudio を使っているなら pulseaudio、ALSA を使っているなら alsa にしてください。

-r [sample_rate] は、出力するサンプリングレートです。

サービスを起動する
systemd を使ってデーモンを管理している場合は、以下のコマンドで、FluidSynth を起動させます。

## 起動
$ systemctl --user start fluidsynth

## 停止
$ systemctl --user stop fluidsynth

※ユーザー権限で実行させるので、管理者権限では実行しないでください。sudo コマンドは必要ありません。

FluidSynth がデーモンとして起動している状態で、Wine 上で MIDI コマンドが送られると、それが FluidSynth によって音声に変換され、音を鳴らすことができます。

音が鳴りっぱなしになった場合は、デーモンを停止させてください。