2021年10月21日木曜日

Cubase エクスプレッションマップの注意

CubaseのエクスプレッションマップはノートをONにしたとき様々な情報を送ることができる機能(?)です。これを利用して、ノートON時にチャンネルを変え、KONTAKTやPLAY側のパッチを切り替えるという疑似キースイッチのようなことができます。

これにより今まで一つのトラックで様々なアーティキュレーションを切り替えてきましたが、この度パッチの変更により不具合が発生しました。

それは、StringsのLegatoパッチなのですが、Legatoに限らずモジュレーションホイール(CC1)でボリュームを切り替えるパッチ全てに当てはまることですが、

まずレガートでCC1を127で演奏し終えます。そのあとトリルで演奏します。そのあとレガートに戻しCC10あたりの小さな音で演奏し始めたい場合があります。

この場合、あとのレガートの始まりでCC1をいくら下げても、一瞬127の値の音が鳴ってしまい、汚いスフォルツァンドのような音になってしまいます。これはおそらく、うちの設定ではエクスプレッションマップはノートON時にチャンネルを変えるだけですので変えた直後にCC1が操作されるので一瞬127のCC1が入るのでしょう。

では、CC1を下げておいてノートをONにすればいいのでは?と思いましたが、これはダメです。ノートONになるまではこの場合まだトリルのチャンネルのままでレガートのチャンネルに切り替わってないのです。レガートチャンネルのCC1を下げたいので、トリルチャンネル時のCC1を下げてもレガートのCC1は下がりません。

よって、解決法としては、後のレガートでCC1を10に下げたい場合は、前のレガートの最後に一瞬10の値を入れてやることです。

または、チャンネル別にトラックをすべて分けてやることです。(しかしこの場合エクスプレッションマップは必要なくなる)

トラックを増やしたくなければ、手間ですが、前のCC1をその都度操作することです。

不具合をなるべく避けたければ、エクスプレッションマップを使わずトラックを分けることです。

どちらを選ぶかは、みなさん次第ですね。


2021年9月26日日曜日

iZotope RX 7, 8, 9

今回現状の事実を記載するので、皆さんの想いも発信してほしいところです。

もうすぐiZotope RX 9がリリースされます。おおまかにいうとiZotopeはリリース前に8を購入すれば無料で9にできることを約束しています。

しかし私はこれまで何度も主張してきていますが、

RX 8は特定の状況下で保存しようとするとソフトが突然強制終了します。データは復旧できますが最終的にある対策をしないと保存できません。

具体的には、ファイル名に日本語が入ると保存できない可能性が高いのです。半角にすれば保存できます。RX 7は問題なく日本語保存できるようです。

これは、iZotope本社は認めており、日本のサポートのMI社も認めてくれていますが、iZotope Japanは私の知るところだんまりです。

ところが、iZotopeはRX 9のために8の購入を進めています。

9で日本語保存できない状況が修正されているかは私の知る限り報告も約束もされていません。8を持っていないユーザーがRX 8を購入するということは、

日本でのセールを推しているソフトウェアなのに日本語保存ができないソフトを購入するということです。しかも、無料で9にできてもその9で不具合が解消されているかはわからない状況です。

RX 8及び9の購入を検討している方には、私個人の意見としては様子を見ることを推奨します。簡単にまとめますと、

今購入するとRX 8では日本語保存が高い確率でできません。RX 9で直っているかはわかりません。

ということです。

ファイル名に日本語を使う人にとっては使い物にならないレベルです。


ここからは私情をはさみます。

私はiZotopeの商品はとても大好きです。こんな優れたソフトは他にないと思っています。けしてアンチiZotopeではありません。日本人がiZotopeの製品を安心して購入し 、使用できるようになることを祈るばかりです。

私のように、RX 8 Advancedを購入した⇒保存できなすぎる⇒代わりにずっとRX 7を使ってきた⇒RX 8を買った意味はなかった、こういう人が増えぬよう、この不具合はぜひRX 9リリース前に修正されるべきと思います。それができないのならRX 8ユーザーに何らかの救済措置が欲しいところです。ソフトウェアの不具合というのはユーザーからお金をとって直すものではないと思います。

私の想いがiZotopeと日本のRXユーザー様に届きますように。


追記

2021年10月15日、RX9リリースと同時に、RX8が8.5にアップデートされました。8.5では、軽く確認したところ、日本語保存に関するバグは修正されたようです。私は確認できませんがおそらく9もバグは修正されているでしょう。心配な方はサポートに問い合わせるといいと思います。

本当に助かりました。ありがとう、iZotopeさん、MIさん!

2021年9月9日木曜日

SATAの接触不良?

この度、ノートパソコンのSSDが突然死いたしました。

何の前触れもなく、せっかくWindows10がインストールできたところだったのに、SSDが認識しなくなりました。もちろんBIOSにです。個人でできることはなく完全なる故障と認定し、500GのSSDを買おうと思っていたのですが、


「そういえば、音楽用パソコンのHollywood Orchestra音源用のSSD、500Gから2Tにしたかったんだ」


と、思い出しました。

これは、500Gを買うより2Tを買って余った500Gをノートパソコンに持ってきたほうがよさそうだ。となりまして、アマゾンでポチリ。


本日SSDが届き、データ移行を進めようとしたところ、なぜか、Fドライブが読み込まれない。新しいドライブがない。どちらもパソコンは認識はしている。

ドライブがないのは管理ツール、コンピューターの管理、ディスクの管理から認識させるのだろうと思ってましたので、それを開こうとしましたが、

開かない・・・。

これはなにかおかしい・・・。

競合か何か?とりあえず、電源を切り、Cドライブと新しいSSDだけを接続し、ほかのドライブのケーブルを抜いて再起動。

はい、ディスクの管理から、新しいSSDは正しく認識しました。

そしてほかのディスクも接続して再起動。すべて正しく認識しました。


ところが、その夜・・・。


ん?Windowsの起動が遅い・・・。

Cubaseの起動が遅い・・・。

Nドライブにライブラリを置いている VPS Avengerの起動が遅い・・・。

Avengerの音色読み込みが異常に遅い・・・。


これは仕事にならん。

試しに同じNドライブにライブラリを置いていたOmnisphereを立ち上げてみる。

音色読み込みが・・・遅い・・・。

これはNドライブが何かおかしい。

タスクマネージャーでチェックすると、読み込み時に使用率100%になり、速度が100kb/秒くらいになる。


思い当たる節は、、、

SSDを追加してから挙動がおかしい。

何をしたっけ?

そう、すべてのケーブルを抜いた。

Nドライブ(HDD)のSATAケーブルは少しぼろっちいケーブルだ。

接触面を綿棒で拭き拭きして、ケーブルの中をファミコンのようにフーフーして接続しなおす。しっかり挿す。


直りました。


速度も音源読み込み時は10Mb/秒くらい出ておりました。ファイルのコピー時は60Mb/秒ほど出てました。

原因はSATAの接触不良だったのか(?)・・・。


ということです。体感挙動も正常に戻りました。


(おまけ)

うちの音楽用PCのディスクは

・OS用 SSD 2T

・容量の大きな音源用 SSD 2T

・音楽データ用 HDD 500G

・動画保存用 HDD 500G

・音源用 HDD 1T

・バックアップ用 HDD 2T 

となっています。熱もかなり持ちます。

前方から12cmファン2つ(HDDに直で当たるように)後方に外に逃がすファン、中央に後方に向けてCPUヒートシンクにファン(風の流れを作っています)。

その後ろのファンが止まっており、CPUファンも少し壊れかけていたので、12cmファンを2つほど買わないといけませんな。

2021年9月4日土曜日

Prime Note Galleria MR6 にWindows10をインストールした話

 Galleria MR6、ここではガレリアと呼ぶことにします。

このノートパソコンは確か保証が2012年に終了しています。

うちで所有しているスペックは、、、


CPU

Intel Core i7-2820QM

メモリ

DDR3-10600 4GB×2(計8GB)

ビデオチップ

NVIDIA GeForce GTX540M

SSD

500GB

OS

Windows7 Ultimate 64bit


こんな感じです。

見ての通り、Windowsは7であり、まだ10が出ていない頃の商品なので、10のドライバは販売元のドスパラが公式に「ない」と言っております。10は未対応だと。


しかし、世の中のパソコン、CPUが古かろうと、結構Windows10がインストールされています。実際、私の別のパソコンもIntel Core 2 Duo、メモリ4Gでストレスなくサクサク動いてます。なので、このガレリアにもWindows10を入れようと思いました。


しかし、


どのようにしてもインストールできないのです。ネット上でも同じ情報を見かけました。

Galleria MR6にWindows10がインストールできないと。

試みたのは、Windows10 Pro 64bitです。具体的にどのような症状になるかというと、うちの場合はですが、まず、

USBブートで21H1バージョンをインストールしようとすると、最初は普通に進みます。しかし、本体にWindowsフォルダなどが構成された後の、最初の再起動の後、ほとんどの場合、フリーズします(丸いクルクルが止まります)

たまにそれを越して進む場合もありますがほとんどの場合、途中でブルースクリーンで落ちます。原因はKMODE何とかというやつで、デバイスの問題だとか。さらに偶然最後までインストールが完了しても、安定して動作しません。そのうちブルースクリーンになって死にます。

で結論から言うと、私は、このガレリアで、Windows10 64bitを安定して稼働させることに(たぶん)成功しました。

