2019年3月18日月曜日

Logic Pro X のスコアエディタでサスティンペダルを音の長さに反映させる方法

結論

結論から書くと、ピアノロールの[機能]>[サスティンペダルをノートの長さに変換] でサスティンペダルが消えて音の長さがサスティンペダル分の長さに変更されるので、オーバーラップなし設定のスコアであればこれで特に問題は出ないのではないかと思います。

なぜやりたい?

なぜこれをやる必要があるかというと、鍵盤でリアルタイム入力して鍵盤用の譜面を作る場合、サスティンペダルを使用することがほとんどで、そのまま譜面を表示するとこのようになります。
リアルタイム入力後のスコアエディタの状況。Ped. * などの記号がごちゃごちゃと出てしまう。
音の長さも鍵盤から指を離したタイミングまでとなり、いちいち休符が入ってしまう。
リアルタイム入力後のピアノロール。譜面の4小節目までが表示されている。
下部の線がサスティンペダルの状況。127 が踏んだ状態、0 が離した状態。
このようにサスティンペダルの記号(Ped. * など)で煩雑になってしまうので、クラシックの譜面でもない限り、サスティンペダルの指定は行わず、適宜ペダルを踏むケースが多いのではないかと思います。

譜面でサスティンペダルの指定を行わない場合は、音符の長さをサスティンペダルを踏んで伸ばしたい長さにする必要があります。でないと、普通に指を離したタイミングで音を切る、という譜面になってしまいます。上のピアノロールの通り音が途切れてしまうわけです。

てっきりスコアエディタの設定に、サスティンペダルを表示せず、音符の長さをサスティンペダルを踏んで伸ばしたい長さにするオプションがあるものと考えて探しましたが、どうも無いようです。

ネットを調べていると、「サスティンペダルをノートの長さに変換」の機能があることがわかり、使えそうということで試してみました。

「サスティンペダルをノートの長さに変換」機能を使ってみる

ピアノロールの[機能]>[サスティンペダルをノートの長さに変換]
メニューを表示した状態。
サスティンペダルをノートの長さに変換した後のピアノロール。ティンペダルが消えて音の長さがサスティンペダル分の長さに変更されている。
サスティンペダルをノートの長さに変換した後のスコアエディタ。
ペダル記号と余分な休符がなくなり、スッキリして見やすくなった。

一つ注意点あり

スコアエディタの方では「オーバーラップなし」の設定にする必要があります。通常はデフォルトで「オーバーラップなし」になっているので変更していなければ問題ないと思います。

サスティンペダルを踏んだ状態で同音連打をした場合、前のノートは切られることはなく、サスティンペダルが切れるところまで伸ばされます。ということはノートがその間重なった状態になるわけです。

そうなると、スコアエディタではどのように表示されるかというと、このように音符がタイで繋がれてしまうのです。これを見た奏者は後の音符は弾かず、2小節目などは、なんで全音符にしなかったんだろうと疑問に思うでしょう。
リージョンの設定で「オーバーラップなし」のチェックを外した状態のスコアエディタ。
余分なタイが表示されていて、誤解を生んでしまいそう。

ちょっと気になる問題点

譜面的にはこれでとりあえずなんとかなっていますが、いくつか問題があるのではないかと思います。
  • サスティンペダルのタイミングの問題でノートの終わりが次の音に少しかぶってしまう
    通常サスティンペダルは正確に次の音を鳴らすタイミングで離すわけではなく、少し遅らせて踏みます。次の音ぴったりを狙い、間違って早く離してしまうと音が途切れるリスクがあるためです。逆に少し遅らせると、ちょっとだけ音はかぶっているんですが、気付かない範囲に収めることは簡単です。
    このため、サスティンペダルを離すタイミングは次の音がなった少し後になっているため、そこまで前のノートが伸ばされてしまいます。
    スコアエディタでは「オーバーラップなし」になっていれば影響がなく問題は無いはずです。再生時の実音でも、サスティンペダルを踏んだときと同じ状態なのでこれも問題はないはずです。
  • ものすごく長いノートができてしまうことがある
    録音を繰り返す際にサスティンペダルを離す信号がない状態があったりすると、ずっと踏みっぱなしと判定されて、ものすごく長いノートができてしまうことがあります。譜面上おかしなことになるので、これは見つけて修正するしかありません。
  • 演奏情報が消えてしまう
    サスティンペダルの情報は消えてしまい、指を離したタイミングの情報も消えてしまうため、ピアノロールを見ても実際の演奏の状況はわからなくなってしまいます。
    なので、やはり、スコアエディタの設定でサスティンペダルを音の長さに反映するモードが必要なのではないかと思います。データは変えず、譜面上の解釈だけで解決できる問題だと思いますし。
