Domino Ver.1.39をリリースいたしました。
今回も主に細々とした要望対応です。
また何か副作用や間違い等ありましたら、wikiへご連絡ください。

ダウンロードはこちらからどうぞ↓
https://takabosoft.com/domino

いくつか新機能とその使い方をご紹介したいと思います。

スケールとコードの扱いを拡張

ピアノロールへスケール・コードを表示する際、スケールは今まではメジャー・マイナーの2種類しか扱っていませんでしたが、他の種類も選べるようにしました。
scale00

また、自由に編集できるようにもしておきました。
scale01

さて、小節毎にスケールやコード情報をコメントのような形で曲に保存しておきたい、という要望が以前ありまして、今回のバージョンではそういった事も出来るようにしておきました。

[編集]メニューの[スケール]または[コード]を選びます。
scale02

一覧画面が表示されますので、[追加]ボタンを押して小節とスケールまたはコードを設定し、[OK]ボタンをクリックします。
この設定は複数設定することができます。
scale03

こうすることで、ピアノロールのヘッダーにスケールまたはコードが表記されます。
scale04
ちなみに、調号は( ) スケールは < > コードは [ ] に囲まれて表示されます。

曲としてスケール・コードを登録した場合は、この情報を元にピアノロールへスケール・コードを表示させることもできます。

[ピアノロールにスケール/コードを表示]画面において、[演奏データのスケール(またはコード)を参照する]を選んでください。
scale05

ピアノロールに反映されます。
scale06

小節毎にスケール・コードの表示を変えたい場合は、上記の方法で行ってください。

※ 今回のバージョンでも調号とコードは連携しません。

複数チャンネルを一度にリアルタイム録音

MIDI-INデバイスは4つまで設定できますが、リアルタイム録音はすべて同じトラックに対して記録されていました。
これを、デバイス・チャンネル毎に別々のトラックへ記録できるようにしました。

例えば「ギタ次郎」(今も売ってるのかな?)のような、MIDIギターから入力を行う際は弦毎に別々のチャンネルとして入力がありますが、これをそのまま各トラックに割り振って録音出来るようになりました。

複数チャンネル録音を行うには、[リアルタイム録音]画面の録音モードを[複数チャンネル]にし、[設定]ボタンをクリックします。
rec00

振り分け設定画面が表示されますので、[追加]ボタンを押し、どの入力を、どのトラックへ記録するかを設定してください。
この振り分け設定は複数設定できます。
rec01

あとは、録音を開始すれば、設定したとおりに録音されます。

※ 複数チャンネル録音中は音が鳴りませんが、これは仕様です。

S字曲線の入力

イベントグラフにおいて、S字曲線を入力する事が出来るようになりました。
curve

この曲線を使うと、始点と終点をゆっくりと繋げることができます。

イベントグラフの内容を、直接タイプして変更

イベントグラフへ表示する内容を切り替える方法は

  • コンボボックスをクリックしてツリーから選ぶ
  • コンボボックスの右に並んでいるボタンから選ぶ
  • イベントリストのイベントを選んだ状態で[イベントグラフペイン1で表示]コマンドを実行する

・・・といったものがありますが、新たに直接キーボードからCC#や名前を入力して表示を切り替えられるようにしました。

コンボボックスを右クリックすると、入力モードになります。
eg00

CC番号または名前を入力します(一部でもOKです)
eg01
(この検索ルールはイベントリスト上のCCイベントのEvent列でキーボード入力を行った際と同じです。)

エンターキーを押すと確定します。
eg02

タイムストレッチ機能

タイムストレッチ機能は、選択範囲に含まれるイベントの時間(間隔・Gate)を変更する機能です。

タイムストレッチを行うには、行いたい範囲を選択した状態で、[イベント]メニューの[タイムストレッチ]を実行します。
stretch00

新しい長さをMeas:Tick(Meas:Beat:Tick)または倍率で指定して[OK]ボタンをクリックします。
stretch01

タイムストレッチが行われました。
stretch02

MIDI-OUTの設定をdmsファイルへ保存

基本的にDominoはMIDI-OUTの設定を固定して使うように作られていますが、曲毎に設定を変える必要がある場合、毎回MIDI-OUTの設定を行うのは面倒です。

そこで、MIDI-OUTの設定情報をdmsファイルへ一緒に保存しておけるようにしました。

MIDI-OUTの設定情報を保存するには、[曲のプロパティ]画面を表示させ、[現在のMIDI-OUT設定をファイルへ保存する]をクリックし、[OK]ボタンをクリックします。
midiout00