たぶん、同じように困っている方がいらっしゃると思うので、ここに方法を書き残します。

ただし、うちの症状での方法ですので、ほかの方が必ず解決するかはわかりません。保証はできませんし、安全性も保証しません。試すなら自己責任でお願いします。


では、まず、用意するものですが、

ねじ回し

Windows10がインストール可能なPCをもう1台

これだけです。

実験中、偶然一度だけ、インストールを完了したことがあって、そのときセーフモードだと安定して動いたことを記憶していました。

なので、まずは最初のフリーズを何とかして、インストールを完了させないといけないのです。

そこであることを思い出しました。NETに情報がありますが、Windows10はインストール後にマザーボードを変えても問題ないそうです。なので、まず、別のパソコンでアカウントの作成も含めインストールを完了させます。(これを思いつくまで数か月かかりました)

そして、コマンドプロンプトで次のコマンドを管理者権限で入力します。

bcdedit /set {default} bootmenupolicy legacy

これが正しく設定されると、パソコンを立ち上げる際にF8を連打することでセーフモードで立ち上げられるようになります(これはWindows10での話です)。

そしてそのディスク(SSD)をガレリアへ持ってきます。

(ここから先はなるべくネットを遮断して作業しましょう。そうしないと、自動更新が働いて落ちてしまう可能性があります。)

すると、どうなるかというと、F8を押さない場合はやはりクルクルのところでほとんどの場合フリーズです。パソコンを起動後F8を連打してセーフモードに入りましょう。

セーフモードで立ち上げると、安定しており、とりあえず落ちることはなさそうです。これはデバイスの何かが邪魔をしていると考えられます。

まずはWindows10用のNVIDIAのグラフィックスドライバー(ビデオドライバー?)をインストールしましょう。GeForce GTX540MなのでNVIDIAのサイトに行けばダウンロードできます。

再起動します。

これで、起動時のフリーズがなくなります。

次にもう一度セーフモードで立ち上げ、デバイスマネージャーを立ち上げます。

「プロセッサ」の中に「Intel(R) Core(TM) i7-2820QM CPU @ 2.30GHz」というのが8つあります(環境によって若干文字が違うかもしれません)。のなかの一つをどれでもよいので「デバイスを無効にする」をしてください。これをしない場合、タスクマネージャーのパフォーマンスタブで、CPU使用率が常に100%になりかつ、速度がとんでもない数字を表示しました。みんなそうなのかうちだけなのか不明です。

無効にする前↓(使用率100%、速度が14673989.31GHz)

 ↓(CPU使用率5033697%)

無効にした後↓(使用率も速度も安定)

この無効にする作業はセーフモードでしかできません。終わったら今度は通常モードで再起動しましょう。安定して動作するはずです(作業の途中どこかでフリーズとかするかもしれません)。

私はパソコンデバイスの専門知識はないので、これが何を意味するのか、なぜ直ったのかはわかりません。おそらく、Windows10とマザーボードやビデオチップ、CPUなどの相性の問題だったのではないでしょうか。

今のところ、これで安定して動いています。


このガレリアは捨てるにはもったいなく、売るにはゴミという状態で、どうしてもWindows10を入れたかったので、何度も諦めかけましたが長い間実験してきて良かったです。これでおそらくWindows11もインストールできると思います(安定化はまだ実験してませんがTPMとSecureBootのBypassは実験済み)。ちなみに11も普通にインストールすると同じ症状で落ちます。


ドスパラをはじめ、パソコンのプロフェッショナルから、全国のパソコン修理店まで、いろんな人に電話しましたがすべて断られました。というか「無理でしょう」とか「一度送ってください」とかいう感じでした。おそらく送っても、マザーボードが対応してないので無理ですねみたいな感じになりそうだったので、というかドスパラがそういう対応でしたので、自分でなんとかやり遂げたのはすごい達成感があります。それに、インストールしてもらうだけではだめなのです。手順を教えてもらわないといけないのです。でないと、再クリーンインストールができなくなるので。

「不可能を可能に」が私のモットーです。


簡単なまとめ。

他のパソコンでインストール完了させてセーフモード起動を有効にする。

ガレリアに移動させてセーフモードでNVIDIAのドライバをインストールする。

デバイスマネージャーのプロセッサの中の8つのデバイスから1つを無効にする。

以上。(もう一度言いますが自己責任でお願いします)


この記事がGalleria MR6にWindows10が入れられなくて困っている人の力になれれば幸いです。

2021年5月20日木曜日

KMG7への想い

とうとうKMG7 Advancedを販売終了することになりました。

以前も一度終了宣言したことがありましたが、あのときは、実はまだ販売を続けたかったのです。これには裏話がありました。

KMG販売で一番大変だったのがショップの維持です。

KMG7は2GBを超え、一般に販売するにはサイトがなかなかありませんでした。結果的にShopifyとBOOTHを利用しました。BOOTHはショップオーナーとしては月額無料なのですが、海外の方に利用してもらいにくいし、購入にアカウント作成が必須だったりと、使いにくかったかもしれません。Shopifyだと全世界に対応でき信頼度は高かったと思います。しかし、月額利用費約1000円がかかります。

たった1000円と思われがちですが、その1000円が維持できないので販売終了となったわけです。

なんせKMG7 Advancedの当初の値段は3000円ですから。

10年前、「自分でメタルを作りたいがギターを弾けない」そんな理由が、30歳の青年を動かしました。弾けないなら弾かせてしまえ。Kontaktにサンプルをマッピングしてパワーコードを鳴らしました。そしてミュートサウンドを鳴らしました。さらにはソロサウンド、ピッキングハーモニクスも完備しました。これで一通りのメタルサウンドが鳴らせました。

当初のKMG7が注目を浴びたのは7弦でフリーだったことでしょう。

後に有料化してしまいましたが、最初はずっとフリーで行くつもりでした。有料化し、少しですが利益をいただきました。しかし、単価3000円です。売れた数からいっても、総額20万円いったかいってないかです。制作にかかった時間を考えると完全に赤字です。3000円という値段もすごく悩んで決めました。周囲の人はもっと高いほうがいいと、自分は安く提供したいと。しかし安すぎるとチープなイメージもあると。値段のつけ方はとても難しいです。自分で言うのもなんですが、KMG7は音質は他社より劣っていたかもしれませんが、機能面では3000円とは思えない機能を持っています。弦は7弦全て別収録してありましたし、演奏されている弦も表示されましたし、一通りの奏法を備えていました。リアルタイム入力にとても優れていました(レガートの制作にどれだけ悩まされたか・・・。)。自分好みに制作しましたので言い出すときりがないくらい便利に作られていました。