でも、とりあえずリアルタイム入力で鍵盤の譜面を作る際には「サスティンペダルをノートの長さに変換」を使っていこうと思います。

2018年12月14日金曜日

PreSonus Studio 192 によるキューシステムの問題点

デジタルミキサーによるCUEシステム再考まとめ
オーディオインターフェイスによるCUEシステム再考まとめ

など、いろいろ考察した結果、PreSonus Studio 192 を買ったんですが、いじっているうちに一つ問題に気が付きました。

前提を知らない方にはちんぷんかんぷんな文章かもしれないので、ちょっと前置きを書きます。

Studio 192 をコントロールするにはいくつか方法があります。
UC-Surface と QMix-UC は Universal Control という PreSonus 独自の基盤ソフトを介してコントロールするアプリです。Universal Control はオーディオインターフェイスを使用する PC にインストールし、対応する PreSonus のオーディオインターフェイスのドライバ、ファームウェアも含まれています。PC へのネットワーク接続も Universal Control が提供しており、同じネットワーク内の UC-Surface QMix-UC から PC の Universal Control に接続し Studio 192 をコントロールする形になっています。

ここからが本題です。

Studio 192 を購入した目的の一つ、iPhone、Andloid スマホアプリ QMix-UC で各自のモニターミックスを自分で調整することができることは分かったんですが、これは PC を経由せずに Studio 192 内でミックスしてモニター出力するダイレクトモニタリングに限った話で、例えば Studio One でレコーディングしていたとしたら、レコーディング結果を聞きながら各自のモニターミックスをいじりたくなるかと思うんですが、それはできないらしいのです。

なぜなら、DAW からのオーディオ出力は各トラックごとに設定した出力先になっていて、各入力チャンネルに戻るわけではないからです。ダイレクトモニタリングは入力チャンネルからの信号をミックスして直接出力に出します。QMix-UC のミックスと DAW からのミックス出力は別個の話なのです。ダイレクトモニタリングのミックス結果と、Studio One のキューミックスの設定をリンクできれば良いんですが、それはできないようです。

そこで、Studio One からダイレクトモニタリングを利用できる Z-Mix 機能を試してみました。Z-Mix を使うと、入力からキューミックスへのダイレクトモニタリングも働いた上で、再生時の出力も各キューミックスの設定通りになりました。これで録音結果を聞きながら各自のモニターミックスをいじることができます。

Studio One でキューミックスの Z-Mix が有効(Z マークが青)になっている状態
が、Z-Mix を有効にすると UC-Surface と QMix-UC では Mixer Bypassed となってミックスをコントロールできなくなります。Studio One が Studio 192 の DSP ミキシングをコントロールするようになるためのようです。

Z-Mix 利用時の UC-Surface
Z-Mix 利用時の QMix-UC


Studio One Remote という Studio One をリモートコントロールする iPad アプリもあるので、そちらで Studio One のキューミックスをコントロールしようとしたところ、Studio One のコンソールよりキューミックスのコントロールはやりやすく、各キューミックスごとのミキサーコントロールが出てきました。これはかなり使えそうですが、残念ながら、iPad、Android タブレット、Windows タブレットのみ対応で、みんなが持ち歩くスマホではコントロールできません。

Studio One Remote でキューミックス HP1 を表示した状態