こうして保存されたdmsファイルを開こうとすると、設定を復元する必要がある場合に限り、次のようなメッセージが表示されます。
midiout01

[はい]をクリックするとMIDI-OUT設定が復元されます。

テンポの変更手段を追加

ツールバー上のテンポ表示欄へマウスカーソルを合わせてホイールを上下に動かすことで、テンポを桁毎に変更できるようにしました。
tempo00

ここで変更されるテンポイベントは、現在の演奏位置が影響を受けているテンポイベントです。
例えば、10小節目と20小節目にテンポイベントがあり、演奏位置が15小節の時にホイール操作でテンポを変更すると、10小節目にあるテンポイベントが変更されます。

また、ツールバー上のテンポ表示欄を左ダブルクリックすることで、該当するテンポイベントを表示させることも出来ます。

ループマーカーと選択範囲の優先度を切り替え

今までは、ループマーカーと選択範囲が両方存在する状態でループ再生を行うと、選択範囲が優先されてきました。
loop00

ただ、状況によってはループマーカーを優先させたい事もあります。
そういった場合は、[演奏]メニューの[ループ]→[選択範囲優先]をオフにすれば、ループマーカーが優先されるようになります。

loop01

変更点一覧

  • スケールとコードを演奏データとして入力できるようにしました。
    [編集]メニューの[スケール]または[コード]から指定できます。
  • [ピアノロールにスケール/コードを表示]機能を改良しました。
    スケールの種類を増やしました。
    カスタムモードを追加し、自由に色を塗ることが出来るようになりました。
    演奏データとして入力されたスケールまたはコードをピアノロールへ表示するモードを追加しました。 これにより、小節ごとに異なるスケールまたはコードを表示出来るようになりました。
    (調号とコードの連携は行っていません。)

  • [リアルタイム録音]画面で複数チャンネルを一度に録音できるようにしました。
    デバイス・チャンネルごとに記録するトラックを指定することができます。
    [リアルタイム録音]画面の[録音モード]を[複数チャンネル]にし、[設定]ボタンを押すと振り分け設定が行えます。
    複数チャンネル録音中は、入力に対して音が出ませんが、仕様です。
  • イベントグラフの曲線に[S字曲線]を追加しました。 この曲線を使うと、始点と終点を滑らかに繋げることができます。
  • イベントグラフの切り替えコンボボックス部分で右クリックをしたら、直接文字を入力してコントロールチェンジマクロを検索出来るようにしました。
    ルールはイベントリストと同じで、数値を入力するとCCMIDとして解釈され、文字列を入力するとCCM名として解釈されます。
  • [タイムストレッチ]機能を実装しました。
    [イベント]メニューの[タイムストレッチ]から実行できます。
  • ツールバー上のテンポ表示欄をマウスホイールで値補正(桁ごと)、ダブルクリックで該当イベントへフォーカス移動させるようにしました。
  • MIDI-OUTの設定をdmsファイルへ保存出来るようにしました。
    MIDI-OUTの設定を曲ごとに変える方はこちらの機能を使っていただくと便利かと思います。
    [曲のプロパティ]画面で、現在のMIDI-OUT設定を保存することができます。
    設定が保存されたファイルを開く際、環境設定のMIDI-OUT設定と、ファイル内のMIDI-OUT設定が異なる場合は、「復元しますか?」と問い合わせた上で設定を復元します。
  • [拍子]の設定時に分母32を選べるようにしました。
  • リアルタイム録音画面で、テンポ(%)を記憶するようにしました。
  • イベントリストの配色に「背景灰色モード」を追加しました。
    [環境設定]画面の[イベントリスト (1)]から設定できます。
  • ピアノロールにフォーカスがある状態でノートと同じタイミングにプログラムチェンジを挿入した場合は、をノートより前に挿入されるようにしました(CCと同じ挙動にしました)。
  • 数式で関数log, exp, sqrtを使えるようにしました。
  • 曲線式で変数ymin, ymaxが使えるようになりました。これらを使うとCCのValue値が取りうる範囲(最小値・最大値)を参照する事ができます。
  • SMFを読み込んだときに、分解能に合わせてトラックのデフォルトGateを変えるようにしました。
  • ループ再生を行う際、ループマーカーと選択範囲とどちらを優先するかを切り替えられるようにしました。
    [演奏]メニュー→[ループ]→[選択範囲優先]のオン/オフで選択範囲優先/ループマーカ優先を切り替えられます。
  • [プログラムチェンジイベントのプロパティ]画面において、画面に表示されているキーボード上をマウスで左にドラッグしていくと、Note#=0未満になっても音が出るバグを修正しました。
  • 演奏中にトラックリスト画面のウィンドウサイズを小さくしていくと落ちる不具合を修正しました。
  • 曲線式において「xf^5」というような変数をべき乗する式が動いていなかったバグを修正しました。
    また、既存の曲線プリセット式を、すべて書き替えました(べき乗を使ったりして)。

  • [選択範囲へ曲線・直線を入力]画面で式が保存されていなかったので、OK時には保存するようにしました。
  • SMF書き出しの際、ノートが重複していた時のメッセージをもう少し解りやすくしました。
  • イベントリストでValueなどを入力中、他にフォーカスが移ったら入力ボックスを閉じるようにしました。
  • トラックリストの青い線の上に演奏線が来ると反転して黄色になりますが、見にくいため赤くなるようにしました。
  • [ベロシティコンプレッサ]の入力/出力ゲインの演算方法を[加算]か[掛け算]かを選べるようにしました。