そして時は流れ、世はKMG7を忘れていきました。(ヒュ~(風

10年前と違い、今では8弦ギターの音源まである時代です。さらには、VST、VSTiの価格崩壊の時代です。大手メーカーまで10万円を超える品が1万円を切ったり。もうめちゃくちゃな時代です。こんな価格戦争を小さな私がついていけるわけありません。

時代は10年前と違い、KMG7は珍しくもなければ、無料でも気にとめられないようになっていったのです。

売れなければ月額1000円は維持できません。ということで無料のBOOTHに移動。それでも売れません。そして私は病気も見つかりました。いつかサポートができなくなったらどうしよう・・・」そんな気持ちで、「では販売を終了しようか。いや、世の中から消えて何か意味はあるのか?終了したらしたで、少数だがまた「KMG7はどこでダウンロードできますか」というメールが来る。(しかも英語)」ならば無償配布しかない。

今まで買ってもらった人には申し訳ないけど、KMG7 Advancedは無料になりました。

大手メーカーも、「〇× Elements」とかを無償で配布したりしてます。

許してください。私を許してください。返金はできません。もうパチンコに消えました



これからも私はKMG7を使い続けます。これは自分で使うために始まったKontaktライブラリ制作の物語だったんです。私が作ったKMG7が皆様の役にも立つようであれば、とても幸せです。これが最初で最後の想いです。



今KMG7は無料です。これからDTMを始める方、ギター音源を持っていない方、ぜひ一度使ってみてください。


https://major7th.jp/kontakt/


ついでに言いますが、Yu’s Vocaliseも他社にない機能を備えております。合成を利用せず人間の発声と同じ仕組みで母音移動を発します。優秀です。そちらも無料になりましたのでサントラ系を制作の方、使ってみてはいかがでしょう。


ではまたどこかでお会いしましょう。

2021年5月20日

作者:森川豊

2020年12月6日日曜日

Yu's Vocalise 2.5

 近日、Yu's Vocaliseが2.5にバージョンアップされます。

それを記念にイベント開催中です!

Yu's Vocalise 2.5のDEMO曲を作ってくれた方々に、そのままライブラリをプレゼント!

Yu's Vocalise 2.5を無料で手に入れるチャンスです!


詳しい参加条件はこちらに載っています。ぜひご覧ください。

http://major7th.jp/kontakt/information/?q=20201205_vocalise25_event


ところでYu’s Vocaliseってどんなソフト?

Yu's VocaliseはNI社のKontaktで動く女性Solo Vocal音源です。

発音はAEIOUNの6種類しかありませんが、それぞれを自由につなぐことができるので、母音だけで言えばかなりの音色になるでしょう。

音程移動したときは物理上127段階にスピード変化するレガートが備わっています。これらがそれぞれ独立して動作するので、例えば「ア」から「イ」に移動させながら音程を5度移動し、さらにCC11でボリュームを調節しながらモジュレーションホイールで徐々にビブラートをかけることができます。

音程移動は次の音のベロシティを下げることでゆっくりになります。母音移動も、移動のためのキースイッチのベロシティを下げることでゆっくり移動します。

歌いだしのしゃくり上げもキースイッチで操作できますのでよりリアルな表現が可能です。



おまけ的機能ではありますが、スタッカートとスフォルツァンドも用意されています。

すべての母音のSampleを収録しているわけではなく、「ア」のみのSampleを人間の発音と同じようにEQで操作して新しい母音を発生させていますので、非常になめらかです。Sampleが少ないということは容量の節約にもなります。このライブラリは、容量が小さい=チープではありません!リアルタイムでEQ操作されるので若干PCの性能が必要になりますが、Core i7で実行したところ問題はありません。


Yu's Vocaliseのサイトはこちら!

http://major7th.jp/kontakt/vocalise/


2020年7月19日日曜日

Windows 10 でEastWestのPlay 6 の読み込みが極端に遅くなる現象の直し方

この度Windows10をクリーンインストールしました。
いろいろ障害がありましたが最終的にすべての音源を元に戻すことができましたが、なぜかEastWest製品のPlayエンジンへの読み込みがめちゃくちゃ遅い!

これはどうしたことかと色々調べました。
SSDのベンチマークによると読み込み速度はWindows7とも他のSSDとも変化はない、つまり物理的読み込み速度の問題ではない。

一時的にWindows7の入ったSSDに戻してみると、読み込みは速い。10にすると遅い。
ということでEastWestのサポートに問い合わせました。
いろんな環境情報を説明したのち、返ってきた答えがこれです。

It's possible that your Windows Defender is scanning, depending on your security settings. A realtime scan would inhibit streaming speeds.
↓Google翻訳
セキュリティ設定によっては、Windows Defenderがスキャンしている可能性があります。 リアルタイムスキャンはストリーミング速度を阻害します。

つまりWindows Defenderが読み込みを邪魔している可能性があると。
そこで、

C:\Program Files\Common Files\VST3
C:\Program Files\EastWest

C:\Program Files\VSTPlugins
C:\Program Files (x86)\EastWest
C:\Program Files (x86)\VSTPlugins

とライブラリのフォルダを除外してくださいということでした。
(プログラムフォルダやVSTフォルダは各自の環境に合わせて考えましょう。)

スタートボタン>設定>更新とセキュリティ>Windows セキュリティ>ウイルスと脅威の防止>ウイルスと脅威の防止の設定>設定の管理>除外>除外の追加または削除

↑ここから除外設定できます。

↓うちの設定

D:\EWQLはEastWestのライブラリフォルダ、N:\はNaitive Instrumentsのライブラリディスク(フォルダ)←EastWestだけでなくついでにNIも設定しました。

これで読み込み速度が超回復しました。

同じように悩んでいた方、または気づいてなかった方は、セキュリティ関連ですので自己責任で試してみてはいかがでしょう。

では、また。

2019年10月31日木曜日

Hz(ヘルツ)間は何セント?

以前音源制作するにあたり、数学まで勉強するハメになりまして、こんなメもページ作ってました。

http://major7th.jp/memo/ftc/

こちらのページは2つの周波数(Hz)を入力して計算ボタンを押すと、その間が何セントなのか教えてくれるプログラムです。

RXなんかで画像で音を見てると、この部分の音、何セント上げたら上の倍音に届くだろうってなるときがあります(ありません。)そんなときに活用するメモサイトです。

計算方法は忘れましたが、高校数学くらいの知識は必要なはずです。てか私は理屈をもう忘れました。

必要な方は使ってください。3行くらいで終わる簡単な計算式だったと思います。軽いCGIです。

でわ。

2019年10月11日金曜日

KMG7 Adanced LE

この度、KMG7 Adanced LEをリリースしました。

http://major7th.jp/kontakt/kmg7ad/

LEではファイルのマッピングを減らし、

つまりどういうことかというと、

今まで1オクターブで12個ファイルを使っていたのを、間引きして6個で補うというものです。さらにKONTAKTのコンプレス(圧縮)機能を使用しております。
これにより総容量も2GB強から850MBまで減っており、KONTAKTに表示される使用メモリも0.6Gから300Mちょっとまで減っております。

極端な音の変化はないと思われますので、通常版が5000円でLE版が2000円ですので、半額以下でお買い得となっております!

ファイルの間引きが気になる、容量問題ないという方は通常版をおすすめします。
逆に安いほうが助かる、っていうかたにはLEをおすすめします。初心者にもおすすめってやつです!

公にWEBには書いてないんですが、LEから通常版へのアップグレードも考えております。こちらは差額の3000円をお支払いいただくことになります。(PaypalまたはPaypal経由クレジットカード払いのみ)
LEを購入したときの注文番号と日付のわかるメールの写真およびスクリーンショットを添付していただき、支払いをしていただく流れを考えております。
BOOTHにクーポン機能があれば楽なんですが、ないっぽいので、手動です。。。

これからもKMG7 Adancedをご愛用いただけます様よろしくお願い致します。

Studio Major7th
Yutaka Morikawa

2017年8月9日水曜日

売れる曲

オーディオストックに自分の曲を売り出して、2ヶ月以上経ちました。

予想はしていたものの、売れる曲と売れない曲がきっぱり分かれます。

問題は、何故それが売れたのかよくわからないことです。

何に使ったのかどういう目的に使ったのか、ほとんどの場合伝えられませんので、なぜその曲が選ばれたのか謎のままです。

もう少し様子を見て、売れる曲の傾向を探らねばなりません。

ちなみに、売れない曲の傾向はなんとなく見当は付いています。
私の場合、凝って作ったものほど売れません。これは昔からわかっていたことです。
力を入れすぎる曲ほど売れません。

今のところ、さくっと作った曲の方が売れる傾向にあるようです。

2017年8月6日日曜日

明るい曲 暗い曲

僕は作曲をしますが、アドリブ演奏もします。

どちらに関しても、暗い曲調が多いです。

「おまえ、もっと明るいの作らんかい、明るいの弾かんかい」

と、よく言われます。

ごもっともかもしれませんが、自分が自由に作品を残す上で、他人の指示は聞きたくないですね。

お仕事のときは、クライアントの意向をしっかり取り入れますのでご安心ください。

自由に作曲したいときは、僕が暗い曲を作っても、あまり文句言わないで欲しい。

というのがホンネです。

2017年6月30日金曜日

Ample Guitarでオンコード

Ample GuitarのAGM、AGT、AGLの3本セットかいました。
そんな頻繁に使うわけでもないですが、アコースティックギターが使いたいと気がたまにあり、セールのタイミングで買っとくのもありかなと思いまして。

そんな中で僕が気づいた裏技を一つ紹介します。

ストラムでオンコードできます。

やり方は、コード認識モード(ドミソを押すとCになるモード)にして、

ドミソを押して、離してGを押すとConGになります。
いったんコードを押して離して鍵盤を押すのがコツです。

実際にギターとして押さえられるかは別として、ほとんどのオンコードが可能になります。
これを利用して、(読みにくいので分数で書きます)

Am, Am/G#, Am/G,  Am/F#(F#m-5)

という動きもできます。

ぶつかっておかしいと感じたら各弦を鳴らす手法で手動でぶつかる音を省けばいいです。

今回はここまで。
おつかれさまでした。


2016年10月13日木曜日

KONTAKT音源制作風景 RX5編

もっぴーさんが、音源制作に使用しているソフトウェアの公開をされたページはこちら)ので、そのうちのRX5の詳細を私が記事にしてみようという話題が出て、私の音源制作の風景の一部を記事にしてみることにしました。

こんな記事やくにたつんかいなと思いつつですが、音声編集の一環として読んでいただければ光栄でございます。


まず、

iTunesを立ち上げます。(ぇ

そしてカラムブラウザーでサントラにセットしてランダム再生させます。
ミニプレイヤーにして画面の隅においておきます。

おいおい、これは・・・・

いえ、作業中、音を鳴らさない時間がけっこうあるので、BGMが必要なのです。
そして音声編集が終わり音源制作に移ると音楽が聞けなくなることが多いので・・・。
ということで、何でもいいのでBGMを立ち上げますw

そして今回のメインとなる、RX5です。
こちらです。

何も表示されてないので味気ないですが、この右に表示されているのが、いわゆるツールみたいなもので、これのうち、私がよく使うのは、

Spectral Repair
Gain
Plug-in

です。

バッチ処理させたときは、

De-noise

を使用しましたが、今は手作業がメインなので、あまり使いません。

こちらがそれぞれの画面です。


Plug-inは使うものによって画面が違うので画像は表示させませんでした。
RX5では、いわゆるプラグインが使えるので、よそ様のEQが使えたり、トーンジェネレーターだったりコンプだったりが、選択範囲に適用されます。使えないプラグインも結構ありますのでDEMO版を入れてチェックしてから買うなどしないと、痛い目見ます。
ちなみに私がよく使うプラグインはピッチシフター系です。
RX5の上位版だとピッチ変更も可能なのですが、DEMOでさわった感じ、周波数の一部だけの適用ができなかった感じがします。プラグインだと、選択範囲内だけピッチチェンジされたものが反映されて、便利でした。
選択範囲が窓で、全体がピッチ移動して、丁度窓の中に、移動されたものが見えてくるという感じです。
モノにより、ノイズが発生しやすいピッチシフターもあります。つまりは、プラグインの質ということです。慎重に選ぶことが大事ですね。

ついでにこちらは、Spectrum Analyzerの画面。ま、分析画面の一つです。うちはデュアルディスプレイなのでもう一つのディスプレイの方に表示させてあります。

では、作業に移ります。
と、せっかくなので、De-noiseで、前回どういう作業をしたかを、見てみましょう。


こちらが、Legato部分を作ったときの生ファイルです。
生といっても、Cubaseで一部加工済みです。
左に段差があるのがそうで、これは、ちょっと理由があって、聞こえない部分ですが、音程を変える必要があってこうなりました。実際には使われない部分です。気にしないでください。

このファイルをDe-noiseを使用して、音声部分だけを抜き出す作業を、バッチ処理させました。
処理させた結果が、こちらです。


この時点でノイズはだいたい取れてます。
しかし、音源のバージョンアップに伴い、もっと音質向上を目指し、他の工程をとることにしました。
 それは、今回はボーカル音源ですが、人の声をアナライズして、手動でデジタルボイスをリアルに作ることです。

過程は企業秘密なので、結果とその後の工程だけ示させていただきます。
 まず、レガートを作るため、秘密に制作した2種類の「A(ア)」のサンプルを用意します。


上が高い音、下が低い音です。
これをなめらかにに繋がなければなりません。どうしましょう。

こんなファイルを用意しました。

これは、CubaseとMassiveを使って、Saw toothをベンドさせたものを書き出したものです。

ではこれらを使って、きれいなレガートを作りましょう。

まずは、ベースとなる元のファイルに、高い音を約0.65秒上書き貼り付けします(RX5はMIXもできますが今回はしません)。

波形をうっすら表示させ、なるべく綺麗そうなところを、約0.65秒選択してコピーです。
これで、このファイルの役目は一旦終わりました。さようなら。。。
ちなみにこの時、アナライザーはこうなってます。

選択した部分の平均値かな?そんな感じが表示されます。特にここでは見る意味はありませんが、スペクトラムアナライザとはこんなものだという参考までに。。。(ちなみに右端にちょこんと出っ張っているのは、どこかで混入したノイズです。あまりにもひどい場合は、作業中に消してしまいます。)

さて、コピーした部分を先ほど言ったように貼り付けます。

はい!できました。あ、このときGainを使用して、-1ずつ調整していき、波形を見ながらだいたい同じボリュームに調節します。この作業は、メイン画面の色ではわかりにくいので、波形で判断します。それこそ先ほどのスペクトラムアナライザーで確認するのもありです。

次は、低い音をの方を、今回は約1.3秒を0.9秒から貼り付けます。

はいぺったんこ!
これだけでもずいぶん綺麗になった気はしますが、実際は、つなぎ目にノイズがのり、おかしな音になりますし、今回の目的である綺麗なレガートを作るという役目を果たせていません。

ここからひとまず、最後のお尻の部分の処理をします。
ここでSpectral RepairのPartials+Noiseという機能を使います。
私も細かくは説明できないのですが、簡単に言うと、左右の音を綺麗につないでくれます。

設定値をガンガンに上げて、左を参照するように設定し、2.1秒以降に適用します。

Core i7 3820でも10秒程かかる処理ですが、このように、お尻が綺麗になりました。
コピーして貼り付けりゃいいじゃんと思われるかもしれませんが、コピペは、つなぎ目にノイズが発生し、それを処理するためにさらに処理が発生しますので、二度手間なのです。今知っている方法として、端っこの処理はこれが一番綺麗でした。

そしてこれを、GainツールのFadeを使用し、フェードアウトさせます。画像は、あえて載せませんので、後の画像でご確認ください。

次の工程は、用意したSaw toothファイルを繋げます。
まずは、あらかじめタイミングを計っておいたので、0.8秒から1.3秒をコピーし、それを0.48秒(このタイミングが大事)から上書き貼り付けします。(つまり、元のファイルの修正なので、秒数とフォーマットが同じであれば、元のファイルの内容なんて何でもよかったんです。全部上書きされてしまいますw)

作業画像を省きますが、ここで大きなミスを発見しました。B3からC#3までの7thのレガートだったのですが、低い方のファイルを間違ってCを使用していました。ここで、画像抜きで、修正します。これ以降、これ以前の画像とほんのちょっと変わっています。


はい、ぺったんこ!
しかしこれではいけませんね。わかりますね、レガート部はのこぎり波です。ビーっていいます。それと、下から3番目と4番目(第3倍音と第4倍音)を見てください。後続する音の方が色が明るいです。つまり、後続音の方がボリュームが大きいのです。
RX5は、綺麗に音を下げることはできますが、上げるのは難しいのです。
そこで、あらかじめここの範囲のボリュームをGainで上げておき、そのあとSpectral Repairツールで不要な部分を下げる方法をとります。
まず、グイッと上げます。

あとから上げて綺麗につなげるのは大変難しいので、前後(図でいう左右)の音のどこよりもボリュームを大きくしておきます。色が他より明るければいいわけです。

このあと、魔法を使います。
私がRX5で一番よく使う機能といってもいいでしょう。
Spectral RepairのAttenuateです。
この、貼り付けた部分の選択を維持したまま、Attenuateを行います。
設定値は、いろんな要素から判断しているのでここでは細かい説明を省かせていただきます。
簡単に言うと、Bandsは細かすぎると消えてはけない部分が消えるので256と浅めに、左右の参照比重はまずは対称に、Strengthは少し強めで1.5、方向はHorizontalつまり左右で(結局全部説明してしもた)。
これで適用させると、

はい!このとおり!!
あとGainを数回、Attenuateを2、3回使い、微調整します。ここは企業秘密で。要は前後とボリュームが、全周波数(図でいう上下)で綺麗に繋がる(色の明るさが同じくらいに)ように調整するわけです。

現時点でこのような感じになります。(波形は邪魔なので上に移動しました。)
この時点ではつなぎ目にノイズがのっています、これを今から削除するのですが、その前に、音程が変わったのに強く出ている周波数がほとんど変わってない、問題ないのかと思われるかもしれません。実は、フォルマントの関係で、この方が自然に繋がるのです。逆にこうなってないと、「はじめてのチュウ」のコロ助みたいに、ボイスチェンジャーで変化させた声みたいになるわけです
人の声は、同じ母音の場合、音程が変わっても、強く出る周波数がだいたい同じなのです。これにより、人それぞれの声の特徴が出るのです(専門家ではないので間違ったこと言ってるかもしれません)

ではこれから、つなぎ目を綺麗にします。
これは、口頭で言うと、まず、ReplaceとPartials+Noiseを使用し、繋ぎ目をなくしていきます、その過程で生じるノイズをAttenuateで消していきます。
細かい作業は、今回の作業とは異なりますが、こちらの動画である程度わかります。30分バージョンと3分バージョンとありますが、内容は早送りしただけなのでどちらでもww

で、ノイズ処理をほどこしたものがこちらになります。

ここで聞いていたBGM(iTunes)を止めます。

音声チェックです。綺麗に繋がっているか、おかしな音はないか。


。。

。。。

どうやら大丈夫です。

あと、お化粧します。

人がレガートで声を下げると、一瞬音が強く出る周波数があるのです。

元の画像でいうこれです。(途中のファイルミスにより、元画像変わりました)

だいたい「A(ア)」の場合で600Hzから1200Hzあたりにあります。
それを私は、なめらかになるよう範囲をずらしながら3回に分けて、Gainで約10dB程度上げます。

はいっ!できました!

比べてみましょう。

とっても綺麗になりました。
しかしこれは大問題なのです。
音が綺麗過ぎて、人間らしさを失っているのです。
声の微妙な揺れも、吐息の音も消えてしまっているのです。
ですから、ここからまだKONTAKT上で人間らしさを追加し、Breath(息)サウンドを追加します。
それでやっと、この上の図でいう下の音のゴージャス版が出来上がる(予定)というわけです。

いくつか企業秘密がありましたが、RX5での作業というのはこんな感じで、こういうことができますよ、の、一部を紹介できたかと思います。
他にも、ClipやClickノイズを消したり、EQもついてたりします。しかし、1、2箇所のClickノイズであらば、今回の方法のように、手動で消すことも不可能ではないです。3分のファイルに大量に載っているClickなどを消すならば、そちらのツールを使う方が早いでしょう。

ということでRX5の作業風景の一部でした。

大事なのは、作業中、BGMを聞くことです!

2016年10月11日火曜日

ゲーミングマウス G700s スクリプト



ま、これがG700sなわけですが。

通常のマウス機能に加えて、割り当て可能なボタンが8個あるわけですな。

そして、左右クリック、中央クリック、中央左右で、5、全部で13クリックあるわけですな。
それとホイール操作。

スクリプトでホイール操作はできるようですがホイール操作の検知はできないようです
その他のボタンの検知はできるので、私の場合は、スクリプト起動時からの時間というのを用いて、各ボタンにダブルクリックや、ドラッグを、配置しております。

私はゲームに使っているのではなく、音源制作における、RX5というソフトでの音声編集作業にこれを使っております。

今回ご紹介するスクリプトは、Luaという言語らしく(初耳です)、G-series独自の関数が用意されたものらしいです。インストール時に説明書PDFが着いてたと思います。

さて、何がしたいかというと、

中央ボタンに「I」を設定し、かつ、ドラッグ時はIを起動させずShift+Gからドラッグしてドラッグ終了で都合上Rに戻すという設定

ボタン5(横の下、前側)にAltダブルクリックでCtrlにするという設定

ということです。

ドラッグやダブルクリックは、専用ソフトで設定できなさそうだったので、スクリプトを使用することにしました。

まず、設定可能な主な機能は、専用のソフトウェアで設定し、スクリプトを使用するボタンは、機能をはずしておきます。以下スクリプトです。↓

key, new_time, old_time = 0,0,0;

function OnEvent(event, arg, family)
    --OutputLogMessage("event = %s, arg = %s, family = %s\n", event, arg, family);
    if (event == "MOUSE_BUTTON_PRESSED" and arg == 3) then
        new_time = GetRunningTime();
        EnablePrimaryMouseButtonEvents(1);
        PressKey("lshift");
        PressAndReleaseKey("g");
        ReleaseKey("lshift");
        PressMouseButton(1);
    end
    if (event == "MOUSE_BUTTON_RELEASED" and arg == 3) then
        old_time = GetRunningTime();
        --OutputLogMessage("%s %s\n", new_time, old_time);
            if ((old_time - new_time) < 200) then
                PressAndReleaseKey("i");
            end

            PressAndReleaseKey("r");
            ReleaseMouseButton(1);
            EnablePrimaryMouseButtonEvents(0);
        end

    if (event == "MOUSE_BUTTON_PRESSED" and arg == 5) then
        new_time = GetRunningTime();
        --OutputLogMessage("%s %s\n", new_time, old_time);
        if ((new_time - old_time) > 2000) then
            key = 0;
        end
        if (key == 0) then
            PressKey("lalt");
            old_time = GetRunningTime();
        else
            PressKey("lctrl");
            old_time = GetRunningTime();
        end
        key = math.abs(key - 1);
    end
    if (event == "MOUSE_BUTTON_RELEASED" and arg == 5) then
        ReleaseKey("lalt");
        ReleaseKey("lctrl");
    end
end

こっから解説
中央ボタンのスクリプトで、new_timeとold_timeの意味合いが逆になっていることを先に言っておきます。ボタン5で同じ変数を使ってしまったのでこうなってしまったのかも。別変数にわけたほうがよかったですね)

とりあえず変数設定、すべて0
key, new_time, old_time = 0,0,0;

イベント発生
function OnEvent(event, arg, family)
    テスト用メッセージ
    --OutputLogMessage("event = %s, arg = %s, family = %s\n", event, arg, family);
    もし中央ボタン(3)が押されたならば
    if (event == "MOUSE_BUTTON_PRESSED" and arg == 3) then
        スクリプト起動からの時間をnew_timeとして記録(ミリ秒だったかと)
        new_time = GetRunningTime();
        左クリックの制御を有効にする
        EnablePrimaryMouseButtonEvents(1);
        左シフトキーを押さえっぱなしにする
        PressKey("lshift");
        キーボードのgを押して離す(要はタイプする。今回はShift+Gがドラッグする前のショートカットキーである)
        PressAndReleaseKey("g");
        左シフトキーを離す
        ReleaseKey("lshift");
        左クリックボタンを押しっぱなしにする(ドラッグ操作のため)
        PressMouseButton(1);
    end
    もし中央ボタン(3)が離されたならば
    if (event == "MOUSE_BUTTON_RELEASED" and arg == 3) then
        離したときの時間をold_timeとして記録する
        old_time = GetRunningTime();
        メッセージ
        --OutputLogMessage("%s %s\n", new_time, old_time);
            もし、中央ボタンを離したときの時間が押したときから200ミリ秒未満なら
            if ((old_time - new_time) < 200) then
                通常のクリックとみなしてキーボードのiを押して離す
                PressAndReleaseKey("i");
            end

            いずれにしても中央ボタンを離すまではドラッグ状態で、離したときキーボードのrを押して離す(これは操作するソフトの都合上、Gを解除するためにRを押しているだけである)
            PressAndReleaseKey("r");
            ドラッグ終了のため左ボタンを離す
            ReleaseMouseButton(1);
            念のため、左クリックボタンの制御を無効にする
            EnablePrimaryMouseButtonEvents(0);
        end
    もし中央ボタン(5)が押されたならば
    if (event == "MOUSE_BUTTON_PRESSED" and arg == 5) then
        スクリプト起動からの時間をnew_timeとして記録
        new_time = GetRunningTime();
        メッセージ
        --OutputLogMessage("%s %s\n", new_time, old_time);
        もしボタン5を押したのが、前に押したときより2秒を超えていたら
        if ((new_time - old_time) > 2000) then
            通常クリックとみなしフラグkeyに0をセット
            key = 0;
        end
        通常クリックならば
        if (key == 0) then
            Altキーを押しっぱなしにする
            PressKey("lalt");
            スクリプト起動からの時間をold_timeとして記録
            old_time = GetRunningTime();
        もしボタン5を押したのが、前に押したときより2秒以下ならダブルクリックとみなす
        else
            Ctrlキーを押しっぱなしにする
            PressKey("lctrl");
            スクリプト起動からの時間をold_timeとして記録(どうせ同じなんだからnew_timeと比較の後にまとめて書いてもよかったですね)
            old_time = GetRunningTime();
        end
        フラグを0なら1、1なら0にする
        key = math.abs(key - 1);
    end
    もし中央ボタン(5)が離されたならば
    if (event == "MOUSE_BUTTON_RELEASED" and arg == 5) then
        Altボタンを離す
        ReleaseKey("lalt");
        Ctrlボタンを離す
        ReleaseKey("lctrl");
    end
end

もっとよい書き方があるかもしれません。
たとえば、時間を取得せず、Sleepを使う方法もあるようです。
しかしSleepはその間操作が止まるらしいので、この場合まずいと思い今回は時間をはかる方にしました。

ちなみに今回の用途はブラウザ閲覧などではないので、中央クリック左にUndo、右にRedoを設定しております。こちらもとても便利で作業がはかどります。

お約束ながら、このスクリプトで誤動作を起こして、皆さんにダイソンガイを起こしても責任は取れませんのでご了承ください。自己責任でお願いします。


ではまたお会いしましょう。。。

2016年7月13日水曜日

ギター音源の自論 - 傷ついたレンガ

とりあえず、私がKMG7の作者です(・ω・;)ゞ

最近ツイートを見ているとエレキギター音源がどんどん増えている気がします。

外国製品はあまり知らないので、国産品でお話を進めますが。

KMG7はKMGと書きます。
ほか、AとBとCとします。何がどの音源かはご想像にお任せ。


まず、それぞれの簡単な特徴から

 以下、私個人が感じた評価です。
ちなみにKMGは無料なのでこれらの評価に差別はしていません。

Aの特徴
世界的知名度=高
価格=高
出せる音の種類=多い
音質=良
操作性=不明
 
Bの特徴
世界的知名度=普通
価格=普通
出せる音の種類=普通
音質=良
操作性=普通
 
Cの特徴
世界的知名度=低
価格=普通
出せる音の種類=多い
音質=良
操作性=難

ついでにKMGの特徴
世界的知名度=普通
価格=無料
出せる音の種類=普通から少なめ
音質=低
操作性=良


ということで
KMGの特徴としては
基本フリーである。
ABCは有料。

7弦である。
いろんな方のブログを読ませていただくと、フリーで7弦は貴重であるらしい
7弦まででるのはABCで1つのみ。(なんか人狼ゲームみたいになってきた)

音色選択はキースイッチがメイン。ベロシティ100までは若干内部フィルターで音が変わるだけでほかに機能はない。101から110に同じサンプルでアタックが強くなり、111から127にPHがある。
レイヤー的には2~3レイヤーという感じ。
ABCはレイヤーが多い(と思う)。かつ出せる音色の種類も多い。
この点ではKMGは劣っている。でも僕が使うぶんには気にしないヽ(´∀`)ノ

チョーキングとビブラート
これは、どちらもひとつのサンプルで機械的に変えます。
ABCはそれぞれのサンプルがあると思われます。これもKMGが劣っています。考え方を変えると操作が楽。

音質
そんなによくないですヽ(´-`)ノ
もともと自分のために制作した音源だったので、歪んでかっこよければよいと思っていたのでそこまで重視していませんでした。
しかし、ABCをきいて(BとCはクリーントーンも)KMGがどれほど音質が悪かったかわかりました。
しかし今回は、それに関する自論なので、よかったら最後までお読みください。

操作が簡単(なはず。)
バグを除いて、音が鳴りっぱなしになるモードはなく、キーリリースか、サスティンペダルOFFで必ず音が止まる。ABCはすべて、どちらにするか選択できたはず。しかし考え方次第では、KMGはサスティンペダルでなりっぱなしになるので、操作できるともいえます。KMGはソロモード時にリアルタイム入力でリアリティを出せるような作り方をしています。

そして、知名度!
なぜかKMGは海外によく知られている!
ヨーロッパあたりからよくメールがきます。


さて、ここからは、KMGをすすめる自論です。KMGが嫌いな方や興味ない方はここで終了で、、、、はありません!
使ってない人こそあえて一度読んでもらいたいと思っています。


ちょっと毒舌も混じるかもしれません。すみません。
よそ様の音源をけなしはしません。
そうでなく、KMGの良いところに目を向けていただきたく思いました。

そもそもギター音源で生ギターを表現することじたい、難しく、生演奏にはほど遠く勝てないのです。ですから、ギター音源が最終工程にて必要な方は、ギターの弾けない方がほとんどです。私もそうです。だから1個ずつ弾いて録音して音源にしたのです。それがKMG7です。

で、演奏のうまい人がギターを弾くと、音の粒がそろいます。下手な人はバラバラです。
一般的に良いギター音源と呼ばれるものは、うまいプレイヤーが演奏して録音しています。これは当たり前ですね。KMGは逆ですが。

ではなぜKMG7をあえてお勧めしたいかというと、僕が感じるに、、、

フリーだから(´д`)

じゃないんです!それも使う側のメリットのひとつですが、僕にメリットなんてないんです(笑)だけどお勧めしたいには理由があるんです。

「DTMのエレキギター音源の最終的な評価は、打ち込む人の腕にある」

と思うからです。

KMGのチョーキングはなぜサンプリングでなくベンドで操作するのか、これは、(録音できなかったというのも大いにありますが)サンプリングだとチョーキングがリアルにはなりますが、スピードが調節できないんです。できても速さが変わるだけでニュアンスを変えられません。
よく打ち込みギターでうまい人の曲を聴きますがソロのときに残念さを感じることが多いです。
「ああ、ベンドが機械的な打ち込みだ・・・」ってのがよくあります。
え?KMGはベンドだからよくない?
そうじゃなくて、打ち込む人の腕です。ベンドをリアルタイムで操作すればよりリアルに近づきます。ただしそれでも、ギターリストからすると、ギターのチョーキングではないといわれます(シンセソロだといわれます)。でも機械的よりはましでしょう。
あとは、スピードコントロールできないチョーキングサンプルを鳴らすか、自由なチョーキングを自分で操作するか、お好みしだいです。僕は、キーボード操作に慣れていたので、KMG7をベンド操作する音源にしたということです。

次に、KMGの音質が悪いのになぜお勧めするか、これはまず、音質はごめんなさい、そのうち時間あればノイズ除去します(←それだけの問題じゃないやろヽ(`Д´)ノ)。
音質のもうひとつに粒のそろいがあります。KMGはギターの弾けない僕が一生懸命弾いたので粒がバラバラです。

