無料なだけでなく、みんなが自由に使える オープンソースソフトを使い方の解説します。

2008年6月3日火曜日

Audacityを使ってWavの音量を整える


Youtubeなどの動画共有サイトへ動画を投稿する場合やPodcastingする場合や、
WavをVocaloidMIDIに変換する場合も、
元の音声のボリュームが小さいと何かと不便です。

ここではオープンソースの音声編集ソフト Audacityを使って、音量を調整する方法を説明します。

ようするに、Audacityの効果/圧縮を使うだけです。

まずは、AudacityはWavかMP3しか開けませんので、
acky ドロップ WavアンドMP3でWav音声変換で楽々変換などで、Wav音声に変換します。

そのWavファイルをAudacityで開いたら、 左上辺りをクリックかCTRL+Aですべて選択します。



そしてメニューから効果/圧縮を選びます



するとダイナミックレンジの圧縮というダイアログがでます。
この圧縮というのは増幅と違って、小さい音は大きく、大きい音は小さくします
最初は特にきにせず、そのままの設定でお使いください。
音が大きすぎると感じたら少し閾値を左へ動かしてください


OKをクリックすると
すると少し時間はかかりますが、波形が綺麗に枠に収まるように調整されます。
注意事項は、ノイズも大きくなるので、Wav 音声のノイズを除いて綺麗な音にするのような作業が別途必要なこともあります。
録音に少し失敗して音が割れているようなものも、

圧縮をすれば多少はましになります。


2008年2月26日火曜日

Makehumanの人体モデルに髪の毛をつける その1

ここでは、オープンソースの人体モデリングソフト Makehumanに初心者向けに、手抜きの髪の毛をつける方法を説明します。
髪の毛を付けるには無料で使える、オープンソースの3Dソフト Blenderを使います。
Blenderの簡単な使い方はチュートリアルページなどを見てマスターしておいてください。
チュートリアルをマスターしたら、この解説記事必要ないという気もしますが、何かの参考になれば!

本格的な髪の毛をつけたい場合は、JDBP - Blenderでのヘアー・毛・羽をどうぞ

手抜きで毛を作成する

まずはMakehumanでobjをexportしたのを、Blenderから File/import/wavefront(.obj) で読み込みます。サイズが小さいので、適当にリサイズします。(sキーをつかうといいです)


球体で髪の毛にする

一番の手抜きですが、スペース から Add/Mesh/UV Sphereで球体を追加して、適当に大きさと位置を合わせます。小学生にはこういう人いるかもしれないですね、、。


立方体で髪の毛にする

まずは、スペースから add/mesh/cube で立体を追加します。


Tabキー押して Editモードにして、Aキーなどで全選択された状態から、WキーからSpecial/Subdivided smoothを2回します。これで位置を合わせると十分な感じになります


円から髪の毛を作る

もう少し微妙なカーブを出したい場合は、スペースからAdd/Mesh Circleで円を作成して、点を微妙にずらして、頭の形にして、真ん中にフェースを張ります
Editモードにして、全選択で、Eキーを押してExtrude/Only Edgesにして、右クリックで解除して、Alt+MでMerge/At Centerします。



あとは、この点を全部選択して、EキーでExtrude/Region して頭のサイズにあわします。

あとはこれをEditモードから Wキー押して、Special/Subdivided smooth で滑らかにします


点を移動させて、サイドに変化をつけてもいいです。

うなじを作成

後ろからの絵が気になる場合は、先ほどの円のときに、うなじをへこませておきます。


同じように、Extrudeして、Smoothすると、微妙に凹みができます。


あとは、点を、移動させて頭に合わせます。

2007年10月19日金曜日

FFMpegで連続画像から動画を作成する

オープンソースソフト FFMpegを使って複数の画像から動画を作成する方法を説明します。

スライドショーなどを作成することが可能です。
ただMS-DOSを使いますので多少難しいです。
他には、テキスト動画で連番画像から動画を作成するの方法などがあります。

注意事項ですが、画像のサイズはすべておなじで、またファイル名は1から始まる規則的な数字連番でないといけません。
(image0001.jpgや001.pngなど)


Avi動画にする
ffmpeg -i "c:\tmp\image%05d.jpg" -vcodec mjpeg -sameq out.avi
というコマンドを実行します。

最初の-i "c:\tmp\image%05d.jpg"では入力画像ファイルを指定しています。
ここで重要なのが%05という部分です。これは5桁で数字は調整されているという意味です。
(image00001.jpgやimage00100.jpg)

そして次の-vcodec mjpegですがこれは、Motion JPEGという映像コーデックを使うという意味です。素材がJPEG画像の場合、mjpegを使うと変換速度が速くなります。
そして次の-sameq は素材と同じ画質という意味です。
そして最後のout.aviが保存先となります。