だいぶ前からベータ版のまま放置されていたMidiKeyUtilityの正式版をリリースしておきたいと思います。
MidiKeyUtilityはMIDIキーボード・MIDIコントローラ等の入力をPCのキーボードの入力へ変換するソフトです。

例えばMIDIキーボードの鍵盤の一番低い音を弾いたらDominoの演奏開始・停止を行う、なんて事もできます。
(この場合、MIDIキーボードの特定のノートオンをスペースキーへ変換する事で実現できます。)

※ただし、例えば1つのMIDIキーボードをDominoとMidiKeyUtilityと両方で使いたい場合、MIDIドライバによっては同時に使えない場合があります。

使い方は簡単で、起動すると変換テーブル設定画面が表示されますので、使うMIDI-INデバイスを設定した後、変換テーブルを組んでください。
Edge9

変換テーブルの追加では以下のような画面が表示されます。
Edge10

直接ここでMIDIキーボードから入力したり、PCのキーボードでキーを入力すれば、その入力情報がここへ反映されます。

変換後はキーボード入力の他にもアプリをアクティブにするという事もできます。
(この場合、すでに起動しているアプリをアクティブにするという機能になります。)

あとは、ウインドウを最小化すればタスクトレイに収まりますので、その状態で使ってみてください。

ダウンロードはこちらからどうぞ。

対応OS:Win2000/XP/Vista/7

(127 KB)

なお、一部のゲーム等のキーボード入力へはうまく変換できない事も確認していますが、未調査です。

Domino久々に更新しました~。
結構大幅に手を入れましたので、不具合等見つけられましたらお手数ですがwikiまでご報告をお願いいたします。

ダウンロードはこちらからどうぞ↓
https://takabosoft.com/domino

いくつかの機能をピックアップしてご紹介したいと思います。

範囲の追加選択

範囲の追加選択が出来るようになりました。
(同じ種類に限ります。)

これにより、離れたノートを選択することが出来るようになります。
Edge8

ドラムパートの場合は、楽器毎(音階毎)に細かく選択/非選択を行うことができるようになりました。
Edge9

上部ヘッダーやトラックリストでも同様に追加選択が可能です。

範囲の追加選択は、選択ツールにて「Ctrl+左ドラッグ」操作で行います。
ただし、すでにマウス操作のカスタマイズを行っている場合は、各Ctrl+操作に「選択(追加)」を割り当てる必要があります。
Edge10

  • ピアノロール-選択ツール-左クリック+Ctrl
  • ピアノロール-ヘッダー-左クリック+Ctrl
  • ピアノロール-鍵盤-左クリック+Ctrl
  • ピアノロール-鍵盤-選択範囲上で左クリック+Ctrl
  • トラックリスト-選択ツール-左クリック+Ctrl

イベントグラフの矩形選択に対応

イベントグラフでの選択は時間範囲で指定するだけで、値による範囲は指定出来ませんでしたが、ツールのモードを切り替えることで、矩形選択が可能になります。

Edge12
(よく切り替える場合はツールバーのカスタマイズ機能でどこかに配置してください。)

こちらも追加選択が可能です。
Edge14

範囲はShift+左ドラッグで垂直移動、Alt+左ドラッグで水平移動ができます。

選択枠とノートの当たり判定方法を設定可能に

今までは例えばノートのおしり部分を選択枠で囲っても、選択状態にはなりませんでした。
Edge15

環境設定で当たり判定の項目を「ノート全体」に設定することで、選択されるようになります。
Edge16