ここで今回のブログの本題です。

うまいプレイヤーが録音すると粒もそろい、音色も何度弾いても同じ音が出せます(現役○A○A○Aギター講師のお言葉です)。そしてそれを生で聴くときれいで、生々しさに感動するわけです。
しかし、僕が思うに、きれいな音を人間のニュアンスで弾いているから生々しいのだと思っています。
きれいな音を、100%ずれないシーケンサーで8分音符を刻むとラウンドロビンがあってもマシンガン効果は避けられません。むしろ、きれいな音で粒がそろっているためにラウンドロビンが効果を発揮していないのだと思います。
人間が表現する微妙なリズムのノリ(ずれ)が粒ぞろいの音をリアルに表現している(というかリアルですから)のだと思います。
この場合下手な演奏もリアルといえるでしょう。

だから、これが自論ですが、音源のサンプルがきれいであればあるほど、その音源を打ち込みでリアルに表現するのが難しくなっているのではと思っています。
リアルな音源は、それだけギターに詳しく熟知した者で、打ち込みの技術を持った者でないと、リアルには扱えないのでは、と思っています。

だからKMG7をお勧めしたのです。
負け惜しみに聞こえたり、偶然の産物に聞こえますが、

つるつるのきれいなレンガを1/100㍉ずれずにきれいに並べた壁より、少し傷ついたレンガを全くずれずに(または少々のずれありで)並べた壁のほうが人間味があるのでは、と思うしだいです。
もちろんつるつるのきれいなレンガを味のあるようにずらしたり工夫して並べられる人は、そちらのほうが表現力があります。同時に難易度も上がりますよと。

