2015年8月29日土曜日

ProTools First のwavファイルはPlaySound関数で再生できるか?

ProTools exports bad wav files
録音スタジオで広く使われているオーディオ編集ソフト・ProToolsの無料版「Pro Tools First」が公開されました。

突然ですが2013年の話をします。
IT系コミュニティ・プログラミング生放送勉強会ではマスコットキャラクターのプロ生ちゃんボイスを公開しているのですが、プロ生ちゃんボイスがWindows APIのPlaySound関数で再生できないとう問題がありました。
プロ生ちゃんの音声がWindows サウンド設定で再生されない問題 - 桜、抹茶、白、日記
http://d.hatena.ne.jp/youandi/20130911/p1

再生できないプロ生ちゃんボイスはProToolsでエクスポートされたwavファイルらしいことは分かっていたのですが、当時はProToolsが手元になく検証できませんでした。
wavファイルの書き出しは要注意 [CUBASE][StudioOne]

ProTools Firstを入手方法してProToolsのwavファイルがPlaySound関数で本当に再生できないのか検証してみました。


環境

ProToolsのインストール先
・Windows10
・PC内蔵オーディオ + ASIO対応オーディオインターフェイス
・iLokなし

PlaySound関数の実行環境
・Windows8.1


ProTools Firstを予約する

ProTools Firstを入手するには下記のサイトから予約する必要があります。
http://connect.avid.com/ProToolsFirst-Register.html
ProTools Firstがダウンロードできるようになるとその旨のメールが届きます。
自分の場合2015年2月に予約して2015年8月にダウンロードできるようになりました。


Avid用アカウントを作成する

ProTools Firstをダウンロードするには下記のサイトからAvidにアカウント登録する必要があります。
https://www.avid.com/JP/account/orientation?returnUrl=%2fJP%2faccount
登録したメールアドレスとパスワードはProTools Firstの起動時にも必要です


ProTools Firstをインストールする

ProTools Firstはzipファイルで公開されているのでダウンロードしたら解凍し、Setup.exeをダブルクリックしてインストールします。
この画面の「Pro Tools Firstをインストール」をクリックします。

追加のアイテムをインストールするそうです。

デバイスソフトウェアもインストールされます。

この後何も画面表示されないのですが、もう一度この画面の「Pro Tools Firstをインストール」をクリックします。

ProTools Firstのインストールが始まります。
インストールはウィザード形式で進んでいきます。

インストール中に別のデバイスソフトウェアがインストールされます。

この後再起動が必要になります。再起動後スタートメニューにPro Tools Firstが追加されます。

起動してサインインを求められるのでEメールとパスワードにAvidアカウントに登録したものを入力します。

ようやく起動できるようになりましたがオーディオインターフェイスに空きがないとエラーになります。
なかなかハードルが高いです。

ASIO対応オーディオインターフェイスをつなげたら起動できました。

ProTools Firstが使えるようになるまでにファイアウォールのホワイトリストが3つ追加されてました。


ProToolsでwavファイルをエクスポートする

ProToolsで新規プロジェクトを作成してwavファイルをエクスポートしてみます。
ちなみにProTools Firstはプロジェクトの保存先がクラウド限定で、起動するときはネットに接続しておかないと新規プロジェクトの作成ができないようです


エクスポートはCD音質の設定にしました。
ファイルタイプ : WAV
フォーマット : インターリープ
ビットデプス : 16ビット
サンプルレート : 44.1kHz

wavファイルにはWAVフォーマットとそれを拡張したBroadcast Wave Formatとがあり、どちらもファイルの拡張子はwavです。
ProToolsでエクスポートできるwavファイルはBroadcast Wave Formatのみのようです。


wavファイル再生アプリを作る

Windows APIのPlaySound関数を使ってwavファイルを再生するアプリを作ります。
Visual Studio Communiy 2013のVisual C++で作りました。
wavファイルのフルパスをコマンドライン引数で指定すると再生する仕様です。

SimpleWavPlayer.cpp


ビルドするには
プロジェクト - (プロジェクト名)のプロパティ - 構成プロパティ - リンカ - 入力 - 追加の依存ファイル

winmm.lib
を追加する必要があります。

追加の依存ファイルを忘れると下のエラーが出てビルドできません。



結果は再生できず