こちらの設定を使うと、長いノートの先頭部分までわざわざスクロールせずともノートを選択できたり、ノートが多数有る中で希望のノートだけを選択しやすくなると言ったメリットがあります。

Edge19

「選択範囲の絞り込み」画面でTickの種類が選択可能に

環境設定の「時間の表し方」が「Measure : Tick」設定のままでも、「Measure : Beat : Tick」の時のTickの値を使って絞り込むことが出来るようになりました(ややこしい)。

「Measure : Tick」設定の人でも裏泊だけ選択することが出来るようになった、と言った方が判りやすいでしょうかね。
Edge20

ノートの結合

選択したノートを結合する機能を付けてみました。
Edge21

イベントメニューから実行できます。

更新内容

  • 範囲を追加選択できるようにしました。
    ピアノロールの編集エリア・上部ヘッダー・鍵盤部分、イベントグラフの編集エリア、トラックリストの編集エリア・上部ヘッダーで対応しています。
    [環境設定]画面の[マウス操作]で、+Ctrlキーに対して「選択(追加)」を割り当てる必要があります。
  • イベントグラフの選択時に、矩形で選択出来るようにしました。
    [ツール]メニューの[イベントグラフ1]→[矩形選択]をオンにしてお使い下さい。
    よく切り替える方はツールバーに配置しておくと良いかと思います。
    範囲の移動は、+Altで水平移動、+Shiftで垂直移動固定になります。
  • イベントグラフの範囲ドラッグ時にアンカーが付いてくるようにしました。
    移動後の位置がより判りやすくなると思います。
  • 選択枠とノートとの当たり判定方法を「ノートオン位置(今までの物)」と、「ノート全体」と選べるようにしました。
    ノート全体にしておくと、例えばノートのお尻だけを選択枠で囲う事で選択できるようになります。
    [環境設定]画面の[全般 (3)]から設定できます。
    ピアノロール部分の選択、ピアノロール上部ヘッダーの選択、トラックリストの選択、トラックリストの上部ヘッダーの選択において、当たり判定設定が反映されます。
  • 起動時に、前回使っていたdmsファイルを自動で開くオプションを追加しました。
    [環境設定]画面の[全般 (3)]から設定できます。
  • イベントグラフで曲線などを描画する際、右から左へドラッグした時には、左から右へドラッグした時のグラフが左右反転した形になるようにしました。
    もし今までのままを希望される方がいらっしゃいましたらご連絡ください(設定で切り替えられるようにします)。
  • パニックコマンドを追加しました。
    [演奏]メニューの[パニック]から実行できます。
    MIDIキーボードなどの接触不良などで音が鳴りっぱなしになってしまった時などに実行すれば音が止まります。
  • ノートの結合機能を実装しました。
    範囲選択後、[イベント]メニューの[結合]から実行できます。
  • エクスクルーシブ受信バッファ数・サイズを設定で変えられるようにしました。
    [環境設定]画面の[MIDI-IN]から設定できます。
    もし機器から大量のダンプを受信しようとして、受信しきれないような事態になりましたら、バッファ数やサイズを増やしてみてください。
  • F7で終わっていないエクスクルーシブデータを許容するオプションを追加しました。
    [環境設定]画面の[全般 (2)]から設定できます。
  • 音源定義ファイルの可変値に#VPGLと#VPGHを追加しました。
    #VPGLは(Value + Gate)の下位7bit値です。
    #VPGHは(Value + Gate)の上位7bit値です。
  • SMFを読み込んだ場合は、そのパスを書き出し先パスとして覚えておくようにしました。
  • Ctrl+左ドラッグで範囲の複製を移動したりするときに、もう一度Ctrlキーを押すまではTickクォンタイズ切り替え機能が発動しないようにしました。
  • データに変更があったときのみバックアップを行うオプションを追加しました。
  • 演奏中にピアノロールの自動改ページ切り替えを行うかどうかを切り替えられるようにしました。
    [表示]メニューの[ピアノロールペイン]内から切り替えられます。
  • [選択範囲の絞り込み]画面にて、Tickの絞り込みが出来ますが、元となるTickの値をどのように生成するかを以下の3つから選べるようにしました。
    • デフォルト(環境設定の「時間の表し方」で設定されている方)
    • M : T(Meas : Tick)
    • M : B : T(Meas : Beat : Tick)
  • MSGS音量調節機能を実装しました。
    デフォルトではMSGSの音量が小さかったりミュートになっていたりすると警告が出るようになっています。
    [環境設定]画面の[全般 (3)]から設定できます。
  • アウトプットペインの右クリックメニューに「クリア」を追加しました。
  • イベントグラフの高さが小さくなっている時などに、直線・曲線ツールで線などを描画すると、終了する値がステータスバーに表示された値と1ずれる事がある不具合を修正しました。
  • [リアルタイム録音]画面で停止した後で、キーボードのESCキーなどが効かない不具合を修正しました。
  • トラックリストのトラック名部分でアンダースコアが表示されない不具合を修正しました。
  • 演奏モニターで横スクロールを行うと、VOL値などをクリックした時に、クリックした場所とは違う値が反応してしまう不具合を修正しました。
  • トラックリストでALT+ドラッグでSMFをエクスポートしたときに、Bポート以降のトラックがAポートの音源定義ファイルを使って書き出されていた不具合を修正しました。
  • トラックセレクトペインの幅が狭い時は、ポート&チャンネルの表記を短くするようにしました。
  • [範囲の選択]画面でコンダクタートラックのイベントグラフを選択できない不具合を修正しました。
  • 低負荷演奏中にはバックアップ処理が走らないように修正しました。
  • 一括変更時の値の上下限値を常にカレントトラックの音源定義ファイルを使用していた不具合を修正しました。
  • [選択範囲の絞込み]画面を開いたときに、「範囲外」チェックがオンなのにスライダー部分が範囲外になっていない事がある不具合を修正しました。
  • 「カーソル位置のイベントをピアノロール側で判別できるようにする」がオンになった状態で、イベントを全て消すと落ちる事がある不具合を修正しました。