KMGはギターが下手な作者が弾いたために、傷ついたレンガのようなサンプルだらけです。
しかし、それらは、ロボットに寸分違いなくきれいに並べさせるだけで新人職人さんが並べたかのような壁になります。下手さ加減が生んだ偶然の産物がKMG7です。

ギターの仕組みや演奏を熟知していて、打ち込みに自信のある方は、値段が高くて操作性が難しくても、いろんなことができるギター音源を買うのがよいでしょう。
ギターを詳しく知らず、ほとんど弾けない人は、高性能ギター音源を買っても、その音源の真の能力を発揮することはとても困難です。お金に余裕があって、じっくり使い方を覚えるなら問題ないですが、お金もきつい、操作を覚えるのもだるいという方は、KMG7といわずとも、まずは、フリーの音源で楽しむのもありじゃないでしょうか?

ひとつ気づきませんか?
高価なギター音源はいい音が出るのに、ギターを熟知したものしか効果が期待できない。
ギターリストはギター音源要らない。
ギター音源制作者としてはとても切ないことなんですよ。

KMG7はこれまで何度も言ってきましたが、2.9.0の現在のバージョンではフリーです。
現在のものはこれからも、権利が自分の手元にある間はフリーでいきたいと思っていますが(ちなみにこれは日本語を理解できる方のみであり、海外にはドルで売るかもしれません)、