ProTools Firstで書き出したwavファイルはMedia Playerでは再生できますが、PlaySound関数で再生すると「システム通知」に設定されたポーンという警告音が鳴るだけでした。
ですがPlaySound関数は「成功」の戻り値1(TRUE)を返します。

MSDNによると
指定されたサウンドが見つからなかった場合、PlaySound 関数はシステムイベントに対応する既定のサウンドイベント(一般の警告音)を使います。システムの既定のサウンドイベントと既定のサウンドのどちらも設定されていなかった場合は、サウンドを再生せずに FALSE を返します。
とのこと。
https://msdn.microsoft.com/ja-jp/library/Cc428768.aspx

PlaySound関数はProTools Firstで書き出したwavファイルをサウンドとして認識できないのか見つからなかったことになり成功を返すようです。


CUBASEのwavファイルは再生できる

全く同じ音源をCUBASE Pro 8でwavファイルに書き出してみました。

CUBASEで書き出した場合はWAVだろうがBroadcast Wave Formatだろうがちゃんと再生され、戻り値に「成功」の1(TRUE)が返ってきました。


まとめ

これらの結果から次の仮説を立てました。
  • ProToolsでエクスポートしたwavファイルがPlaySound関数で再生できないのはProToolsのバグ
    (Avidが修正すれば再生できる可能性がある)
  • PlaySound関数がwavファイルを再生できないのに成功を返すのは仕様
    (MSDNに書いてある通り。仕様を変えると互換性がなくなる)
ProToolsは録音スタジオでのシェアが大きいそうで、録音スタジオにオーディオデータを発注するとProToolsのwavファイルで納入されると思います。
しかもProToolsのwavファイルはWindows Media Playerでは正常に再生できてしまうので気付きにくいです。
さらにPlaySound関数はwavファイルを再生できなくても成功を返すのでテストフレームワークを使ってもパスしてしまいそうです。

フリーソフトのSoundEngine Freeで変換したwavファイルはPlaySound関数で再生できることが分かってます。
Windowsアプリにwavファイルを組み込むときはSoundEngine FreeやCUBASEなど他のDAWで変換したファイルを組み込んだほうが良さそうです。


関連ブログ

wavファイルの書き出しは要注意 [CUBASE][StudioOne]
CUBASE Pro 8を使ってみました
CUBASE Pro 8 トラブル対策
[CUBASE] 「突然音が出なくなった」を解決する
[CUBASE][StudioOne] 音の遅れ(レイテンシー)の原因を探る
[VOCALOID4] 巡音ルカV4Xを使ってみました
VOCALOID4に対応したピアプロスタジオを使ってみました
VOCALOD4 Editor for CUBASE (V4版ボカキュー)を使ってみました

以上、参考になれば幸いです。

2015年8月22日土曜日

Visual Studio Community 2015 をISOファイルからWindows10にインストールする方法

How to install Visual Studio 2015
2015年8月、Visual Studio Community 2015 が正式リリースされました。
Visual StudioシリーズはWindows用ソフトウェア開発ツールです。長い歴史を持ち、ここでは説明しきれないほどの機能を備えています。
Visual Studio Community 2015は有償版Visual Studio Professional 2015とほぼ同じです。
個人、または学生、またはオープンソースソフトウェア開発者、または開発者が5人以下の企業などの条件を満たしていれば無料で使えます。
詳細は下記URLにて
https://www.visualstudio.com/support/legal/dn877550

Windows10にインストールしたのでその手順をまとめました。


インストール先の環境

・Windows10


ISOファイルのインストーラーをダウンロードする

複数のPCにインストールしたいのでインストールに必要なファイルがアーカイブされたISOファイルをダウンロードします。

下記URLを開きます。
https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx
なぜかダウンロードボタンが隠されているので「Visual Studio downloads」の下の方にある「Visual Studio 2015」をクリックします。
blog.fujiu.jp Visual Studio Community 2015 をISOファイルからWindows10にインストールする方法

「Visual Studio Community 2015 - Free」の下にある項目を
Choose language: 日本語
Choose format: ISO
に設定してDownloadボタンをクリックします。
このファイルのダウンロードは2時間くらいかかりました。

その下に「Visual Studio 2015 Language Pack」も用意されてますが、日本語のISOファイルをダウンロードして日本語版で使用する場合は不要です。


ISOファイルをマウントしてインストールする

ダウンロードした vs2015com_jpn.iso をダブルクリックするなり右クリックメニューのマウントを選ぶなりしてマウントします。
※Windows7以前のWindows OSは初期状態のままではISOファイルをマウントできません。Daemon Toolsのようなサードバーティー製仮想ドライブを使うか、7-ZipなどでISOファイルを解凍してください。
マウントして追加されたドライブのvs_community.exeを実行するとインストーラーが起動します。
ISOファイルからのインストールの場合でも一部のファイルはダウンロードするそうで、完全なインストールにはネット接続が必要でした。

インストール先の場所と機能を選択します。
今回はインストールしたい機能を選びたいのでカスタムを選択しました。

機能を選択して次へ。
メモリーがDDR2世代の遅いPCだと3時間経ってもインストールが終わる気配がありませんでした。
必要最低限の機能だけ選んだ方がいいと思います。

ライセンス条項に同意したら次へ。

インストールが始まります。

数時間かけてインストールが終わりました。

早速起動します。マイクロソフトアカウントでサインインします。

Visual Studio Onlineは使わないので「後で行う」にしました。

無事に起動しました。

ダウンロードから起動できるまで、今までのVisual Studioで一番時間がかかりました。
PCの処理能力にもよると思いますがインストールだけで1日かかるつもりで予定を立てた方がいいと思います。


Visual Studio 2015 Tools for Unity

Visual Studio 2015をゲーム開発ツール・Unity3Dのスクリプトエディターとして利用するためのツールはこちらで公開されています。
https://visualstudiogallery.msdn.microsoft.com/8d26236e-4a64-4d64-8486-7df95156aba9

このブログを書いている時点での最終更新日は2015/07/24なのでVisual Studio 2015 RTMの時代に公開されたもののようです。


関連ブログ

[Windows10] 古いパソコンをフォーマットしてWindows10をクリーンインストールできるか?
[Unity3D] Visual Studio 2013 Communityを日本語化してUnityアプリを作る
Windows10のバックアップと復元を使ってみました

以上、参考になれば幸いです。

2015年8月15日土曜日

Windows10のバックアップと復元を使ってみました

How to recover Windows10 files from the backup image file
パソコンのファイルを誤って消してしまったり、パソコンの故障により取り返しが付かなくなった経験があります。
そんな経験のおかげで定期的にハードディスクの内容を丸ごとイメージファイルとしてバックアップすることが習慣になり、誤って消したファイルを復元して事なきを得たことがあります。
Windows OSにはバックアップ機能があるものの、Windows8では「Windows7のファイルの回復」というちぐはぐな名前になり、Windows8.1ではそれさえコントロールパネルから無くなってしまいました。
ショートカットの名前や場所が変わったただけのようですが将来サポート続くかが不安なので、今はサードパーティ製のバックアップソフトを買って使っています。

Windows10のイメージバックアップ機能がどうか変わったの試してみました。


環境

・Windows10
・外付けハードディスク (NTFSでフォーマット済み)


試してみた復元手順

次のような手順を試します。
  1. Windows10のバックアップでバックアップイメージファイルを外付けハードディスクに保存する
  2. 別のPCでバックアップイメージファイルから特定のファイルのみを復元する
blog.fujiu.jp Windows10のバックアップと復元
この手順がうまくいけばWindows10のPCが故障してもバックアップから必要なファイルのみを復元できるはずです。


Windows10をバックアップする

Windows10のデスクトップに適当なファイルを作りました。
今回はこのファイルを別のPCで復元できるかを試します。

Windows10のバックアップはコントロールパネルの
更新とセキュリティ - バックアップ
にあります。
イメージバックアップをするには「[バックアップと復元]に移動 (Windows7)」をクリックします。
相変わらずちぐはぐな名前です。

この先はWindows7の操作方法と全く同じでした。
システムイメージの作成をクリックします。

バックアップの保存場所を選びます。外付けハードディスクを選びました。

イメージバックアップを保存するドライブを選択します。

バックアップの開始をします。

終了するまで待ちます。

バックアップしたドライブに
\WindowsImageBackup\(マシン名)\Backup (日付と6桁の数字)
というフォルダーが追加されます。
この中の拡張子が vhdx というファイルがイメージバックアップされたファイルです。

別のPCでバックアップから復元する

バックアップで作成したイメージファイルをWindows8.1で復元します。
vhdx ファイルをダブルクリックするか、右クリックのマウントをクリックします。
すると、とても不親切なエラーメッセージが表示されます。

エクスプローラーのマイコンピューターを右クリックして管理を開き、ディスクの管理でを開きます。
ボリュームに水色のアイコンがあるのでそれがマウントしたvhdxファイルです。
右クリックしてドライブ文字とパスの変更でドライブレターを割り当てます。

これでドライブが一つ増えるはずです。
増えたドライブの
\Users\(ユーザー名)\Desktop
を開いたら今回復元したかったファイルを復元することが出来ました。

マウントしたvhdxファイルのマウントを解除するにはエクスプローラーでドライブを右クリックして取り出しをクリックします。

Windows7のバックアップから何も変わってませんでした。


サードパーティ製バックアップツールとの違い

サードパーティ製バックアップツールはたくさんの種類があります。
自分が使っているParagonはバックアップファイルを細かく世代管理できるサイクルバックアップ機能があります。
さらに4GB以上のファイルを保存できないFAT32フォーマットのハードディスクやNASに大容量のイメージファイルをバックアップできるよう4GB以下の複数のイメージファイルに分割して保存する機能などがあります。
何かと便利なParagonですが、その分マニュアルを熟読する必要がありますし、Windowsのバージョンアップに合せてバージョンアップするには費用がかかります。
簡単に操作できて無料で使えるWindowsのバックアップでも「ファイルを復元する」という目的は達成できました。


関連ブログ

古いパソコンをフォーマットしてWindows10をクリーンインストールできるか?
[Windows8] Paragon Hard Disk Manager (サードパーティ製バックアップソフト)

以上、参考になれば幸いです。

2015年8月8日土曜日

[動画編集] VegasPro / MovieStudioで水玉模様の切り抜きをする方法

How to clip polka dots out of the movies
VegasProでは難しいと思っていた切り抜き加工が思ったより簡単にできたのでその方法をまとめてみました。
Adobe PremiereやAviUtlのクリッピングのような編集です。


環境

・Windows8.1
・VegasPro13 Build453
※VegasProの廉価版・Movie Studioと共通のビデオエフェクトを使うので同じことが出来ると思います。


素材

素材としてプロ生勉強会のマスコットキャラクター・プロ生ちゃんのイラストを使いました。
http://pronama.azurewebsites.net/pronama/download/
プロ生ちゃんは著作権が緩めで、無料の素材が豊富に用意されています。


手順

タイムラインにイラストを取り込みます。
イラストはPhotoShop用のpsd形式のファイルで公開されていますが、VegasProはそのまま読込むことが出来ます。

タイムラインにビデオトラックを挿入します。
VegasProのビデオトラックは上から順に描画されるので、プロ生ちゃん素材のトラックより上に挿入してください。

挿入したビデオトラックにメディアジェネレーターの単色を追加します。
これで完全にプロ生ちゃんが隠れました。
※今回は単色を使いましたが画像や動画で隠すこともできます。

単色にイベントFXを追加します。

プラグインチューザーで「Sony クッキーカッター」をダブルクリックしてOKをクリックします。

ビデオイベントFXウィンドウが表示されます。
デフォルトだと方法が「選択部分以外をすべて切り取る」になっています。これを「選択部分を切り取る」に変更します。

これで円形の切り抜きが出来ました。
形状を変えれば菱形や矢印などに変えられます。


アニメーション

クッキーカッターの各パラメーターはアニメーションに対応しています。
ビデオイベントFXウィンドウの各パラメーター右側の時計のマークをクリックするとビデオイベントFXウィンドウの下のタイムラインが表示され、そこにキーフレームを打てるようになります。

GIFアニメーションにしました。PCで見ないと動かないかもしれません。

今回はクッキーカッターを一つだけ使いましたが、クッキーカッターをたくさん使って切り抜くことも出来ます。



関連ブログ

[GIMP] GIFアニメーションの作り方
[Android] Google Cardboard用の立体視動画をVegas Pro/Movie Studioで編集する
[動画編集] Movie Studio 13 でVSTプラグインを使ってみました
[動画編集] Vegas Pro 13とMovie Studioを比べてみました
[動画編集] MMDとMovie Studioでステレオスコピック3D動画を作る
[Unity3D] ゲーム画面をキャプチャしてMovie Studioで動画に編集する

以上、参考になれば幸いです。