ちなみに、Studio 192 に付属の Studio One Artist は Studio One Remote に対応していません。Studio One Remote Support が別売り(¥1168)となっています。VST and AU and Rewire Support も別売り(¥9350)です。ブラックフライデーで半額になっていたので、私は全部入りの Professional にアップグレード(16,400円)してしまいました。もしかしたら Logic Pro X から移行する可能性もあるのでお試しです。

録音したものを聞きながら各自のモニターミックスを調整しようとしなければ QMix-UC が使えるのでスマホでコントロールできます。ただ、演奏時にしか調整できないので、演奏しながら気もそぞろにスマホをいじってモニターミックスを調整しなければいけません。各楽器のプレイヤーが手を離して止まりながらやることになるので、ちょっとうまくない流れのような気がします。

各自にタブレットを持ってきてもらい、Studio One Remote でキューミックスをいじってもらうのが現状のベストなのかもしれません。Studio One のキューミックスを各自でコントロールするための QMix-One とかスマホアプリで出してくれないかな…

2018年11月23日金曜日

オーディオインターフェイスによるCUEシステム再考まとめ



ここまで Twitter で書いて、詳細は書ききれないと思ったのでブログで書きます。
10万円以下でアナログイン8ch以上アウト8ch以上、といった感じの選抜です。
どれもオーディオインターフェイスは昨今のデジタルミキサーのような IP ネットワークによるリモートコントロールの方向には行っておらず、エンジニアが操作する形になりますが、CUE ミックス自体はどれでも作ることができ、出力をマルチヘッドホンアンプか、Behringer P2 などにつなげてイヤホンかヘッドホンに出力すれば、パーソナルモニタリングシステムができます。

ただし、PreSonus だけ、Studio 192 と USB 接続した PC 上の Universal Control を介して UC Surface や QMix-UC からのリモートコントロールが可能になるらしいです。これは要注目です。

Focusrite Scarlett 18i20 Gen 2


  • アナログイン8ch/アウト10ch
  • 2016年6月発売
  • 情報源: Scarlett 2nd Gen Focusrite Control ユーザーガイド
  • Focusrite Control ではアウトがステレオとしてまとめて扱える。
  • AUXバスにまとめるやり方ではなく、custom mix を出力チャンネルに対して設定できる形になっている。CUE ミックスを作る意味合いとしてはこの方がやりやすい。
  • エフェクトは DSP ではなくソフトウェアになるらしく、ダイレクトのモニタリングではエフェクトがかけられないらしい。

ROLAND OCTA-CAPTURE UA-1010

  • アナログイン8ch/アウト8ch
  • 2010年9月発売
  • 情報源: OCTA-CAPTURE (Ver.1.5) 取扱説明書
  • ダイレクトミキサー A、B、C、Dの出力を内部パッチベイを通して出力に割り当てるようになっている。こちらも CUE ミックスを作る上では AUX バスより分かりやすい。
  • ダイレクトミキサーにてリバーブのセンド・リターンがあり、モニターにリバーブのみかけられるらしい。

TASCAM Celesonic US-20x20


  • アナログイン10ch/アウト10ch
  • 2015年9月発売
  • 情報源: リファレンスマニュアル
  • AUXバスが4つあり OUTPUT SETTING タブの出力選択で AUX を選ぶ形になっている。一般的なミキサーの考え方だが、CUE ミックスを作るイメージではない。
  • プリ・ポストフェーダーを選べ、エフェクト後の音をモニターに返せる。

Steinberg UR824


  • アナログイン8ch/アウト8ch
  • 2011年11月発売
  • 情報源: UR824 Operation Manual
  • dspMixFx にて4つのステレオミックスを作れ、Output Routing にてミックスの割当を行うらしい。
  • UR シリーズ パーフェクトガイドにエフェクトをかけたモニター出力ができることを売り文句としている。