私はギター音源を自作するぐらい貧乏なので、

最近はちょっとくらい商売させてもらってもいいかななんて考えています。_o/|_ ユルシテ
かといって、いまさらKMG7 2.9.0を有料にはできませんし、国内ではそうする気はないので、この前すこしツイートしましたが、KMG7 IIとか、アドバンスドとかスペシャルとか、そんな感じで、より良いものに引き継ぐことができたときは、それを有料(安めに)で販売させていただこうかなんていう計画はなくもないです。しかし、ほかの音源も制作しているので、まだまだ先の話になりそうです。

それまでは、KMG7をお使いの皆様、どうか傷ついたレンガを味のあるように並べてやってください
よろしくお願いします。
そして今更ですが、KMG7をメインで使用して作られた楽曲が公開されたときは、ぜひお知らせください。じっくり聴かせていただきます。

2016/7/13
Studio Major7th
KMG7制作者:Yutaka Morikawa
http://major7th.jp/kontakt/kmg7/

2016年6月21日火曜日

KONTAKT KSPメモ play_note, note_off

今回は、かなりマニアックな内容です。
ちなみに気になったことなどあれば、ツイッターのほうにでも連絡ください。

レガートを制作する上で、KONTAKT内でグループ単位のサンプルのディレイが必要になった。
しかし、グループ単位で音を遅らせる方法がこれといって無い。

そこで、waitとplay_noteの検証をした。
そして現在押されているキーの数を数えるための$Stackを用意した。
KMG7を制作中、これにかなり悩まされたので、改めて検証。

on note
    inc($Stack)
    wait(1000000)
    $Eve_ID := play_note(60,127,0,-1)
end on

キー50をonにしたとする。
この場合
50キーオンから1秒たつ前にキーを放すと
60の音は鳴らない。
・50キーを放したとき60のon releaseはコールバックされない。(50のon releaseだけ働くっぽい)
50キーオンから1秒経過させると
60の音が鳴る。
・50キーを放したとき60のon releaseはコールバックされる。(2つ分on releaseが働くっぽい)

###########################

on note
    inc($Stack)
    wait(1000000)
    $Eve_ID := play_note(60,127,0,0)
end on

キー50をonにしたとする。
この場合
50キーオンから1秒たつ前にキーを放しても
60の音は鳴る。(鳴りっぱなし)
・50キーを放したとき60のon releaseはコールバックされない。(50のon releaseだけ働くっぽい)
50キーオンから1秒経過させると
60の音が鳴る。(鳴りっぱなし)
・50キーを放したとき60のon releaseはコールバックされない。(50のon releaseのみ働くっぽい)
・60の音は、サンプルが終わるか、fade_outまたはnote_offを使用しなければ止まらない。

ここで、後者の場合、
on release
    dec($Stack)
    note_off($Eve_ID)
end on
とすると、
50キーオフで、音は50も60も止まる。
on releaseは1つ分だけ働き、note_offによる重複はないっぽい。
ただし、キーオンを和音にすると、$Eve_IDが順次上書きされ、note_offは最後の一つの音しか消えない。

これを回避するには、
play_note時の$Eve_IDを
%Eve_ID[$EVENT_NOTE]
にするなどの必要がある。

release時は
$i := 0
while($i<128)
    if($i=$EVENT_NOTE)
         note_off(%Eve_ID[$i])
    end if

    inc($i)
end while
とすれば、オフにしたキーのみ消えてくれて、全部放すと全部消えてくれる。
しかし、play_noteが開始になってからでないと消えない(1秒経過前にキーオフすると1秒経過後に音が鳴り出し、なり続ける)

###########################

もう一つ注意があるようです。
on controller
    message($Stack)
end on
をセットし、
音が鳴っている間、CC1を動かしまわって、$Stackの動きを観察した。

on note
    inc($Stack)
    wait(1000000)
    %Eve_ID[$EVENT_NOTE] := play_note(60,127,0,-1)
end on

on noteの中でplay_noteは、循環しないらしい。
というのは、50キーを押しっぱなしにしたとき、$stackが1以上増えないからである。

on note
    inc($Stack)
    wait(1000000)
    %Eve_ID[$EVENT_NOTE] := play_note(60,127,0,0)
end on
の場合も同じであった。