Dominoユーザーさんからメールを頂きましたので、ご紹介させていただきます。

(コメント抜粋)

 長年Dominoを愛用していたのですが、つい先日ショートカットキーの設定が出来ることに気がつきました。(気づくのが遅かったです。)操作性が向上し、テンションが上がったので一曲耳コピしました。
 使用音源は、Microsoft GS Wavetable SW Synth です。評判が良くない音源ですが、シンプルで多彩な音色とコントロールチェンジの反応の速さが優秀なので音作りが好きな人には最高の音源だと思ってます。
 相当気合を入れて作ったので、Microsoft GS Wavetable SW Synth の可能性を皆に伝えることができたら幸いです。

またもしこの場で宣伝したい方がいらっしゃいましたら、メール等でご連絡ください。

レイヤの概念をざっくりとご説明。
(DominoのSC-8850音源定義ファイルだとレイヤ設定できませんが、エクスクルーシブでやればOK!!)

例えば「ピアノとオルガンの混ぜた音を使いたい」と思ったら、
トラック1をピアノ、トラック2をオルガンにしておいて、(プログラムチェンジ以外は)全て同じ演奏データ(=ノート、ピッチベンドカーブ等)にしておくのが一番単純な実現方法かと思います。

layer000

ただ、これだとトラック1のメロディを変えたら、それをトラック2にコピーする手間が発生します。
また、演奏データ量が多いと、同じ内容を二重で送信するため、その分MIDI通信時や音源側に負荷が掛かります(MSGSの場合は関係ないかもしれませんが)。

レイヤを使うとこのあたりが少しすっきりします。
まず、音源のパート2に対して、プログラムチェンジ命令(オルガンになれ!)と受信チャンネル変更命令(チャンネル1を受信しろ!)を投げます。
layer001

あとは、チャンネル1に対して演奏データを送信すれば、パート1とパート2がそれを受信してピアノとオルガンの音が鳴るというわけです。
layer002

これでしたら、Domino側の演奏データやMIDIケーブル上を流れるデータは1トラック分で済みますし、音源側の負荷も減らせます。
(SC-8850なんかでは、結構もたりが軽減されます)

今回の例は音色を変えただけですが、やりようによっては、オクターブの違う音を重ねたり(キーシフトに対応した音源で可能)、パンポットの左右で重ねたり、といった事ができます。

デメリットも当然ありまして、一度受信チャンネルをずらしてしまうと、例えばパート2(オルガン)だけ音量を調節したいと思ってもすぐには変えられなかったりします。
このあたりはケースバイケースといった所かと思います。

こんな感じで、受信チャンネルをずらして1トラック分の演奏データで複数のパートを重ねて鳴らす手法の事を「レイヤ」と言います(たぶん)。
(すみません、結構憶測が含まれるので間違っていたら突っ込み入れてください。)

ちなみに音源によっては受信チャンネルをずらさなくても、(音を作り込む機能として)レイヤを組める物があります。
ハードウェア音源を持っている方は一度マニュアルを読んでみると新たな発見があるかもしれませんよ??

記事検索

アーカイブ