2018年4月8日日曜日

[DAW] Cakewalk (旧称 Sonar) の最新版を無料で使う方法

How to get Cakewalk by BandLab

一時期生産が終了していたオーディオ編集・作曲用ソフト Cakewalk製品の Sonar が BandLab ブランドから新製品として無料で公開されました。
インストールして起動するまでの方法をまとめました。
blog.fujiu.jp [DAW] Cakewalk (旧Sonar) の最新版を無料で使う方法


環境

  • Windows 10
  • ASIO 対応オーディオインターフェイス
  • MIDIキーボード


インストールする方法

公式サイト
https://www.bandlab.com/products/cakewalk
の Get Early Access Now をクリックしてインストーラーをダウンロードします。

ダウンロードしたインストーラーをダブルクリックすると Windows Defender SmartScreen が反応します。
悪意のある要素 (フィッシング・スパイウェア・ウィルスなど) を含んでいる可能性があるのでここから先は自己責任でインストールします。
詳細情報をクリックし、次の画面の実行をクリックするとインストール出来ます。

Facebook か Google のアカウントでログインします。
どちらのアカウントも使いたくない場合は Sign up now をクリックしてメールアドレスとパスワードを登録してアカウントを作成します。

次に表示される画面右上の Apps をクリックして 右下の Install をクリックします。

Install Cakewalk with additional content をクリックします。
これで自動でインストールが開始します。

インストールが完了するとスタートメニューに Cakewalk が追加されます。


起動する方法

スタートメニューから起動してみたところ、セキュリティソフトが反応しました。
許可してもブロックしても起動しますが、ブロックした場合は制限があるかもしれません。

初回起動時はオーディオインターフェイスと MIDI 機器などのセットアップがあります。

新しいプロジェクトを作成したところ無事に音が出ました。

インストール済みの VST プラグインは自動で認識され正常に使えました。
ただし下の画像のように Vocaloid4 Inst が選べますが、これは CUBASE 専用の Vocaloid4 Editor のため Cakewalk では使えません。実際に選択してみましたが何も出来ませんでした。


Cakewalk のプラグインを他の DAW で利用する方法

Cakewalk 付属の VST プラグインを CUBASE Pro 9 で利用出来るか試しましたが、プラグインマネージャーに追加したらブラックリストに登録されました。

「安定性の問題やプログラムのクラッシュの原因となる可能性」があるプラグインは CUBASE がブラックリストに登録する仕様のためです。
ブラックリストを選択して再アクティベートをクリックすればブラックリストから削除され利用出来ますが、次の再スキャンの時に再びブラックリストに登録されます。


関連ブログ

Cubase Pro 9.5 無料体験版を使う方法
[HALion] Steinberg の無償のサウンドライブラリーを使う方法
ProTools First のwavファイルはPlaySound関数で再生できるか?


2018年3月31日土曜日

[動画編集] Vegas Pro 15 の無料体験版を使う方法

How to get Vegas Pro 15 Trial version

今まで使用していた Vegas Pro 14 の動作がおかしくなってしまいました。
再生ボタンをクリックすると音声は再生されるのですが、タイムラインツールバーのカーソルが動かず動画のプレビューが制止したままです。
Vegas Pro 14 は古いバージョンなので Vegas Pro の現時点の最新バージョンが30日間無料で使える体験版が正常に動作するか確認してみました。その方法をまとめました。
blog.fujiu.jp [動画編集] Vegas Pro 15 の無料体験版を使う方法


環境

  • Windows 10
  • Vegas Pro 15 Edit 体験版


体験版をインストールする

Vegas Pro は30日間無料で利用できる体験版が公開されています。
体験版は公式サイトからダウンロードできます。
https://www.vegascreativesoftware.com/ca/trial-versions/
「Edit」「Pro」「Suite」の3種類がありますが、違いはサードパーティ製のプラグインや DVD 作成用オーサリングツールの有無でスペックは同じです。