またこの設定ですと、動画のサイズは画像と同じで、フレームレートは25fpsになります。

サイズを変更する
サイズを指定するためのオプション(-s)を追加します。
ffmpeg -i "c:\tmp\image%05d.jpg" -vcodec mjpeg -sameq -s 640x480 out.avi
-s 640x480を出力先の前に追加することで、動画の画面サイズを640x480に変更できます。

フレームレート(fps)を変更する
フレームレート25はスライドショーとしては早すぎるので、1秒に1枚表示するようにするには、フレームレートを1にするように指定します。
ffmpeg -r 1 -i "c:\tmp\image%05d.jpg" -vcodec mjpeg -sameq out.avi
これは-r 1というオプションを入力の前に追加します。このオプションは1秒間に何枚画像を表示するかです。4秒に表示したい場合は、-r 0.25とします。

2007年10月12日金曜日

FFMpegで動画を画像にする

オープンソースソフト FFMpegを使って動画を一コマごとの画像にする方法を説明します。

画像にすると印刷やホームページ用の1コマを見つけやすくもなります。

ただし、動画の再生時間にもよりますが、数ギガの容量が必要になることがあります。
また、この方法を使うには、MS-DOSの知識が必要です。
テキスト動画で動画をJPEG画像にするというやり方もあります。


JPEG画像にする
ffmpeg -i "c:\tmp\smile.flv" -f image2 -vcodec mjpeg "c:\tmp\image%05d.jpg"
というコマンドを実行します。

最初の-i "c:\tmp\smile.flv"では入力ファイルを指定しています。
-f image2 -vcodec mjpeg ではJPEG出力を指定しています。
最後の"c:\tmp\image%05d.jpg"で保存先を指定しています。
%05dは5桁の数字という意味です。

1秒あたり30コマの1分の動画ですと
c:\tmp\ というフォルダーに image00001.jpgからimage01800.jpg ができます。


JPEGの高画質画像にする
先ほどのJPEG画像にする方法に品質を決めるオプションを保存先の前に追加します。
ffmpeg -i "c:\tmp\smile.flv" -f image2 -vcodec mjpeg -qscale 1 -qmin 1 -qmax 1 "c:\tmp\image%05d.jpg"
これでだいたい品質90%ぐらいになると思います。(品質100%の方法は不明です)

PNG画像にする
PNGの場合は、出力形式をPNGと指定します。また保存先のファイル拡張子も.pngとします。
ffmpeg -i "c:\tmp\smile.flv" -f image2 -vcodec png "c:\tmp\image%05d.png"

PNGは画質は一番いいはずですが、若干変換に時間がかかります。また画像のファイルサイズはJPEGの高画質よりもさらに大きくなります。

コマ数を減らす
1秒あたり30コマの1分の動画で、1800枚も画像ができるのは多すぎると思ったら
別途1秒辺りに画像を何枚作成するか指定できます。
例えば1秒あたりに、1枚ですと 次のように指定します。
ffmpeg -i "c:\tmp\smile.flv" -f image2 -vcodec mjpeg -r 1 "c:\tmp\image%05d.jpg"
すると、60枚画像が作成されます。
少数点(0.1)を指定すると、さらに少ない数だけ作成します。

2007年10月9日火曜日

PSP画面ズームで最高画質の動画を作る

世の中には、私みたいに、PSPへTV比率(4:3)の動画を再生時には、ズームでしか見ない人がいると思います。
そういう人の場合最初からズーム時のサイズで動画を作った方が高画質です。
ここではオープンソースソフト FFMpegで作成する方法を説明します。


ちなみに、akJ Betasの
ドロップFFMpeg を使うと簡単な操作でできます。

ffmpegを使った経験がなければ、難しいのですが
Googleで検索すれば、だんだんわかってきます。

通常の変換との違いは、動画の上下の不必要の部分を切抜きするだけです。

ただし、動画のサイズによって切抜きする量が異なります。
動画的に画面サイズは16で割れる数値が好ましいので中途半端な値になります。


ニコニコ動画でよく使われる画面サイズ512x384の動画の場合は、PSP画面サイズ(16:9)にするには、まずは512x288に切り抜く必要があります。
これは上下48づつ切り抜きますので
-croptop 48 -cropbottom 48 を-s の前に追加します。

元の動画がAvi動画でよくある画面サイズ640x480の場合は、PSP画面サイズ(16:9)にするには640x360に切り抜く必要があります。
これは上下60づつ切り抜きますので
-croptop 60 -cropbottom 60 を-s の前に追加します。

元の動画がYoutubeでよくある画面サイズ320x240の場合は、PSP画面サイズ(16:9)にするには320x180に切り抜く必要があります。
これは上下30づつ切り抜きますので
-croptop 30 -cropbottom 30 を-s の前に追加します。