そして先ほどの例のように、
on release
    dec($Stack)
    $i := 0
    while($i<128)
        if($i=$EVENT_NOTE)
            note_off(%Eve_ID[$i])
        end if

        inc($i)
    end while
end on
relaese内でのnote_offも循環しないようである。

注意すべきは、on note内でのnote_offはon releaseがコールバックされるようで、$Stackが減ります。on release内でのplay_noteは$Stackが増えなかったので、そもそもplay_noteはon noteをコールバックしないっぽい?です。

on controller
    message($Stack)
end on

on note
    inc($Stack)
    wait(1000000)
    %Eve_ID[$EVENT_NOTE] := play_note(60,127,0,0)
    wait(1000000)
    $i := 0
    while($i<128)
        if($i=$EVENT_NOTE)
            note_off(%Eve_ID[$i])
        end if

        inc($i)
    end while
end on

↑これで50キーを押しっぱなしにして2秒以上の間CC1を動かしまわってメッセージを見ると1秒後に1になって2秒後に0になるのがわかります。

実験中気になったのは
%Eve_ID[$EVENT_NOTE] := play_note(60,127,0,0)
%Eve_ID[$EVENT_NOTE] := play_note(60,127,0,-1)
on note内だと、前者は無条件にplay_noteが起動し、後者はキーがオンになっている場合にplay_noteが起動しましたが、on release内で使うと、共にキーオフ後でもplay_noteの音がなりっぱなしになるようです

それをふまえて、
つまり、ややこしいのだが、

on note
    inc($Stack)
    wait(1000000)
    %Eve_ID[$EVENT_NOTE] := play_note(60,127,0,-1)
end on

on release
    dec($Stack)

end on

これは、note_offがなくても、1秒以後にキーを放せば、play_noteの音も止まるが
releaseが2個ずつ働くため、3和音を鳴らすと、1秒以後にキーを放すと$Stackは-3になってしまう。(1音だと-1)

on note
    inc($Stack)
    wait(1000000)
    %Eve_ID[$EVENT_NOTE] := play_note(60,127,0,0)
end on

on release
    dec($Stack)
    $i := 0

    while($i<128)

         if($i=$EVENT_NOTE)
            note_off(%Eve_ID[$i])
        end if
    

        inc($i)
    end while

end on


こちらは、note_offをセットしなければ1秒以後に音が消えてくれないが、1秒以後にキーを放せば、play_noteの音はnote_offにより止まる。
そして、on note内のplay_noteやon release内のnote_offは循環しないようなので、3和音を鳴らし、1秒以後にキーを放しても$Stackは正常に0に戻る。
ただし問題は、一度キーをオンにすると、1秒以内にキーをオフにしても、1秒後に60の音が鳴り始めてしまうことである(オンにしたキーが生きていればplay_noteを起動するという方法も取れるかもしれないがややこしくなる)

つまり前者の場合、play_noteの音が鳴り始めたあとにキーオフすると、$stackが-(マイナス)に
後者の場合、$Stackに異常は発生しないが、無条件に音が鳴ってしまうという。

そこで偶然良い結果を見つけたので、記しておきます。

前者を使い、on release内でnote_offをセットします。
すると、3和音キーオフ時にreleaseが重複し$stackが結果的に-3になるかと思いきや、
かなりめちゃくちゃな演奏をしても、$Stackが必ず0に戻りました。

最終的にplay_noteを使ったディレイ効果としてよさそうなのは、少し改造を加えて、

on note
    inc($Stack)
    disallow_group($ALL_GROUPS)
    wait(1000000)

    allow_group(find_group("Legato"))
    %Eve_ID[$EVENT_NOTE] := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,-1)

end on

on release
    dec($Stack)
    $i := 0

    while($i<128)

        if($i=$EVENT_NOTE)
            note_off(%Eve_ID[$i])
        end if   

    inc($i)
    end while

end on

これで、1秒後にグループ"Legato"のキーが鳴り、キーオフで遅れた音も消える、そして$Stackに異常も発生しないプログラムのできあがりです。(保障しませんが)これを応用すると、1つのキーオンで2つ以上の任意の音をつないでレガートを作れるはずです。
$Stackが0のときは通常のグループを鳴らし、$Stack>0のときは、このディレイを使って、2つ以上の音をつなげるLegatoグループを鳴らすというわけです。


KSPの説明書を読むと、コールバック関係のことはしっかり書いてあるようなのですが、英語なので正確につかめないというのが、全ての元凶でした。

しかし、説明書にディレイの作り方を書いてあるわけではないので、良しとしませんか・・・。

実は現在制作中の音源には別の方法をとっています。ひと段落したら今回の方法を試したいと思います。そして不具合があればまた記事を修正なり、更新したいと思います。

以下6月25日追加更新
実際に音源に組み込んでみました。
見事バグが発生しました。
理由はwaitです。
上のスクリプトでは1秒だったので気づかなかったのですが、waitをはさんでグチャグチャやると、$Stackに異常が発生しました。
ここでは振れていませんが、消えるはずのノートが消えなかったりと、いろいろ不具合が出ました。
結局何がおきているかというと、おそらくですが、
1.ノートオン
2.wait
3.play_note(同時にID取得)
4.wait
5.play_note(同時にID取得)
となるところが、速い演奏やあるタイミングで、
1.ノートオン
2.wait
3.play_note(同時にID取得)
4.wait前にplay_note(同時にID取得)
5.wait
6.play_note(同時にID取得)
このへんの関係で、note_offで消えないIDが残ってしまい、on releaseで消すことになり、$Stackが余分に減ってしまうのだと思います。

前回の検証で、play_noteはon releaseで消す(止める)と、play_noteを呼び出したノートを止めるreleaseとplay_noteを止めるreleaseの2つが働いてしまうようで、$Stackが1個余分に減ってしまうらしいことがわかりました。
正しく、on release内のnote_offでplay_noteを止めると、on releaseは一つしか働いてないようで$Stackも1個しか減りませんでした。

つまり、waitの前後の関係でplay_noteで取得したIDが%Eve_IDに無い状態になり、on release時に
note_offで止めれてないこととなり、on release自体で止めることとなり、$Stackが減ってしまった、と勝手に解釈しました。

結果的に、$Stackに異常が出ると先に進めないので、
「後者の場合、$Stackに異常は発生しないが、無条件に音が鳴ってしまうという。」
という方を採用しました。

もう一度おさらいです。

on note
    inc($Stack)
    wait(1000000)
    %Eve_ID[$EVENT_NOTE] := play_note(60,127,0,0)
end on

on release
    dec($Stack)
    $i := 0

    while($i<128)

         if($i=$EVENT_NOTE)
            note_off(%Eve_ID[$i])
        end if
    

        inc($i)
    end while

end on


こちらは、note_offをセットしなければ1秒以後に音が消えてくれないが、1秒以後にキーを放せば、play_noteの音はnote_offにより止まる。
そして、on note内のplay_noteやon release内のnote_offは循環しないようなので、3和音を鳴らし、1秒以後にキーを放しても$Stackは正常に0に戻る。
ただし問題は、一度キーをオンにすると、1秒以内にキーをオフにしても、1秒後に60の音が鳴り始めてしまうことである(オンにしたキーが生きていればplay_noteを起動するという方法も取れるかもしれないがややこしくなる)

「たぶん」$Stackに異常はでません。そのかわり、小文字で表示したややこしい方法をとることにしました。といってもめんどくさかっただけでそんなにややこしくはないのですが。

on note
    %Alive_NOTE[$EVENT_NOTE] := 1
    inc($Stack)
    wait(1000000)
    if(%Alive_NOTE[$EVENT_NOTE] = 1)
        %Eve_ID[$EVENT_NOTE] := play_note(60,127,0,0)
    end if
end on

on release
    %Alive_NOTE[$EVENT_NOTE] := 0
    dec($Stack)
    $i := 0

    while($i<128)

         if($i=$EVENT_NOTE)
            note_off(%Eve_ID[$i])
        end if
    

        inc($i)
    end while

end on


ということです。
押したキーが生きてるか死んでるかを判断してやり、生きていればplay_noteするとしてやりました。

これで、やっとwaitがからんでも、$Stackに異常なく正しい動作が可能となりました。(たぶんです)

実際に組み込む際は、waitより前に設定する事項と、あとで設定する事項とがあります。
それをしないと、正しく動作しません。

まだ不具合が出るかもしれませんが、ひとまず安心です。
とにかく、前回の記事(この記事の上のほう)は失敗作です。

条件をつけてplay_noteの最後の引数を0にする方を使うことになりました。

おしまい。

2016年5月21日土曜日

Let's Go to HOLLYWOOD - KONTAKT

KONTAKT用ライブラリ、「Let's Go to HOLLYWOOD」を公開いたしました。
http://major7th.jp/kontakt/lgh/



制作経緯についてですが、ハリウッド系BGMを制作するのに、僕は開発当初それらしき音源を持っていなかったのです。

なら作ってしまえ!というKMG7的な発想のもと、この音源の開発に取り掛かりました。

最終的にお値段を安く設定させていただきましたが、高い音源だから信用があるという概念を振り払うよう、安くても使える音源を志しました




さて、オケに混ぜてどれほど使えるかはまだまだ未知数ですが、実際にPVで使ってみる限り、EQをいじったり、リバーブを他のものと差し替えたりして、それなりのサウンドが出せることがわかりました。

現在はまだバージョン1.0.0で23種類の音色しかありませんが、スクリプト上60種類まで増やせるようになっております。

