「サクラ」交流掲示板

サクラの掲示板です。
[一覧へ] > (@113) [低] [コメント]
@113■ (#541) sakurabgm プロジェクト - ななこっち★ (2015-04-27 12:34) /低 アイデア
テキスト音楽サクラの「csakura」(コンソール版)を使用して、
とっても簡単に、好きなテンポ、調性、音源を選んで
WAVに吐き出して、素材として使用できるようにするもの。

(#542) 仕様、注意事項等 - ななこっち★ (2015-04-27 12:40) /低 コメント
とっても簡単にかいたつもりの仕様

mml ファイルの頭に、以下のようなものを付け加える。
(TiMidiTy++用を想定)

//
// sakurabgm 定義
//
Int LOOP=3     //sakurabgm:ループ数の指定,MIN=1,DEFAULT=3,MIN=999
Tempo 100     //sakurabgm:曲の速さ,MIN=60=遅い,DEFAULT=100=標準,MAX=160,速い
Key (0)     //sakurabgm:調性,MIN=-12,低い,DEFAULT=0=標準,MAX=12=高い
Int NODTM=1    //sakurabgm:演奏の自然さ,MIN=0=DTM,DEFAULT=1=標準(上手),MAX=3=へたくそ
Str NAME={"春のそよ風に"}
Str AUTHOR={"なの"}
Str TIMIDITYCFG={"1-WithPiccoro.cfg=ピッコロとクラリネット,1-WithoutPiccoro.wav=バイオリン"}
Str COMMENT={"レビュー商品として、相場価格15万円~17万円の商品が当選してしまった?\\nあまりの驚きに、全てのレビュー曲を自分で作曲してしまおうという試みから\\n初めて、作ってみた第1弾の曲です。"}
Str LICENSE={"CC BY-SA"}
Str GENRE={"POP"}
Str LICENSEURL={"http://creativecommons.org/licenses/by-sa/2.1/jp/"}
Str URL={"http://club.coneco.net/user/41992/review/119458/"}
Str SAKURAURL={"http://oto.chu.jp/mmlbbs6/post.php?mml_id=1215"}
Str CHORD={"F"}

■注意事項
テンポが動的に変わる場合、直接数値を指定せず、演算で行なわないといけない。
 100から90に変わる場合、Tempo=Tempo-10

調性を指定する Key は、sakurabgm定義では
Key(半角スペース)(0)であること
それ以外の部分では、 Key(0)のようにスペースなしにしなくてはならない

ドラムパートやエフェクト等、ピッチを変えてはならないものは、MMLの最後に記述し
Key(0) を定義しないとならない

Includeのうち、サクラ標準に存在する物は、置き換えて使用してはならない。

可変ループ数で演奏をするため、以下の関数を用いて演奏させなければならない

Function LoopPlay(Str Mml, Int count) {
  Str _MML
  For (Int i = 1; i < LOOP + count; i++) {
    _MML=_MML + #STR(Mml)
  }
  _MML
}

例:
トラック 1;
LoopPlay("cdefg")

#strtest={ドレミファソラシド}
トラック2;
LoopPlay(#strtest)



p.s.TWM2が、録音デバイスを経由せず、単なるWAVへのコンバーターとなれば、利用幅が広がるのだが。。。

(#543) なでしこで - ななこっち★ (2015-05-26 18:59) /低 コメント
メニュー画面ぽいものを書いてみた。。。。。

母艦は「てすと」
母艦のWは800。
母艦のHは600。
母艦を中央移動。
母艦の終了可能はオフ。

プレビューボタンとはボタン。
そのXは400。
そのYは450。
そのWは170。
そのHは40。

作成ボタンとはボタン。
そのXは600。
そのYは450。
そのWは170。
そのHは40。

設定ボタンとはボタン。
そのXは600。
そのYは520。

終了ボタンとはボタン。
そのXは700。
そのYは520。
終了ボタンをクリックした時は~
  MessageBox((母艦の、ハンドル),「終了しますか?」,「てすと」,$2124)。
    もし、それが6/*はい*/ならば、
      母艦の終了可能はオン。
      終了。
    もし、それが7/*いいえ*/ならば、
      母艦の終了可能はオフ。
●MessageBox(h,t,c,u) =DLL("user32.dll", "int MessageBoxA(
        HWND hWnd, // handle of owner window
        LPCTSTR lpText, // address of text in message box
        LPCTSTR lpCaption, // address of title of message box  
        UINT uType  // style of message box
    )")#"

曲リストとはリスト
そのXは10。
そのYは10。
そのWは350。
そのHは530。
そのアイテムは「0123456789ABCDEF0123456789ABCDEF
あいうえおかきくえけこ
さしすせそたちつてと」
520にその横スクロール幅設定

メニュータブとはタブページ。
メニュータブに「曲設定」をタブ追加。
メニュータブに「音源設定」をタブ追加。
メニュータブに「エフェクト設定」をタブ追加。
メニュータブに「出力設定」をタブ追加。
メニュータブのXは400
メニュータブのYは10
メニュータブのHは435
メニュータブのWは375
メニュータブの表示タブは0。
  ラベル1とはラベル
  そのテキストは「ラベル1」
  そのXは10
  そのYは10
  その親部品はメニュータブ。

  ステータス1とはラベル
  そのテキストは「ステータス1」
  そのXは150
  そのYは10
  その親部品はメニュータブ。

  現在値=5000
  バー1とはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは30
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バー1の値=現在値ならば
       抜ける
    もし、バー1の値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バー1の値=現在値
    ステータス1のテキストはバー1の値

  ラベル2とはラベル
  そのテキストは「ラベル2」
  そのXは10
  そのYは60
  その親部品はメニュータブ。

  ステータス2とはラベル
  そのテキストは「ステータス2」
  そのXは150
  そのYは60
  その親部品はメニュータブ。

  現在値=5000
  バー2とはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは80
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バー2の値=現在値ならば
       抜ける
    もし、バー2の値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バー2の値=現在値
    ステータス2のテキストはバー2の値

  ラベル3とはラベル
  そのテキストは「ラベル3」
  そのXは10
  そのYは110
  その親部品はメニュータブ。

  ステータス3とはラベル
  そのテキストは「ステータス3」
  そのXは150
  そのYは110
  その親部品はメニュータブ。

  現在値=5000
  バー3とはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは130
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バー3の値=現在値ならば
       抜ける
    もし、バー3の値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バー3の値=現在値
    ステータス3のテキストはバー3の値

  ステータス4とはラベル
  そのテキストは「ステータス4」
  そのXは150
  そのYは160
  その親部品はメニュータブ。

  ラベル4とはラベル
  そのテキストは「ラベル4」
  そのXは10
  そのYは160
  その親部品はメニュータブ。

  現在値=5000
  バー4とはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは180
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バー4の値=現在値ならば
       抜ける
    もし、バー4の値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バー4の値=現在値
    ステータス4のテキストはバー4の値
     現在値=現在値-100
    バー4の値=現在値
    ステータス4のテキストはバー3の値

  ラベル5とはラベル
  そのテキストは「ラベル5」
  そのXは10
  そのYは210
  その親部品はメニュータブ。

  ステータス5とはラベル
  そのテキストは「ステータス5」
  そのXは150
  そのYは210
  その親部品はメニュータブ。

  現在値=5000
  バー5とはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは230
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バー5の値=現在値ならば
       抜ける
    もし、バー5の値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バー5の値=現在値
    ステータス5のテキストはバー5の値

  ラベル6とはラベル
  そのテキストは「ラベル6」
  そのXは10
  そのYは260
  その親部品はメニュータブ。

  ステータス6とはラベル
  そのテキストは「ステータス6」
  そのXは150
  そのYは260
  その親部品はメニュータブ。

  現在値=5000
  バー6とはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは280
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バー6の値=現在値ならば
       抜ける
    もし、バー6の値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バー6の値=現在値
    ステータス6のテキストはバー6の値

  ラベル7とはラベル
  そのテキストは「ラベル7」
  そのXは10
  そのYは310
  その親部品はメニュータブ。

  ステータス7とはラベル
  そのテキストは「ステータス7」
  そのXは150
  そのYは310
  その親部品はメニュータブ。

  現在値=5000
  バー7とはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは330
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バー7の値=現在値ならば
       抜ける
    もし、バー7の値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バー7の値=現在値
    ステータス7のテキストはバー7の値

  ラベル8とはラベル
  そのテキストは「ラベル8」
  そのXは10
  そのYは360
  その親部品はメニュータブ。

  ステータス8とはラベル
  そのテキストは「ステータス8」
  そのXは150
  そのYは360
  その親部品はメニュータブ。

  現在値=5000
  バー8とはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは380
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バー8の値=現在値ならば
       抜ける
    もし、バー8の値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バー8の値=現在値
    ステータス8のテキストはバー8の値

メニュータブの表示タブは1。
  音源ラベルとはラベル
  そのテキストは「音源候補一覧」
  そのXは10
  そのYは10
  その親部品はメニュータブ。

  音源リストとはリスト
  そのXは10。
  そのYは30。
  そのWは350。
  そのHは150。
  そのアイテムは「0123456789ABCDEF0123456789ABCDEF
あいうえおかきくえけこ
さしすせそたちつてと」
  その親部品はメニュータブ。

メニュータブの表示タブは2。
  ラベルディレイとはラベル
  そのテキストは「ディレイタイム」
  そのXは10
  そのYは10
  その親部品はメニュータブ。

  ステータスディレイとはラベル
  そのテキストは「ディレイタイム」
  そのXは150
  そのYは10
  その親部品はメニュータブ。

  現在値=5000
  バーディレイとはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは30
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バーディレイの値=現在値ならば
       抜ける
    もし、バーディレイの値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バーディレイの値=現在値
    ステータスディレイのテキストはバーディレイの値

  ラベルリバーブタイプとはラベル
  そのテキストは「リバーブの種類」
  そのXは10
  そのYは60
  その親部品はメニュータブ。

  ステータスリバーブタイプとはラベル
  そのテキストは「ステータスリバーブタイプ」
  そのXは150
  そのYは60
  その親部品はメニュータブ。

  リバーブタイプとはコンボ。
  そのXは10
  そのYは80
  そのWは200
  そのアイテムは「なし
ノーマル MIDIリバーブ
ノーマル 強制リバーブ
Freeverb MIDIリバーブ
Freeverb 強制リバーブ」
  そのテキストは「Freeverb MIDIリバーブ」
  その親部品はメニュータブ。

  ラベルリバーブ音量とはラベル
  そのテキストは「リバーブの音量」
  そのXは10
  そのYは110
  その親部品はメニュータブ。

  ステータスリバーブ音量とはラベル
  そのテキストは「ステータスリバーブ音量」
  そのXは150
  そのYは110
  その親部品はメニュータブ。

  現在値=5000
  バーリバーブ音量とはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは130
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バーリバーブ音量の値=現在値ならば
       抜ける
    もし、バーリバーブ音量の値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バーリバーブ音量の値=現在値
    ステータスリバーブ音量のテキストはバーリバーブ音量の値

  ステータスコーラスタイプとはラベル
  そのテキストは「ステータスコーラスタイプ」
  そのXは150
  そのYは160
  その親部品はメニュータブ。

  ラベルコーラスタイプとはラベル
  そのテキストは「コーラスの種類」
  そのXは10
  そのYは160
  その親部品はメニュータブ。

  コーラスタイプとはコンボ。
  そのXは10
  そのYは180
  そのWは200
  そのアイテムは「なし
ノーマルコーラス
サラウンドサウンド」
  そのテキストは「ノーマルコーラス」
  その親部品はメニュータブ。

  ステータスコーラスボリュームとはラベル
  そのテキストは「ステータスコーラスボリューム」
  そのXは150
  そのYは210
  その親部品はメニュータブ。

  現在値=5000
  バーコーラスボリュームとはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは230
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バーコーラスボリュームの値=現在値ならば
       抜ける
    もし、バーコーラスボリュームの値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バーコーラスボリュームの値=現在値
    ステータスコーラスボリュームのテキストはバーコーラスボリュームの値

  ラベルノートボリュームとはラベル
  そのテキストは「ノートボリューム」
  そのXは10
  そのYは260
  その親部品はメニュータブ。

  ステータスノートボリュームとはラベル
  そのテキストは「ステータスノートボリューム」
  そのXは150
  そのYは260
  その親部品はメニュータブ。

  現在値=5000
  バーノートボリュームとはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは280
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バーノートボリュームの値=現在値ならば
       抜ける
    もし、バーノートボリュームの値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バーノートボリュームの値=現在値
    ステータスノートボリュームのテキストはバーノートボリュームの値

  ラベルドラムボリュームとはラベル
  そのテキストは「ドラムボリューム」
  そのXは10
  そのYは310
  その親部品はメニュータブ。

  ステータスドラムボリュームとはラベル
  そのテキストは「ステータスドラムボリューム」
  そのXは150
  そのYは310
  その親部品はメニュータブ。

  現在値=5000
  バードラムボリュームとはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは330
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バードラムボリュームの値=現在値ならば
       抜ける
    もし、バードラムボリュームの値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バードラムボリュームの値=現在値
    ステータスドラムボリュームのテキストはバードラムボリュームの値

  ラベルトータルボリュームとはラベル
  そのテキストは「トータルボリューム」
  そのXは10
  そのYは360
  その親部品はメニュータブ。

  ステータストータルボリュームとはラベル
  そのテキストは「ステータストータルボリューム」
  そのXは150
  そのYは360
  その親部品はメニュータブ。

  現在値=5000
  バートータルボリュームとはバー
  その最大値は10000
  その最小値は0
  そのXは10
  そのYは380
  そのWは340
  その値は現在値
  その親部品はメニュータブ。
  その変更した時は~
    もし、バートータルボリュームの値=現在値ならば
       抜ける
    もし、バートータルボリュームの値>現在値ならば
     現在値=現在値+100
    違えば
     現在値=現在値-100
    バートータルボリュームの値=現在値
    ステータストータルボリュームのテキストはバートータルボリュームの値
  
メニュータブの表示タブは3。
  ラベルビットとはラベル
  そのテキストは「量子化ビット数」
  そのXは10
  そのYは10
  その親部品はメニュータブ。

  ビットとはコンボ。
  そのXは10
  そのYは30
  そのアイテムは「8bit
16bit
24bit」
  そのテキストは「16bit」
  その親部品はメニュータブ。

  ラベルサンプリングレートとはラベル
  そのテキストは「サンプリングレート」
  そのXは10
  そのYは60
  その親部品はメニュータブ。

  サンプリングレートとはコンボ。
  そのXは10
  そのYは80
  そのアイテムは「8khz
11.025khz
16khz
22.05khz
32khz
44.1khz
48khz
88.2khz
96khz
176.4khz
192khz」
  そのテキストは「44.1khz」
  その親部品はメニュータブ。

  ラベルフォーマットとはラベル
  そのテキストは「出力」
  そのXは10
  そのYは110
  その親部品はメニュータブ。

  フォーマットとはコンボ。
  そのXは10
  そのYは130
  そのアイテムは「モノラル
ステレオ」
  そのテキストは「ステレオ」
  その親部品はメニュータブ。

  ラベルリサンプリングとはラベル
  そのテキストは「リサンプリングオプション」
  そのXは10
  そのYは160
  その親部品はメニュータブ。

  リサンプリングとはコンボ。
  そのXは10
  そのYは180
  そのWは300
  そのアイテムは「なし
Linear リサンプルアルゴリズム
C-spline リサンプルアルゴリズム
Lagrange リサンプルアルゴリズム
Newton リサンプルアルゴリズム
Gauss-like リサンプルアルゴリズム」
  そのテキストは「Gauss-like リサンプルアルゴリズム」
  その親部品はメニュータブ。

  ラベルVCFとはラベル
  そのテキストは「VCFオプション」
  そのXは10
  そのYは210
  その親部品はメニュータブ。

  VCFとはコンボ。
  そのXは10
  そのYは230
  そのWは300
  そのアイテムは「なし
Chamberlin resonant LPF (12dB/oct)
Moog resonant lowpass VCF (24dB/oct)」
  そのテキストは「Chamberlin resonant LPF (12dB/oct)」
  その親部品はメニュータブ。

  ラベル出力ファイル形式とはラベル
  そのテキストは「出力ファイル形式オプション」
  そのXは10
  そのYは260
  その親部品はメニュータブ。

  出力ファイル形式とはコンボ。
  そのXは10
  そのYは280
  そのアイテムは「WAVE
MP3
FLAC
MID」
  そのテキストは「WAVE」
  その親部品はメニュータブ。

(#541)へ返信する:

👆お手数ですが、いたずら防止のために、「医者」の読み方をカタカナで記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能