# 音楽オブジェクト * 音楽はプログラムの流れと並行して(スレッドとして非同期に)演奏され、プログラムは演奏の終了を待たずに先に進みます。演奏の終了を待つには「**待つ**」を使います。 * 演奏は内蔵されたMIDI音源を使って演奏されます。外部のMIDI音源などが存在する場合は、編集画面の下部にMIDIボタンが表示され、演奏時に使用される機器を選択できます。 ## メロディ * 音階のある旋律を表します。"ドレミ〜" のように、分かりやすい文字列でメロディを表現します。 * 以下の「作る」以外の例では、「メロディ1」などを作ってから実行してください。 * **作る** : 新しいメロディを作ります。 * (例)「メロディ1」という名前のメロディオブジェクトを作ります。 メロディ1=メロディ!作る。 * (例)「メロディ1」という名前で「"ドレミ〜"」という音符のメロディオブジェクトを作ります。 メロディ1=メロディ!"ドレミ〜" 作る。 * **設定** : 楽器を設定します。 * (例)メロディ1に「オルガン」の楽器オブジェクトを設定します。 メロディ1!(楽器!"オルガン" 作る)設定。 * **追加** : 音符を追加します。音符は文字列とメロディオブジェクトで指定できます。 * (例)メロディ1に「"ドレミ〜"」という音符を追加します。 メロディ1!"ドレミ〜" 追加。 * (例)メロディ2にメロディ1の音符を追加します。 メロディ2!(メロディ1)追加。 * **無音** : 休符を追加します。 * (例)メロディ2に4拍の休符とメロディ\ns1を追加します。 メロディ2!4 無音(メロディ1)追加。 * **繰り返す** : 繰り返したメロディを返します。 * (例)メロディ2にメロディ1を2回繰り返した音符を追加します。 メロディ2!(メロディ1!2 繰り返す)追加。 * **音上げる** : メロディを半音の個数分上げた音階で返します。 * (例)メロディ1の音程を1オクターブ(半音12個分)上げたメロディ2を作ります。 メロディ2=メロディ1!12 音上げる。 * (例)メロディ1の音程を1オクターブ(半音12個分)下げたメロディ2を作ります。 メロディ2=メロディ1!-12 音上げる。 * **演奏** : メロディを演奏します。 * (例)メロディ1を演奏します。 メロディ1!演奏。 * **待つ** : 演奏が終るのを待ちます。 * (例)メロディ1の演奏が終るのを待ちます。 メロディ1!待つ。 * **クリア** : メロディの音符をすべて消します。 * (例)メロディ1の音符をすべて消します。 メロディ1!クリア。 * メロディを示す文字列には、次の表記を使えます。 * ド , レ , ミ , ファ , フ, ソ , ラ , シ ,ど , れ , み , ふぁ , ふ, そ , ら , し, C, D, E, F, G, A, B: **音階**を表します。 * (例)メロディ1!"ドレミ" 追加。 * **#**: **半音**上げます。直前の音階を半音上げます。 * (例)メロディ1!"ド#レミ" 追加。 * **♭** (' * (例)メロディ1!"ドレミ♭" 追加。 * **↑**, \kwy{^}^ : **オクターブ**上げます。これ以降の音階が1オクターブ上がります。 * (例)メロディ1に「"ドレミファソラシ^ドレミ"」を追加します。最後の「"ドレミ"」はオクターブ上の音階です。 メロディ1!"ドレミファソラシ^ドレミ" 追加。 * **↓** , **_**: オクターブ下げます。これ以降の音階が1オクターブ下がります。 * (例)メロディ1に「"ド_シラソファミレド"」を追加します。最後の「"ド"」以降はオクターブ下の音階です。 メロディ1!"ド_シラソファミレド" 追加。 * **・**: **休符** * (例)メロディ1!"ド・レ・ミ" 追加。 * **〜** (**--**): **長音**。前の音を1拍延ばします。 * (例)メロディ1!"ドレミ〜" 追加。 * **.** : 付点。前の音をその半分の長さだけ伸ばします。 * (例)メロディ1!"ドレミ." 追加。 * **&**,1,2,4,8,16: 長さを指定します。"ド4レ8ミ4&8" と書くと、ドは**4分音符**、レは**8分音符**、ミは**付点4分音符**になります。 * (例)メロディ1!"ド4レ8ミ4&8" 追加。 * {...}: **三連符**。3個の音を2拍で演奏します。全体の長さを指定できます。 * (例)メロディ1!"{ドレミ}8" 追加。 ## コード * **和音**を表します。"CCD〜" のような文字列で記述します。 * 以下の「作る」以外の例では、「コード1」などを作ってから実行してください。 * **作る** : 新しいコードを作ります。 * (例)「コード1」という名前のコードオブジェクトを作ります。 コード1=コード!作る。 * (例)「コード1」という名前で「"CCD"」という音符のコードオブジェクトを作ります。 コード1=コード!"CCD" 作る。 * **設定** : 楽器を設定します。 * (例)コード1に「オルガン」の楽器オブジェクトを設定します。 コード1!(楽器!"オルガン" 作る)設定。 * **追加** : 音符を追加します。音符は文字列とコードオブジェクトで指定できます。 * (例)コード1に「"CCD〜"」という音符を追加します。 コード1!"CCD〜" 追加。 * (例)コード2にコード1の音符を追加します。 コード2!(コード1)追加。 * **無音** : 休符を追加します。 * (例)コード2に4拍の休符とコード\ns1を追加します。 コード2!4 無音(コード1)追加。 * **繰り返す** : 繰り返したコードを返します。 * (例)コード2にコード1を2回繰り返したコードを追加します。 コード2!(コード1!2 繰り返す)追加。 * **音上げる** : コードを半音の個数分上げた音階で返します。 * (例)コード1の音程を1オクターブ(半音12個分)上げたコード2を作ります。 コード2=コード1!12 音上げる。 * (例)コード1の音程を1オクターブ(半音12個分)下げたコード2を作ります。 コード2=コード1!-12 音上げる。 * **演奏** : コードを演奏します。 * (例)コード1を演奏します。 コード1!演奏。 * **待つ** : 演奏が終るのを待ちます。 * (例)コード1の演奏が終るのを待ちます。 コード1!待つ。 * **クリア** : 追加したコードをすべて消します。 * (例)コード1のコードをすべて消します。 コード1!クリア。 * コードを示す文字列には、次の表記を使えます。 * A , B , C , D , E , F , G: コードを表します。 * (例)コード1!"CCG" 追加。 * m, 7: コードを修飾します。**マイナーコード**を作るときに使います。 * (例)コード1!"CCmC7Cm7" 追加。 * **#**: **半音**上げます。直前の音階を半音上げます。 * (例)コード1!"C#CD" 追加。 * **♭** (' * (例)コード1!"CCD♭" 追加。 * **↑**, \kwy{^}^ : **オクターブ**上げます。これ以降の音階が1オクターブ上がります。 * (例)コード1に「"C^CD"」を追加します。最後の「"CD"」はオクターブ上の音階です。 コード1!"C^CD" 追加。 * **↓** , **_**: オクターブ下げます。これ以降の音階が1オクターブ下がります。 * (例)メロディ1に「"C_CD"」を追加します。最後の「"CD"」はオクターブ下の音階です。 コード1!"C_CD" 追加。 * **・**: **休符** * (例)コード1!"C・C・D" 追加。 * **〜** (**--**): **長音**。前の音を1拍延ばします。 * (例)コード1!"CCD〜" 追加。 * **.**: 付点。前の音をその半分の長さだけ伸ばします。 * (例)コード1!"CCD." 追加。 * **&**,1,2,4,8,16: 長さを指定します。"C4D8E4&8" と書くと、Cは**4分音符**、Dは**8分音符**、Eは**付点4分音符**になります。 * (例)コード1!"C4D8E4&8" 追加。 * {...}: **三連符**。3個の音を2拍で演奏します。全体の長さを指定できます。 * (例)コード1!"{CDE}8" 追加。 ## ドラム * ドラム楽器の演奏を表します。"ドツタツ" のように、分かりやすい文字列でリズムを表現します。 * 楽器を設定せず、ドラムオブジェクトで演奏してください。単独で演奏できるほか、 **バンド**オブジェクトのメンバーとして他の楽器などと同時に演奏できます。 * 以下の「作る」以外の例では、「ドラム1」などを作ってから実行してください。 * **作る** : 新しいドラムを作ります。 * (例)「ドラム1」という名前のドラムオブジェクトを作ります。 ドラム1=ドラム!作る。 * **追加** : 音符を追加します。音符は文字列とドラムオブジェクトで指定できます * (例)ドラム1に「"ドツタツ"」という音符を追加します。 ドラム1!"ドツタツ" 追加。 * (例)ドラム2にドラム1の音符を追加します。 ドラム2!(ドラム1)追加。 * **無音** : 休符を追加します。 * (例)ドラム1に4拍の休符を追加します。 ドラム1!4 無音。 * **繰り返す** : 繰り返したドラムを返します。 * (例)ドラム2にドラム1を2回繰り返した音符を追加します。 ドラム2!(ドラム1!2 繰り返す)追加。 * **演奏** : ドラムを演奏します。 * (例)ドラム1を演奏します。 ドラム1!演奏。 * **待つ** : 演奏が終るのを待ちます。 * (例)ドラム1の演奏が終るのを待ちます。 ドラム1!待つ。 * **音量** : 音の大きさを設定します。値は0〜127で、標準の大きさは95です。 * (例)「ドラム1」の音の大きさを「127」に設定します。 ドラム1!127 音量。 * **クリア** : 追加したドラムをすべて消します。 * (例)ドラム1の音符をすべて消します。 ドラム1!クリア。 * **楽器設定** : 音符と楽器の対応を設定します。楽器は楽器名の文字列または楽器番号で指定します。複数の楽器を設定できます。 * (例)ドラム1の「"ド"」を「"手拍子"」という楽器に設定します。 ドラム1!"ド" "手拍子" 楽器設定。 * (例)ドラム1の「"ド"」を「36」番の楽器に設定します。 ドラム1!"ド" 36 楽器設定。 * (例)ドラム1の「"ドタツクチパ"」を、それぞれ「35, 38, 42, 44, 46, 49」番の楽器に設定します。 ドラム1!"ドタツクチパ" 35 38 42 44 46 49 楽器設定。 * ドラムを示す文字列には、次の表記を使えます。楽器の割当は「楽器設定」で変更できます。 * (例)ドラム!作る "ドツタツドツタツドツタツクチパ・" 追加 演奏。 * ド , (ど): バスドラの**半拍**を表します。 * タ , (た): スネアの半拍を表します。 * ツ , (つ): ハイハット(クローズ)の半拍を表します。 * ク , (く): ハイハット(ハーフオープン)の半拍を表します。 * チ , (ち): ハイハット(オープン)の半拍を表します。 * パ , (ぱ): クラッシュシンバルの半拍を表します。 * ン (ん): **長音**。前の拍を半拍長くします。 * ・: 休符。1拍休みます。 * &,1,2,4,8,16: 長さを示します。"タン4タン8タン4&8" と書くと、最初のタンは**4分音符**、次のタンは**8分音符**、最後のタンは**付点4分音符**になります。 * {...}: **三連符**。3個の音を2拍で演奏します。全体の長さを指定できます。 * ドラムの「楽器設定」で使える楽器名と楽器番号には、次のものが使えます。 ^番号^名前^番号^名前^番号^名前^ |35| バスドラム 2| 51| ライドシンバル 1| 67| ハイアゴゴ| |36| バスドラム 1| 52| チャイニーズシンバル| 68| ローアゴゴ| |37| サイドスティック| 53| ライドベル| 69| カバサ| |38| スネアドラム 1| 54| タンバリン| 70| マラカス| |39| 手拍子| 55| スプラッシュシンバル| 71| ショートホイッスル| |40| スネアドラム 2| 56| カウベル| 72| ロングホイッスル| |41| ロートム 2| 57| クラッシュシンバル 2| 73| ショートギロ| |42| クローズハイハット| 58| ヴィブラスラップ| 74| ロングギロ| |43| ロートム 1| 59| ライドシンバル 2| 75| クラヴェス| |44| ペダルハイハット| 60| ハイボンゴ| 76| ハイウッドブロック| |45| ミドルトム 2| 61| ローボンゴ| 77| ローウッドブロック| |46| オープンハイハット| 62| ミュートハイコンガ| 78| ミュートクイーカ| |47| ミドルトム 1| 63| オープンハイコンガ| 79| オープンクイーカ| |48| ハイトム 2| 64| ローコンガ| 80| ミュートトライアングル| |49| クラッシュシンバル 1| 65| ハイタンバール| 81| オープントライアングル| |50| ハイトム 1| 66| ロータンバール| | | ## 楽器 * メロディとコードを演奏する楽器です。 * 以下の「作る」以外の例では、「ピアノ1」を作ってから実行してください。 * **作る** : 新しい楽器を作ります。 * (例)「ピアノ1」という名前の楽器オブジェクトを作ります。 ピアノ1=楽器!"ピアノ" 作る。 * **設定** : 演奏するメロディとコードを設定します。 * (例)「ピアノ1」に「メロディ1」のメロディを設定します。 ピアノ1!(メロディ1)設定。 * (例)「ピアノ1」に「コード1」のコードを設定します。 ピアノ1!(コード1)設定。 * **演奏** : 楽器を演奏します。 * (例)「ピアノ1」を演奏します。 ピアノ1!演奏。 * **待つ** : 演奏が終るのを待ちます。 * (例)「ピアノ1」の演奏が終るのを待ちます。 ピアノ1!待つ。 * **音量** : 音の大きさを設定します。値は0〜127で、標準の大きさは95です。 * (例)「ピアノ1」の音の大きさを「127」に設定します。 ピアノ1!127 音量。 * 楽器名と楽器番号には、次のものが使えます。 ^番号^名前^番号^名前^番号^名前^ |1| グランドピアノ| 44| コントラバス| 87| フィフスリード| |2| ブライトピアノ| 45| トレモロストリングス| 88| ベースアンドリード| |3| エレクトリックグランドピアノ| 46| ピチカートストリングス| 89| ニューエイジパッド| |4| ホンキートンクピアノ| 47| オーケストラハープ| 90| ワームパッド| |5| エレクトリックピアノ1| 48| ティンパニ| 91| ポリシンセパッド| |6| エレクトリックピアノ2| 49| ストリングス| 92| クワイアパッド| |7| ハープシコード| 50| スローストリングス| 93| ボウドパッド| |8| クラビネット| 51| シンセストリングス1| 94| メタリックパッド| |9| チェレスタ| 52| シンセストリングス2| 95| ハロパッド| |10| グロッケンシュピール| 53| コーラス| 96| スウィープパッド| |11| ミュージックボックス| 54| ボイス| 97| アイスレイン| |12| ビブラフォン| 55| シンセボイス| 98| サウンドトラック| |13| マリンバ| 56| オーケストラヒット| 99| クリスタル| |14| シロフォン| 57| トランペット| 100| アトモスフィア| |15| チューブラーベル| 58| トロンボーン| 101| ブライトネス| |16| ダルシマー| 59| チューバ| 102| ゴブリン| |17| ドローバーオルガン| 60| ミュートトランペット| 103| エコードロップ| |18| パーカッシブオルガン| 61| フレンチホルン| 104| エスエフ| |19| ロックオルガン| 62| ブラスセクション| 105| シタール| |20| チヤーチオルガン| 63| シンセブラス1| 106| バンジョー| |21| リードオルガン| 64| シンセブラス2| 107| 三味線| |22| アコーディオン| 65| ソプラノサックス| 108| 琴| |23| ハーモニカ| 66| アルトサックス| 109| カリンバ| |24| タンゴアコーディオン| 67| テナーサックス| 110| バグパイプ| |25| ナイロンギター| 68| バリトンサックス| 111| フィドル| |26| スティールギター| 69| オーボエ| 112| シャナイ| |27| ジャズギター| 70| イングリッシュホルン| 113| ティンクルベル| |28| クリーンギター| 71| バスーン| 114| アゴゴ| |29| ミュートギター| 72| クラリネット| 115| スティールドラム| |30| オーバードライブギター| 73| ピッコロ| 116| ウッドブロック| |31| ディストーションギター| 74| フルート| 117| 太鼓| |32| ギターハーモニクス| 75| リコーダー| 118| メロディックタム| |33| アコースティクベース| 76| パンフルート| 119| シンセドラム| |34| フィンガーベース| 77| ブロウボトル| 120| リバースシンバル| |35| ピックベース| 78| 尺八| 121| ギターフレットノイズ| |36| フレットレスベース| 79| ホイッスル| 122| ブレスノイズ| |37| スラップベース1| 80| オカリナ| 123| シーショア| |38| スラップベース2| 81| スクウェアリード| 124| バード| |39| シンセベース1| 82| ソートゥースリード| 125| テレフォン| |40| シンセベース2| 83| カリオペ| 126| ヘリコプター| |41| バイオリン| 84| チフリード| 127| アプローズ| |42| ビオラ| 85| チャランゴ| 128| ガンショット| |43| チェロ| 86| ボイスリード| | | ## バンド * 複数の楽器やメロディ/コード/ドラムを演奏します。 * 以下の「作る」以外の例では、「マイバンド」を作ってから実行してください。 * **作る** : 新しいバンドを作ります。 * (例)「マイバンド」という名前のバンドオブジェクトを作ります。 マイバンド=バンド!作る。 * **追加** : 演奏する楽器/メロディ/コード/ドラムを設定します。 * (例)「マイバンド」に「ピアノ1」という楽器を追加します。 マイバンド!(ピアノ1)追加。 * **演奏** : バンドを演奏します。 * (例)「マイバンド」を演奏します。 マイバンド!演奏。 * **待つ** : 演奏が終るのを待ちます。 * (例)「マイバンド」の演奏が終るのを待ちます。 マイバンド!待つ。 * **クリア** : バンドのメンバー(楽器/メロディ/コード/ドラム)をすべて取り消します。 * (例)「マイバンド」に追加された楽器/メロディ/コード/ドラムのメンバーをすべて取り消します。 マイバンド!クリア。 * **テンポ** : 演奏する速度を指定します。標準は88です。 * (例)「マイバンド」の演奏する速度を「100」に設定します。 マイバンド!100 テンポ。