今回は VEGAS Pro Edit の体験版をダウンロードしました。30-day free trial をクリックするとインストーラーのダウンロードのページに移動するのでそこからダウンロードして起動します。
体験版に日本語版はないので英語版をインストールしました。

Music Maker という作曲用ソフトも一緒にインストールできるようですが今回は不要なのでチェックを外して Vegas Pro のみをインストールしました。

この後自動でダウンロードとインストールが始まります。完了するまで1時間くらいかかりました。


体験版を起動する方法

インストールが完了したら Vegas Pro 15 を起動し Start trial version をクリックします。

Register now をクリックします。

Magix へのユーザー登録が済んでいれば登録し、そのアカウントとパスワード入力します。

登録するとメールで体験版用のアクティベーションコードが送られてくるのでそれを入力し Test program をクリックすると起動できます。


Vegas Pro 15 の日本語マニュアルを入手する方法

Vegas Pro 15 の日本語マニュアルはソースネクストからPDFでダウンロードできます。
購入前のユーザーもダウンロードできます。
http://www.sourcenext.com/product/vegas/vegasproedit/?i=vegas_navi

体験版は日本語版はありませんでしたがソースネクストから購入した製品版は日本語版でした。


関連ブログ

[動画編集] VEGAS Pro 14.0 を使ってみました
[動画編集] VegasProでハコビジョン用動画を作る (左右反転)
[動画編集] VegasPro / MovieStudioで水玉模様の切り抜きをする方法


2018年3月17日土曜日

[JavaScript] エラーを無視して実行する方法

How to forcibly execute mistaked code

JavaScript のコードにエラーがあっても実行を止めない方法をいくつか試してまとめました。
どうしても動作しないコードをスキップして処理を継続したいときに使えそうです。
blog.fujiu.jp [JavaScript] エラーを無視して実行する方法


環境

  • Windows 10
  • Internet Explorer 11


未定義の関数のエラーを無視する方法

JavaScript は未定義の関数を実行するとエラーが発生し、その時点で実行が終了します。
たとえば alert を arert にタイプミスした次のコードはエラーで終了します。


このようなエラーがあっても実行を続行させるには try catch を使って次のようにコーディングします。


arert という関数が定義されていれば実行され、定義されていなければ catch (e) の {} の中のコードが実行されます。
実行時に関数が定義されているかわからない環境で使えそうです。


未定義の要素を参照したときのエラーを無視する方法

未定義の要素を参照したときもエラーが発生し、その時点で実行が終了します。
HTML 文章に id="nothing" という要素がない場合に次のコードを実行するとエラーになります。


このコードも try catch で囲めばエラーを起こさず実行出来ますが、別の方法もあります。
次のように if 文を使うとHTML 文章に要素があれば直後の {} の中のコードが実行され、要素がなければエラーにならずに else {} の中が実行されます。
else {} は省略可能です。



シンタックスエラー (文法ミス) を無視する方法

上の2点は文法が正常なコードを前提にしています。
JavaScript はシンタックスエラーのコードをそのまま実行できません。
たとえば次のコードは if を iv にタイプミスしているので実行できません。


このようなミスを含むコードを実行するためには eval 関数を使います。


eval 関数が実行されるとシンタックスエラーが発生し、その時点で実行が終了されます。
実行を継続するには try catch を使います。


これでシンタックスエラーを無視して実行を継続できます。


関連ブログ

JavaScript でグラフを作る方法 (Chart.js)
Visual Studio Code で Angular の開発環境を構築する方法


2018年2月25日日曜日

JavaServlet で日本語が「?」で表示されたときの直し方

How to fix the Garbled characters in Java Servlet

Eclipse で JavaServlet を作って実行したら文字化けしてしまいました。
そのときの文字化けの原因と直し方をまとめました。


環境

  • Windows 7
  • Internet Explorer 11
  • Eclipse Luna


JavaServlet で文字エンコードを指定する方法

JavaServlet で文字化けを起こさないためには文字エンコードを指定します。
文字エンコードの指定は Web ブラウザーに文字エンコードなどを伝える「ヘッダー」や、画面に表示する「本文」の meta タグなどで出来ます。
ヘッダーの文字エンコードは response.setCharacterEncoding や response.setContentType で指定します。


文字化けが起きた JavaServlet

ヘッダーと本文の両方に文字エンコードを指定したのに文字化けが起きた JavaServlet のソースは次の通りです。


UTF-8 で出力したいのでヘッダーには setCharacterEncoding と setContentType で、本文には meta タグで 指定したつもりですが実行すると下の画像のように日本語が文字化けしました。

blog.fujiu.jp JavaServlet で日本語が ?? で表示されたときの直し方


原因と直し方

原因は doGet メソッドで文字エンコードを指定する前に本文を出力していたためでした。

文字化けした JabavServlert は文字のエンコードを指定する response.setCharacterEncoding や response.setContentType を実行するよりも先に
response.getWriter().append("Served at: ").append(request.getContextPath());
を実行していますが、この response.getWriter() ... が 文字エンコードの指定前に HTML の本文を出力してしまい文字化けの原因となっていました。
response.getWriter() ... の行は Eclipse のウィザードで新規に JSP ファイルを作成するとはじめから記入されているのですが、消さずにコーディングを続けたために残ってしまいました。

response.getWriter() ... の行を response.setContentType ... の次の行に移動して実行した結果が次の通りです。

今回の文字化けは doGet や doPost で最初に response.setCharacterEncoding や response.setContentType で文字エンコードを指定することで直りました。


ブラウザーはどう解釈してるのか確かめる

文字化けするときとしないときとで Internet Explorer の F12 開発者ツールで応答ヘッダーがどう変わるのか見てみました。
文字化けしたときの応答ヘッダーは charset=ISO-8859-1 となっていました。
JavaServlet で本文を先に出力してしまうとヘッダーを正常に出力出来ないようです。
また、文字エンコードを meta タグに指定しても、今回のケースは効果がなかったうようです。

文字化けが直った方法で応答ヘッダーを確認すると charset が指定した通りに変わりました。


関連ブログ

JavaScript でグラフを作る方法 (Chart.js)
JavaScriptをWebコンテンツを見ながらデバッグする [Intenet Explorer] [firefox]
HTMLソースのミスやエラーを素早くチェックする


2018年2月10日土曜日

[Blender] レンダリングの背景を変更する方法

How to change the render background

3次元CG編集ソフト Blender はデフォルトではレンダリングの背景色はグレーです。
この背景色を変更したり画像に差し替えたりする方法を調べてまとめました。
blog.fujiu.jp [Blender] レンダリングの背景を変更する方法


環境

  • Windows 10
  • Blender 2.78


色を変更する場合

Properties エリアの World をクリックし、Horizon Color をクリックするとカラーピッカーで背景色を変更できます。



背景に画像を指定する場合

背景に画像を指定するには、以下の手順でコンポジットノードを追加し Render の設定を変更します。

コンポジットノードの追加は次の通りです。
どのエディターでもいいので Node Editor に切り替えます。

ノードツリータイプを Compositing に設定し、Use Node を選択します。

Alpha Orver と Image のノードを追加し、下の図のように接続します。

Image ノードの Open をクリックして背景に表示したい画像ファイルを選択します。

以上がコンポジットノードの追加です。

Render の設定変更は次の通りです。
Properties ウィンドウの
Render - Shading - Alpha
を Transparent に変更します。
この設定でレンダリングすると Image ノードで設定した画像が背景に表示されます。


参考にしたコンテンツ

3d view - Background image is not displaying in rendered mode - Blender Stack Exchange
https://blender.stackexchange.com/questions/28772/background-image-is-not-displaying-in-rendered-mode


関連ブログ

BlenderのモデルデータをMMDに変換する方法
ゲームのグラフィックや音声を吸い出す方法 (Unity Assets Bundle Extractor)
[Blender] ManuelbastioniLAB でCLIP STUDIO用キャラクターを作る方法
[Blender] マテリアルのテクスチャ画像をまとめてUVに割り当てるスクリプト

2018年1月28日日曜日

Windows が瞬間的に遅くなる症状を直す方法 (SSDのプチフリ)

How to fix Windows short time freezing

数年前に Windows 8 の PC を購入し Windows 8.1、Windows 10 とアップデートして今も使ってます。
Windows 8 の頃は快適だったのですが 8.1 にアップデートしてから一瞬だけ操作を受け付けず画面の動きが固まるような症状が出るようになりました。
最新の 10 でも同じ症状が出ます。
ずっと原因が不明でしたが設定を変更したら症状がなくなったのでその内容をまとめました。


環境

  • SATA 規格の内蔵ハードディスクを SSD に換装した Lenovo ThinkPad


症状

  • スタートボタンをクリックするとスタートメニューが表示されるまで 0.1秒ほどかかることがある。その間マウスを動かしてもポインターが動かない。その後再起動するまではスタートボタンのクリックはすぐに反応する。
  • デスクトップの壁紙に設定したスライドショーが切り替わるタイミングで 0.1秒ほど画面の表示が固まる。その間マウスを動かしてもポインターが動かない。
  • DirectX を使用するゲームで 0.1秒ほどのフレーム飛びが不定期に起きる。


解決方法

症状が「プチフリーズ」と呼ばれる現象に似ていることとハードディスクを SSD に換装しているため、SSD のプチフリーズの解決手段を試しました。
いろいろな手段があるようですが、SSD の名前をレジストリに登録するという手段で解決したようです。


設定方法

レジストリに SSD の名前を手入力すると入力ミスする可能性がありますが、次の操作で正確な名前を調べて入力することができます。
コマンドプロンプトを起動して
msinfo32
と入力して Enter キーを押します。
blog.fujiu.jp Windows が瞬間的に遅くなる症状を直す方法 (SSDのプチフリ)

システム情報が起動するので
コンポーネント - 記憶域 - ディスク
と開くと右側に「モデル」が表示されます。この値が今回必要な名前です。
SSD を2台以上接続している場合は接続している台数だけ表示されると思います。

モデルの行をクリックしてメニューの
編集 - コピー
でコピーします。

次にコマンドプロンプト
regedit
と Enter キーを入力して レジストリエディターを管理者権限で起動します。

¥HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Service¥storahci¥Parameters¥Device
と開き、右側の NoLPM をダブルクリックします。

「複数文字列の編集」が表示されるので「値のデータ」を右クリックして 貼り付け (または Ctrl + V) でディスクの名前を貼り付けします。名前の最後に「*」をつけて OK をクリックします。

PC を再起動して設定完了です。
この設定以降は症状が現れてません。


試したけど解決しなかったこと

  • 最新のデバイスドライバーをインストールする
  • Lenovo Update で推奨のアップデートをインストールする
  • Windows 10 をクリーンインストールする
  • 電源オプションの AHCI Link Power Management-HIPM/DIPM を Active に設定する


参考にしたコンテンツ

Windows 8 ssd freeze "Reset to device, \Device\RaidPort0, was issued."
https://social.technet.microsoft.com/Forums/windows/en-US/fa9f69d6-ba08-4895-a2bb-4741c05d5fbf/windows-8-ssd-freeze-reset-to-device-deviceraidport0-was-issued?forum=w8itproperf
レジストリの NoLPM に SSD の名前を登録するとその SSD に LPM のコマンドが発行されなくなるようです。
つまり特定の SSD をWindows のシステムドライブにすると LPM (省電力管理)に問題が起きてプチフリーズが起こるようです。



関連ブログ

Windows 10 Creators Update をクリーンインストールする方法
[ThinkPad] ノートPCのハードディスクをSSDに交換する方法
フリーズ(文鎮化)したCrucialのSSDが復旧するまで

2018年1月13日土曜日

[Unity3D] オリジナルキャラクターにユニティちゃんのスクリプトを設定する方法

How to attach UnityChan assets to original charactors

Unity3D ゲームエンジン(以下 Unity)にオリジナキャラクターをインポートして「ユニティちゃん」と同じように操作できる方法をまとめました。
応用すれば MikuMikuDance 用のモデルにも適用できます。(下の画像)
blog.fujiu.jp  [Unity3D] オリジナルキャラクターにユニティちゃんの動作を設定する方法
アイティオール株式会社が公開したモデルを MMD4Mechanim で Unity にインポートしました


環境

  • Windows 10
  • MakeHuman 1.1.1
  • Unity 2017.3.0f3


オリジナルの人物モデルを作る

手っ取り早くオリジナルキャラクターを作るため人物のモデリングに特化した無料の MakeHuman を使いました。
MakeHuman のライセンスは AGPL3 ですが作ったモデルのライセンスは CC0 で利用できるようです。
キャラクターのデザインは自由ですが次の設定をしておくと Unity にインポートした後の不具合が少ないと思います。
  • Pose/Animate - Skelton は Cmu mb に設定する
  • Pose/Animate - Pose は Tpose に設定する
特に Skelton は Game engine に設定したら Unity にインポートした後「Required human bone 'Hips' not found」のエラーでリギングできなかったので要注意です。

キャラクターが完成したら
File - Export
で Filmbox (fbx) を選択して名前をつけて FBX ファイルにエクスポートします。


Unity にオリジナルモデルをインポートする

MakeHuman でエクスポートした FBX ファイルをサブフォルダーごと Unity の Project ウィンドウにインポートします。

Project ウィンドウの先ほどインポートした FBX ファイルを選択して Inspector の Rig の Animation Type を Humanoid に変更し Apply をクリックします。


Unity に "Unity-chan!" Model をインポートする

Asset Store から無料でダウンロード出来る "Unity-chan!" Model をインポートします。
このアセットのアニメーションやスクリプトをオリジナルキャラクターで動作させます。


オリジナルキャラクターに "Unity-chan!" のスクリプトを適用する

Project ウィンドウのオリジナルキャラクターを Hierarchy にドラッグ&ドロップします。

Hierarchy ウィンドウのオリジナルキャラクターに Project ウィンドウの
Assets - UnityChan - Prefabs - for Locomotion
の以下の3つのプレファブを追加します。
  • CamPos
  • FrontPos
  • JumpPos

オリジナルキャラクターの Inspector に Project ウィンドウの
Assets - UnityChan - Scripts
の UnityChanControlScriptWithRgidBody というスクリプトを追加します。
RgidBody と Capsule Collider が自動で追加されます。
RgidBody の Freeze Rotation の X・Y・Z をすべてオンにします。
Capsule Collider はキャラクターに合わせて大きさと位置を調整します。

オリジナルキャラクターの Inspector の Animator の Controller を UnityChanLocomotions に設定します。

Hierarchy の Main Camera に Project ウィンドウの
Assets - UnityChan - Scripts
の ThirdPersonCamera を追加します。

これで完了です。
地面がないと落下し続けるので Plane を追加して Mesh Corider をつけて地面として設置しました。
実行するとユニティちゃんと同じ動作をします。
カーソルキーで移動、走っている最中にスペースキーでジャンプします。


関連ブログ

MakeHumanでCLIP STUDIO用3Dキャラクターを作る方法
ゲームのグラフィックや音声を吸い出す方法 (Unity Assets Bundle Extractor)
[Blender] ManuelbastioniLAB でCLIP STUDIO用キャラクターを作る方法
Unity3D のC#スクリプトを Visual Studio Code で編集する方法