ニコニコ動画の場合はコマンドはこうなります。
ffmpeg.exe -y -i "C:\smile.flv" -f psp -flags +bitexact -b 768k -ar 48000 -vcodec h264 -acodec aac -level 21 -r 29.97 -bufsize 224k -ac 2 -coder 1 -ab 128k -maxrate 768k -croptop 48 -cropbottom 48 -s 480x270 "C:\smile.mp4"

意外とこれだけでも結構いい画質になります。

2007年9月28日金曜日

DVD字幕をVSConvで画像にしてみよう!

画像にすると普段使っている画像閲覧ソフトで字幕が見られて便利です。
他にもいろいろ面白い使い道があるかもしれないですね!

ただし、この方法はMS-DOSを使いますので初心者には難しいかもしれません。

このような画像になります。

DVDから字幕の取り出しには、オープンソースのDVD字幕取り出しソフト VSRipを使います。
取り出したVOBSUB(idx/sub)字幕から画像への変換には、オープンソースのVOBSUB字幕変換ソフト VSConvを使います。

どうにか、VSRipを使ってVOBSUB(idx/sub)字幕を取り出したら
MS-DOSを開きます
そして、VSRipがあるフォルダーへMS-DOS上でディレクトリーを移動させます。

あとはそこからVSConvのコマンドを入力します。
idx/subに字幕が1つしか含まれていない場合は
以下のようにコマンドを実行します。

画像としては一番普通のwinsubmux形式とします。
他に、maestroという形式もあります。(こっちの形式は画像サイズが720x480なので色が変です)


また字幕の場所はc:\tmp\字幕jimaku.idx とします。
字幕の保存ベース名もc:\tmp\字幕\jimaku とします。


vsconv -f winsubmux -i "c:\tmp\字幕jimaku.idx" -o "c:\tmp\字幕jimaku"

すると、c:\tmp\字幕\ フォルダーの中に sub_000001.bmpから始まるBMPファイルができあがります。

1つのVOBSUB字幕ファイルに複数の字幕がある場合は何番目の字幕を取り出すかを指定して字幕をとりだします。
この場合上記のコマンドにidオプションが付きます。
(ここがややこしいのですが、番号は0から数えます。つまり1番目の字幕は0となります。)

idは1とします。(2番目の字幕を取り出し)
以下のようなコマンドになります
vsconv -f winsubmux -i "c:\tmp\字幕jimaku.idx" -o "c:\tmp\字幕jimaku" -id 1

id番号の見つけ方
通常はパッケージに字幕1は日本語で、字幕2は英語とか書かれていますので、そこから1を引いた番号がidとなります。


それ以外には、変換元の .idxファイルをメモ帳で開いてみるといいです。
以下のように、idの所に、indexという形で書かれています。

# Japanese
id: ja, index: 1
# Decomment next line to activate alternative name in DirectVobSub / Windows Media Player 6.x
# alt: Japanese
# Vob/Cell ID: 2, 1 (PTS: 0)

2007年9月24日月曜日

VSRipをコマンドラインから使う

オープンソースのDVD字幕取り出しソフト VSRipの自動処理をしたい人に最適です。(初心者には必要ない知識です!)

MS-DOSから 以下のようなコマンドを使います。
VSRip setting.txt 
このsetting.txt(ファイル名はなんでもいい)に設定を書きます。

設定ファイルの仕組み
1行目には、取り出す字幕のIFOファイルを指定します。
2行目には、保存先のベース名を指定します。このベース名に.idxと.subがついたファイルが出力されます。
3行目には、 1 と書きます。ここはプログラムチェーン(PGC)を指定する箇所なのですが、通常1以外ないです。
4行目には、0 と書きます。ここはアングルを指定する箇所ですが通常アングルを含むDVDはありません。
5行目には、取り出す字幕を指定します。通常、ALL ですべて取り出すか、番号を指定して指定の字幕を取り出します。
6行目には、終了後の動作を指定します。CLOSEで閉じます。SHOWでそのままダイアログが出たままになります。
普通は、CLOSEとします。(本来は、ここでenとかjaで言語を選択できるはずなのですが機能しません)


設定ファイル例
すべての字幕を取り出す。

d:\VIDEO_TS\VTS_01_0.IFO
C:\tmp\字幕テスト
1
0
ALL
CLOSE


これと同じです。


字幕を選択して保存

d:\VIDEO_TS\VTS_01_0.IFO
C:\tmp\字幕テスト
1
0
2
CLOSE


これと同じです。



設定ファイルに間違いがある場合 Error parsing parameter file!というダイアログが表示されます。
設定ファイルを見直しましょう。間違ったIFOファイルを指定した場合もこのダイアログがでます。


より詳しくは、英語ですが、以下を見てみてください。
http://forum.doom9.org/archive/index.php/t-54723.html

質問 掲示板