今後バージョンアップにてよい音が見つかり次第、音色を増やしていこうと考えております
そのときお値段も若干上げさせていただきますのでよろしくお願い致します。

おっと、経緯の説明でしたね。
つまり、そういう音源を持っていなかったわけで、持ってないというのは、お金がなかったんです。その後NI社KOMPLETE10を導入し、アクションストライクスを手に入れたので、しばらく必要なかったのですが、KMG7を2.9.0にバージョンアップしたのをきっかけに、音源制作に気合が入り、続きを制作したわけです。

当初お金がなく、この音源を作り始めたという気持ちを大切にし、この音源を作るにあたり、大金をかけることは好ましくないと考え、とにかく身の回りのものでHOLLYWOODを体験しようというのが、コンセプトとなりました。決してケチ心でお金を使わなかったわけではないです。

使った物をおおまかに解説いたしますと、



洗濯機

ドア

引き戸

空き缶(500円玉2枚付き←スナッピー代わり)

鍋(おたま)

コップ(中身は薄めためんつゆ)

箱(ドラムスティック)

スプレー

カーテンレール

電動ドリル





といったところでしょうか。

決して既存の楽器を使わないというのもコンセプトの一つであります。

お勧めは、「ボンネット」「おかん's Room」「洗濯機」「スプレー」あたりでしょうか。
特にボンネットはいい音でます。玄関ドア(タイミングを少し加工してますが)はボンネットの少し軽い版みたいなサウンドです。車のドアは、低域を増やしたいときにアクセントにもちいるとよいでしょう。
そしてスプレーは、ループしてありますので、鳴らし続けることもできますし、短く切ってアクセントをつけると、ハイハット的な使い方ができます
偽スネアは、500円玉をスナッピー代わりにし、ひそかに11レイヤーも使っております。ベロシティ1から127までクロスフェードしながら自然な音の移り変わりを体験できます。

全てのサウンドはレイヤーと別に4種類用意されていて、CまたはG(赤鍵盤)でランダムでサンプルが選ばれます。連打しても同じサンプルの連打にはなりません。(2連打くらいはありえますが)
CまたはGの半音4個上分(青鍵盤部分)に、そのサンプルを割り当てておりますので、ランダムで好ましくない音が出るときに、好きなサンプルを選ぶこともできます。

今後、身の回りでハリウッドサウンドに使えそうな「物」探しをしばらく続けていこうと考えております。

今後とも、Let's Go to HOLLYWOODをよろしくお願い致します。

作者:Yutaka Morikawa

2014年11月15日土曜日

Roland A-90 分解修理




愛用のローランドA-90の鍵盤の中が折れました。

購入から15年で3回目です。(記憶があいまいで、2回かもしれません)

中が折れる?どういうことかというと、、、
 
こういうことです。
A-90は、ピアノ鍵盤であり、バネで戻るタイプとは違います。
最近の構造は知りませんが、15年ほど前のA-90では、上の写真のような鉛付きパーツが入ってます。
 
上が折れたもの、下が正常なものです。
この物体にちょうどかぶさるように鍵盤が配置されており、穴の開いている辺りがちょうど、鍵盤のタッチする辺りになります。
鍵盤を押すと、このパーツの一番左の部分が押されて、その右の少し丸い部分を軸にシーソーのように鉛を持ち上げます。これでピアノのタッチを再現しているようです。
 
そして持ち上がった鉛(の入ったこのプラスチックのパーツ)は、穴のようなものが4つ見えますが、その一番左の上の部分、ここにフェルトのついたストッパーが当たり、鍵盤が止まるようになっています
つまり、すばやく鍵盤をタッチすると、そこにかなりの衝撃が加わるのです。それで写真の上のように、そこで折れてしまい、中の鉛があらわになるのです。
 
冒頭で触れましたが、15年使ってきて、折れたのはこれで3回目になります。(たぶん)
 
1回目は自分でパーツを取り寄せ、取り付けなおしました。1つ500円か900円かそんなもんだったと思います。
 
2回目は、法律ができたのか、電気機器のパーツの取り寄せが、事故防止のため出来なくなりました。よって、その他、不具合も出てきていたので、ローランドへ送り、全体のメンテナンスと、この鉛パーツの交換をしてもらいました。
このとき、よく折れるということを伝えると、このパーツはよく折れると、そのままの答えが返ってきて、このパーツの88鍵盤分全て無料で交換してくれるとのことでした。(けっこうな値段になるはずなので、本当に全て交換されたかは不明)
そして、ローランドの修理担当者の方と、直接電話で話しながら、不具合をほぼ全て直してもらいました。(お金はかかりましたが、すでに保障がすぎており、パーツが無いのに、さびていた金属の部分の塗装までして下さいました。)
 
そして3回目が今回です。
KMG7の説明動画を作っているときに、パキッという音がして嫌な予感がしました。
折れました。
鍵盤が戻らなくなりました。鉛の部分から先が折れて、落ちてしまい、おもりの力が無いので、鍵盤が戻らないのです。
 
仕方ない、また送るのか・・・。と途方にくれましたが、他にも怪しい音がする鍵盤があったので、とりあえず本体を開けることに。
以前も開けていたので、開け方はそう困ることはありませんでした。
 
写真の上が鍵盤手前の部分です。
手前の金属部分のネジと、ゴムパッドのネジ以外、裏のネジは全てはずします。
1本を除いて、全て同じネジです。
 
開けるとこんな感じです。
 
左右の木の部分を、手前から上に持ち上げるように、すると、カパッとはずれます。
気をつけるべきは、配線がいくつかあることですが、特に、左端に、アフタータッチのセンサー用のコードがあります。これは、少し短めで、引っ張りすぎると、配線に引っ張られ、パーツが壊れてしまうので、気をつけましょう。
ちなみに、この画像はすでに直した後の状態ですので、鍵盤は正常です。
 
 
折れたのは中域より下のAでしたが、折れるということは、よく使うということなので、タイヤのローテーションと同じく、あまり使ってなさそうな、高域のFと交換して、直すことにしました。
 

 
さて、ここで悩んだのが、折れたプラスチックを、どうやって元に戻すか。
ただくっつけても、また強い衝撃が加わるわけで、普通に考えたら、接着剤やシリコンでは、すぐまた折れてしまう。
 
ネットで強力な接着剤を探して、ある接着剤に行き着きました。そして幸い、折れた面だけをくっつけるのではなく、鉛部分をプラスチックに差し込みながらくっつけるという作業でしたので、接着面が多く、しっかりくっついたようです。
例えるなら、折れた割り箸をくっつけるのではなく、ペンのキャップをペンに差し込んで抜けないようにくっつける感じです。
 
 
使用したのはこの接着剤です。なんか車で引っ張り合うCMとかあるらしいですよ。
ホームセンターで500円台です。
で、まず、アルコール等で、きれいに洗浄し、ヘラを使いつつ、写真のように接着しました。
接着するあらゆる面と、さらにコーティングするように、表面も少し塗っておきました。
この接着剤は、乾燥すると、カチコチではなく、すこしゴムのようになりますので、弾力性という意味で、今回の接着用途に都合がよいと感じました。
 

鍵盤の中、すっごいほこってます。
どうせ接着剤が乾燥するまで24時間はかかるので、この際、白鍵盤だけ、おもりパーツを全てチェックしながら、掃除もしていこう、ってことになりました。

 
ほこりすんごいです。
 
 
鍵盤横も全て拭き取っていきましょう。
 
 
ナイスつるつる。
 
 
キチャナイですね。


これも綿棒でふき取ります。毛などはピンセットで。


 1個ずつ取り外して、掃除して、パーツの劣化を確認。


↑少しひびが入っているやつ。
パテ埋めのように接着剤で補強します。


↑完全にアウトのやつ。
上が折れてないのでまだ生きてるだけで、下が折れてしまっていて、そのうちパキッといくやつです。いったら、また、内部から接着して頑丈に固めるとして、今回は、補強だけです。(というか、それしかできない)


↑下がまだ折れていないだけで、かなり劣化の進んだやつ。
こんなのがごろごろ出てきました。


少しずつ作業を進めていき、接着剤を使ったキーは間違って押さないように、とりあえず、鍵盤をはずしたままにしておく。


2日くらいかかって、全部(白鍵のみ)チェックと掃除、補強終わりました。
鍵盤が下がっているキーは、接着剤でパーツに補強をしたキーです。
こうやって見ると、どこがよく使われているかわかりますね。
さーっとみると、意外と、Gが補強いらずでしたCはほとんど補強が必要だったようです。
折れたのは、画面中央部の、この写真で補強してないAです。これは高域のFと交換したからです。
ということで、Aもほとんど補強したことになりますね。


数時間乾くのを待って、全て鍵盤を戻していきます。


ネジを戻して、


とりあえず元に戻りました。
操作も正常です。

問題は、補強したキーが、どれくらい耐えられるかです。
折れたやつが、普通に使えるようであれば、今後、あの接着剤があれば、とりあえずは問題なさそうです。

ピッチベンドとモジュレーションを同時に触れるジョイスティック搭載で、アフタータッチがついているマスターキーボード(オールインワンシンセでない)は、知る限り、これしかないんです。
最近のキーボードはアフタータッチがついてないのが多いんです。
だから、このキーボードが完全に故障してしまうと、とても困っちゃうわけです。

いつまでも長生きして下さい、A-90君。

人気の投稿