ZOOM UAC-8


  • アナログイン8ch/アウト10ch
  • 2015年5月発売
  • 情報源: UAC-8 MixEfx リファレンス・ガイド
  • MixEfx という専用ソフトにて各出力ごとのミックス設定ができる。
  • Output の段に EFX RETURN ノブがあり、ダイレクトモニタリング時にもエフェクトをかけられる様子。


  • アナログイン8ch/アウト10ch
  • 2015年2月発売
  • 情報源: TAC-8 MixEfx リファレンス・ガイド
  • MixEfx という専用ソフトにて各出力ごとのミックス設定ができる。
  • Output の段に EFX RETURN ノブがあり、ダイレクトモニタリング時にもエフェクトをかけられる様子。
  • 基本的に UAC-8 と同じ様子。USB3.0 か Thunderbolt2 かの違い。

PreSonus Studio 192


  • アナログイン8ch/アウト10ch
  • 2016年2月発売
  • 情報源: Studio 192オーナーズ・マニュアル(英語版)
  • Z-Mix コントロールで各出力へのミックスが作成できる模様。AUX バス的な操作になっている。
  • Fat Channel プラグインが Z-Mix に対してかけられるのでダイレクトモニタリング時にもエフェクトを掛けることができるらしい。
  • UC Surface によるリモートコントロールという謳い文句があるが、Will the Studio 192 work with an iPad? によると、Studio 192 を PC と接続し、その PC と同じネットワークにつながった iPad の UC Surface からコントロールできると書かれている。
  • ここの情報によると Universal Control というアプリがネットワークアクセスを提供するらしい。
  • これで QMix-UC で各 iPhone, Android スマホからミックスをコントロールできたらこれ以上無いかもしれない。

デジタルミキサーによるCUEシステム再考まとめ

2018年10月21日日曜日

ZOOM LiveTrak L-12 の5系統モニターは CUE ボックス代わりになる?

4年前に「バンド演奏のモニター問題」という投稿をしましたが、去年、ZOOM LiveTrak L-12 というデジタルミキサーが出ていることにいまさら気が付きました。これがなんと5系統のヘッドホンモニター出力を持ち、ミキサーのシーンの扱いのようにそれぞれのモニター出力のミキシングができるという、いわゆる CUE ボックスのような機能を持つものらしいのです。

藤本健の “DTMステーション”
こんなデジミキを待っていた!ZOOMのコンパクトな12chミキサー、LiveTrak L-12が万能で超便利!

モニター機能については軽めに触れられています。

DiGiRECO
ZOOM / LiveTrak L-12

モニター機能について多めに書かれています。メトロノーム機能も各モニターごとに音量設定できるとか。

Sound & Recording Magazine
「ZOOM LiveTrak L-12」製品レビュー:マルチトラック録音とオーディオI/O機能を持つ12chミキサー

「モニター音に内蔵エフェクトはかからない」という気になる情報が…ボーカルさんはリバーブがかかった音をモニターしたいはず…と思ったら「LIVETRAK L-12ファームウェア・アップデート」にて「エフェクト音をモニターアウトに返す機能」を追加、とのこと。これなら問題なさそう。

あとはミキサーからどうケーブルを伸ばしてみんなのヘッドホン、イヤホンにつなげるか、ですね。リハーサルスタジオならなんとかなるか…

このまま録音する場合は生ドラムの録音が問題になりますが、これも今は YAMAHA EAD10 という素晴らしいものがあるので、リハーサルスタジオの方でこういうモニターできるミキサーと EAD10 はレンタル器材としてリクエストしたい!

12CHデジタルミキサーで、USB 経由と SD カードにマルチ録音ができて、5人までの CUE ボックスができて6万円弱ならかなりお得。用途的には Roland HS-5 とガチンコかもしれません。いつの間にか JamHub は生産終了でフェードアウトしてるし…

これでなんとかみんな自分の音が聞こえるようにしてバンドの精度を上げていきたい…

2018年8月24日金曜日

canActivate で interval() は使えない

