Skip to content

Instantly share code, notes, and snippets.

@nanase
Last active December 20, 2015 04:08
Show Gist options
  • Save nanase/6068233 to your computer and use it in GitHub Desktop.
Save nanase/6068233 to your computer and use it in GitHub Desktop.
uxで用いる音源プリセット記述ファイルの記述案。気がついたらどんどん修正していく。意見は歓迎。
<?xml version="1.0" encoding="utf-8"?>
<ux version="0.2">
<preset>
<!-- msb, lsb, type, value は省略すると 0 になる -->
<!-- type は列挙体の値を表す。カンマは OR 演算される -->
<!-- Acoustic Piano / アコースティックピアノ -->
<program number="0">
<waveform type="fm" />
<edit type="op0,send0" value="0.8" />
<edit type="op1,send0" value="0.5" />
<edit type="op1,freq" value="2.0" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="3.0" />
<envelope type="sustain" value="0.0" />
</program>
<!-- Bright Piano / ブライトピアノ -->
<program number="1">
<waveform type="fm" />
<edit type="op0,send0" value="1.0" />
<edit type="op1,send0" value="0.7" />
<edit type="op1,freq" value="4.0" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="3.0" />
<envelope type="sustain" value="0.0" />
</program>
<!-- Electric Grand Piano / エレクトリックグランドピアノ -->
<program number="2">
<waveform type="fm" />
<edit type="op0,send0" value="0.5" />
<edit type="op1,send0" value="0.7" />
<edit type="op1,send1" value="0.4" />
<edit type="op2,send1" value="0.5" />
<edit type="op3,send0" value="0.5" />
<edit type="op1,freq" value="2.001" />
<edit type="op2,freq" value="0.501" />
<edit type="op3,freq" value="4.0" />
<edit type="op2,send1,decay" value="0.1" />
<edit type="op2,send1,sustain" value="0.0" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="3.0" />
<envelope type="sustain" value="0.0" />
</program>
<!-- Honky-tonk Piano / ホンキートンクピアノ -->
<program number="3">
<waveform type="fm" />
<edit type="op0,send0" value="0.5" />
<edit type="op1,send0" value="1.0" />
<edit type="op1,send1" value="0.4" />
<edit type="op2,send1" value="0.5" />
<edit type="op3,send0" value="0.5" />
<edit type="op1,freq" value="2.005" />
<edit type="op2,freq" value="0.504" />
<edit type="op3,freq" value="4.002" />
<edit type="op1,send0,decay" value="1.0" />
<edit type="op1,send0,sustain" value="0.5" />
<edit type="op2,send1,decay" value="0.1" />
<edit type="op2,send1,sustain" value="0.0" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="1.5" />
<envelope type="sustain" value="0.0" />
</program>
<!-- Electric Piano / エレクトリックピアノ -->
<program number="4">
<waveform type="fm" />
<edit type="op0,send0" value="0.2" />
<edit type="op1,send0" value="1.0" />
<edit type="op1,freq" value="2.005" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="3.0" />
<envelope type="sustain" value="0.0" />
</program>
<!-- Electric Piano 2 / エレクトリックピアノ2 -->
<program number="5">
<waveform type="fm" />
<edit type="op0,send0" value="0.5" />
<edit type="op1,send0" value="1.0" />
<edit type="op1,send1" value="0.1" />
<edit type="op1,freq" value="2.005" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="3.0" />
<envelope type="sustain" value="0.0" />
</program>
<!-- Harpsichord / ハープシコード -->
<program number="6">
<waveform type="fm" />
<edit type="op0,send0" value="1.2" />
<edit type="op1,send0" value="0.8" />
<edit type="op1,send1" value="1.0" />
<edit type="op1,freq" value="0.5" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="1.5" />
<envelope type="sustain" value="0.0" />
</program>
<!-- Clavi / クラビ -->
<program number="7">
<waveform type="fm" />
<edit type="op0,send0" value="0.8" />
<edit type="op1,send0" value="0.8" />
<edit type="op1,send1" value="1.2" />
<edit type="op1,freq" value="0.5" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="3.0" />
<envelope type="sustain" value="0.0" />
</program>
<!-- Acoustic Guitar (nylon) / アコースティックギター(ナイロン弦) -->
<program number="24">
<waveform type="fm" />
<edit type="op0,send0" value="0.1" />
<edit type="op1,send0" value="1.2" />
<edit type="op1,send1" value="0.1" />
<edit type="op1,freq" value="4.0" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="1.5" />
<envelope type="sustain" value="0.0" />
<envelope type="release" value="1.5" />
</program>
<!-- Acoustic Guitar (steel) / アコースティックギター(スチール弦) -->
<program number="25">
<waveform type="fm" />
<edit type="op0,send0" value="1.0" />
<edit type="op1,send0" value="0.8" />
<edit type="op1,send1" value="1.0" />
<edit type="op1,freq" value="8.0" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="1.5" />
<envelope type="sustain" value="0.0" />
<envelope type="release" value="1.5" />
</program>
<!-- Distortion Guitar / ディストーションギター -->
<program number="30">
<waveform type="fm" />
<edit type="op0,send0" value="1.0" />
<edit type="op1,send0" value="1.0" />
<edit type="op2,send0" value="0.8" />
<edit type="op3,send0" value="0.8" />
<edit type="op1,freq" value="0.5001" />
<edit type="op2,freq" value="2.0021" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="2.0" />
<envelope type="sustain" value="0.8" />
<envelope type="release" value="1.0" />
</program>
<!-- Fretless Bass / フレットレスベース -->
<program number="35">
<waveform type="fm" />
<edit type="op0,send0" value="0.5" />
<edit type="op1,send0" value="0.4" />
<edit type="op1,send1" value="0.4" />
<edit type="op0,freq" value="1.0" />
<edit type="op1,freq" value="2.01" />
<envelope type="attack" value="0.0" />
<volume type="gain" value="0.8" />
</program>
<!-- Synth Bass 1 / シンセベース -->
<program number="38">
<waveform type="fm" />
<edit type="op0,send0" value="1.0" />
<edit type="op1,send0" value="0.5" />
<envelope type="attack" value="0.0" />
</program>
<!-- String Ensemble 1 / ストリングアンサンブル 1 -->
<program number="48">
<waveform type="fm" />
<edit type="op0,send0" value="0.2" />
<edit type="op1,send0" value="0.8" />
<edit type="op2,send0" value="0.4" />
<edit type="op3,send0" value="0.2" />
<edit type="op1,freq" value="2.001" />
<edit type="op2,freq" value="4.0021" />
<edit type="op3,freq" value="8.0041" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="0.0" />
<envelope type="sustain" value="1.0" />
<envelope type="release" value="0.1" />
</program>
<!-- String Ensemble 2 / ストリングアンサンブル 2 -->
<program number="48">
<waveform type="fm" />
<edit type="op0,send0" value="0.2" />
<edit type="op1,send0" value="0.8" />
<edit type="op2,send0" value="0.4" />
<edit type="op3,send0" value="0.2" />
<edit type="op1,freq" value="2.001" />
<edit type="op2,freq" value="4.0021" />
<edit type="op3,freq" value="8.0041" />
<envelope type="attack" value="0.5" />
<envelope type="decay" value="0.0" />
<envelope type="sustain" value="1.0" />
<envelope type="release" value="1.0" />
</program>
<!-- Voice Aahs / 声「あー」 -->
<program number="52">
<waveform type="fm" />
<edit type="op0,send0" value="0.2" />
<edit type="op1,send0" value="0.1" />
<edit type="op1,freq" value="12.005" />
<envelope type="attack" value="0.05" />
<envelope type="decay" value="0.0" />
<envelope type="sustain" value="1.0" />
<envelope type="release" value="0.1" />
</program>
<!-- Orchestra Hit / オーケストラヒット -->
<program number="55">
<waveform type="fm" />
<edit type="op0,send0" value="1.8" />
<edit type="op1,send0" value="1.8" />
<edit type="op2,send0" value="0.8" />
<edit type="op3,send0" value="0.8" />
<edit type="op1,freq" value="0.5001" />
<edit type="op2,freq" value="2.0021" />
<envelope type="attack" value="0.0" />
<envelope type="decay" value="1.0" />
<envelope type="sustain" value="0.0" />
<envelope type="release" value="1.0" />
</program>
<!-- Piccolo / ピッコロ -->
<program number="72">
<waveform type="fm" />
<edit type="op0,send0" value="0.0" />
<edit type="op1,send0" value="0.6" />
<edit type="op2,send0" value="0.4" />
<edit type="op0,freq" value="2.0" />
<edit type="op1,freq" value="4.0" />
<edit type="op2,freq" value="4.0001" />
<edit type="op0,out" value="0.4" />
<edit type="op1,out" value="0.6" />
<envelope type="attack" value="0.05" />
<envelope type="decay" value="0.0" />
<envelope type="sustain" value="1.0" />
<envelope type="release" value="0.1" />
</program>
<!-- Flute / フルート -->
<program number="73">
<waveform type="fm" />
<edit type="op0,send0" value="0.2" />
<edit type="op1,send0" value="0.5" />
<edit type="op0,freq" value="2.0" />
<envelope type="attack" value="0.05" />
<envelope type="decay" value="0.0" />
<envelope type="sustain" value="1.0" />
<envelope type="release" value="0.1" />
</program>
<!-- Recorder / リコーダー -->
<program number="74">
<waveform type="fm" />
<edit type="op0,send0" value="0.2" />
<edit type="op1,send0" value="0.4" />
<edit type="op1,freq" value="4.001" />
<envelope type="attack" value="0.05" />
<envelope type="decay" value="0.0" />
<envelope type="sustain" value="1.0" />
<envelope type="release" value="0.1" />
</program>
<!-- Whistle / 口笛 -->
<program number="78">
<waveform type="fm" />
<edit type="op0,send0" value="0.0" />
<edit type="op1,send0" value="0.5" />
<edit type="op1,freq" value="1.003" />
</program>
<!-- Lead 1 (square) / 矩形波 -->
<program number="80">
<waveform type="square" />
<edit type="duty" value="0.333" />
<envelope type="attack" value="0.0" />
<envelope type="release" value="0.1" />
</program>
<!-- Lead 2 (sawtooth) / ノコギリ波 -->
<program number="81">
<waveform type="fm" />
<edit type="op0,send0" value="1.0" />
</program>
<!-- Seashore / 海岸 -->
<program number="122">
<waveform type="longNoise" />
<edit type="freqfactor" value="1" />
<envelope type="attack" value="2.0" />
<envelope type="peak" value="0.0" />
<envelope type="decay" value="2.0" />
<envelope type="sustain" value="0.0" />
<envelope type="release" value="2.0" />
<volume type="gain" value="0.6" />
</program>
<!-- 将来は drum に number, msb, lsb も指定できるようになる? -->
<!-- note の子は program と同様に命令群を記述していく -->
<drum>
<note number="35" note="29">
<waveform type="longNoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.01" />
<envelope type="decay" value="0.25" />
<volume type="gain" value="0.8" />
</note>
<note number="36" note="29">
<waveform type="longNoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.01" />
<envelope type="decay" value="0.25" />
<volume type="gain" value="0.8" />
</note>
<note number="38" note="11">
<waveform type="randomNoise" />
<edit type="seed" value="3" />
<edit type="length" value="2048" />
<edit type="freqfactor" value="200" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.01" />
<envelope type="decay" value="0.25" />
<volume type="gain" value="1.0" />
</note>
<note number="40" note="50">
<waveform type="longNoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.01" />
<envelope type="decay" value="0.25" />
<volume type="gain" value="0.8" />
</note>
<note number="41" note="42">
<waveform type="longnoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.0" />
<envelope type="decay" value="0.25" />
</note>
<note number="42" note="86">
<waveform type="longNoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.01" />
<envelope type="decay" value="0.04" />
<volume type="gain" value="0.6" />
</note>
<note number="43" note="45">
<waveform type="longnoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.0" />
<envelope type="decay" value="0.25" />
</note>
<note number="44" note="86">
<waveform type="longNoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.01" />
<envelope type="decay" value="0.04" />
<volume type="gain" value="0.7" />
</note>
<note number="45" note="50">
<waveform type="longnoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.0" />
<envelope type="decay" value="0.25" />
</note>
<note number="46" note="86">
<waveform type="longNoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.01" />
<envelope type="decay" value="0.25" />
<volume type="gain" value="0.9" />
</note>
<note number="47" note="54">
<waveform type="longnoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.0" />
<envelope type="decay" value="0.25" />
</note>
<note number="48" note="57">
<waveform type="longnoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.0" />
<envelope type="decay" value="0.25" />
</note>
<note number="49" note="58">
<waveform type="longnoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.0" />
<envelope type="decay" value="0.5" />
</note>
<note number="50" note="62">
<waveform type="longnoise" />
<envelope type="attack" value="0.0" />
<envelope type="peak" value="0.0" />
<envelope type="decay" value="0.25" />
</note>
</drum>
</preset>
</ux>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment