Ver1.4.1の開発フェーズで、macOS版AGMPlayerに続き、macOS版AG-ムービーカッターの更新版のリリース準備中なのだが、数日前に書いていた音声再生速度の低速化時に行うピッチ補正処理のマルチスレッド化も行った。Late2014では、約100秒のAGM形式動画の速度を0.1倍速に落とし、ピッチ補正も適用しつつ、音声のみWav形式で出力した所、処理完了に約15分程度かかっていた。100秒の動画を0.1倍速にした場合、その動画時間は1000秒=16.7分なので、15分で処理できれば、リアルタイム再生も可能なのだが、ギリギリだったので、ピッチ補正処理をマルチスレッド化してみた所、約7分で処理が終了する様になった。処理時間は約1/2に短縮されたのだが、これは、マルチスレッド化といっても、2スレッドの同時動作しか行わせていないからだ。4スレッド化すれば、更に、2倍程度の時間短縮も可能かもしれないのだが、再生速度の低速化処理というのは、あまり使う処理ではない筈だし、使うとしても、普通は、映像のエンコードも同時に行うであろう事を鑑みれば、音声側だけ頑張ってみても仕方ないかなあ、という事で、簡単に実現可能だった2スレッド化のみを行った訳だ。具体的には、処理時間の大半はFFTの処理時間なので、オーバーラップFFT用の2個のFFT処理をマルチスレッド化して同時に2つずつ同時動作させる格好にした。数日前に書いた様に、0.5倍速以下に速度を落とす場合には、オーバーラップFFTを2段行うので、これらを全て同時動作させる格好にすると、4スレッド化も容易ではあるのだが、まだまだ、巷の多くのCPUは2コア4スレッドの筈なので、下手に4スレッド化すると、逆に遅くなるケースも出てくるので、あまり無理はしない事にした訳だ。言う事で、やると書いてあった事は大体はやった筈なのだが、このブログでは「やる」と書いていて、詳細については書いていなかったモノとしては、トランジションの効果の「gifマスク」というモノもあった。この効果は、少し前の記事に書いてある様に、AmuseGraphics本体のスライドショー機能と同様に、ユーザー指定の、アニメーションgifファイルに描かれている赤の部分と青の部分に従って、新旧動画のどちらを表示するかを決める効果だ。具体的には、AmuseGraphics本体には、サンプルとして、blind.gifというファイルが同梱されているのだが、このアニメーションgifファイルを指定すると、窓のブラインドが開く様に、旧動画から新動画に段々と映像が切り替わっていく。詳細を書いておくと、動画の解像度やトランジション時間に合わせて、毎回、アニメーションgifファイルを作るのも面倒な筈なので、アニメーションgifの解像度はトランジション映像のサイズに自動的に拡大/縮小されるし、使用するフレームも、トランジション時間の中での当該位置の割合によって、自動的に決められるので、トランジション時間分のフレームを用意していなくても、最初から最後までが使われる格好になる。ちなみに、実装が容易にできたので、このブログには殆ど書いていなかったのだが、今回の更新では、「ズーム領域の管理」機能も追加していて、この機能を利用すれば、動画制作時の使い勝手は大きく向上する事になる筈だ。具体的には、今までも、性能的に問題がないなら、デスクトップ映像なんかは、とりあえず、全画面録画しておき、後から、「トリミング」機能で必要な部分のみを切り出す事はできた。ある特定期間のみ、その部分を拡大したい様な場合には、動画を3個に分割し、その時間領域のみ、トリミングしてから、再度、それらの動画を連結する必要があったのだが、「ズーム領域の管理」機能を使えば、分割や連結は不要になるし、ズームする時に、移行時間を指定して滑らかに倍率を変更させる事も出来る。ズームの開始/終了時点での、対象領域と倍率を指定可能にしてあるので、例えば、倍率はどちらも2倍にしつつ、対象領域を別にしておけば、開始〜終了時点まで、2倍の倍率にした映像で、オリジナル映像をパンする事も可能になっている。Ver1.4.1は、現行バージョンと比べると、結構、高機能なソフトになっている。Adsense)サービスを利用しています。使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。パートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。