Angular6 で AuthGuard とか Resolve とか使い始めて RxJS6 にも慣れてきて面白くなってきて、AuthGuard の canActivate で timeout() 使ったらサーバへの問い合わせを定期的に行ってエラーが返ってきたときに画面遷移を行うってのができるのでは?と思ってググってもなかなか情報が見つからないので、とりあえずこんなふうに書いてみました。
  canActivate(
    next: ActivatedRouteSnapshot,
    state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
    return interval(10000)
      .pipe(
        mergeMap(() => {
          return this.httpClient.get('/isAuthorized')
            .pipe(
              map(response => {
                return response.authorized;
              })
            );
        })
      );
トランスパイルは通りました。が、一回しか HTTP アクセスが発生しません。
デバッガで canActivate() を出たあとを追ってみたところ…

pipe(first()) \(^o^)/オワタ

https://github.com/angular/angular/blob/master/packages/router/src/pre_activation.ts#L248
  private runCanActivate(future: ActivatedRouteSnapshot): Observable<boolean> {
    const canActivate = future.routeConfig ? future.routeConfig.canActivate : null;
    if (!canActivate || canActivate.length === 0) return of (true);
    const obs = from(canActivate).pipe(map((c: any) => {
      const guard = this.getToken(c, future);
      let observable: Observable<boolean>;
      if (guard.canActivate) {
        observable = wrapIntoObservable(guard.canActivate(future, this.future));
      } else {
        observable = wrapIntoObservable(guard(future, this.future));
      }
      return observable.pipe(first());
    }));
    return andObservables(obs);
  }
timeout() の Observable を返しても最初の1回目の Observable<boolean> しか使わない、ということですね。
まあ、Guard は Route の許可をするかどうかの位置にあるものなので、一度表示した Route を拒否することは想定していない実装ということではないかと思います。
おとなしくコンポーネント内で interval() 回して画面遷移させるようにします…
そうそう、interval() の unsubscribe() も忘れずに…

2018年6月7日木曜日

Workshy Get It On コード分析(メインのみ)




Spotify でかかってきてかなり気に入ったのでコードをとってみました。
すると、この柔らかくスムースな響きからは想像していなかったんですが、b9 b13 とかオルタードテンションが使われているコード進行のようです。

key=B で # が5個付くやつです。
1行目: 通常のコード
2行目: 度数表記
3行目: 度数でオンコードをテンションに直したコード
F#dim7 on G#  |  G#7 on C  |  C#m9  |  EM7 on F#  |  F#7 on C#  |  BM9
Vdim7 on VI  |  VI7 on I#  |  IIm9  |  IVM7 on V  |  V7 on II  |  IM9
VI7(b9 b13)  |  VI7 on I#  |  IIm9  |  V7sus4(9 13)  |  V7 on II  |  IM9
基本は VI II V I の循環で、VI -> II、V -> I のときにアプローチのパッシングコードがある感じです。後半の
IVM7 on V  |  V7 on II  |  IM9
はよく使うものだと思いますが、前半の
VI7(b9 b13)  |  VI7 on I#  |  IIm9
はこの曲の特徴の根幹のような感じです。VI7 の b9 は I に b13 は V に解決しつつベースは VI7 の3度に移動して柔らかさを維持しているようです。

コードもさることながら、メロディもちょっとコード分析を惑わすような内容でした。
なので、動画の方では1コーラスのメロディを入れています。

3小節目の VI7 on I# のところでコードトーンは III(E#) なのに、メロディは E# から E に上がって半音でぶつかっています。スケールトーンではあるんですが、長くいるのでコード的に変わってしまっている気もします。

5小節目の Vdim7 on VI のところでコードトーンは I#(B#=C) ですが、思いっきり C# を踏んでます。C# C B と半音で下がるメロディですが、こちらもスケールトーンではあるんですが、長くいるのでコード的に変わってしまっている気がします。

もしかしたらぶつかるときだけバッキングで調整をしているかもしれませんが、ぶつかっていてもそのまま気にしていない気もします。

こういうときどう考えればいいんですかね…聴感上気にならないレベルであれば OK というのは作る上ではいいとして、突き詰めた場合、プロの仕事などでは一般的には避けられているのか、それともなんらかの説明の付け方があって OK なのか…

この辺悩み続けている気がします。