ライン入出力を使ってスマホでピアノ演奏動画を撮るまで
今年の3月にピアノを習い始めました。 自分の成長の過程を残しておきたくて時々録音をしていたのですが、知り合いがピアノの練習動画をインスタにアップロードしているのを見て、自分も動画を撮りたくなりました。
動画を撮るまでに色々やることがあり、少し大変だったのでやったことをメモします。
なお私はピアノもオーディオ周りも完全に初心者です。適当なことを書いているかもしれません。
やりたいこと
- 電子ピアノの演奏動画を取りたい
- 集合住宅なので音を外に漏らしたくない
- なるべく簡単に実現したい
- 高価な機材は使いたくない
使う機材
- YAMAHA P-125 (電子ピアノ)
- Pixel 3a (撮影用スマホ)
- Pixel 3aにはイヤホンジャックがついていて便利。
- サンワサプライ ヘッドホン+マイク変換アダプタケーブル
- OLYMPUS KA333
- このケーブルは抵抗入りのものでないといけないようです。(よくわかっていない)
- オーディオ延長ケーブル
- KA333 が 1m 程度で、微妙に長さが足りなかったので0.5mの延長ケーブルを買いました。
- スマホスタンド
- スマホを適当な角度に固定したかったので。
- ステレオミニ ステレオ標準変換プラグ (2個)
- これはだいぶ前に買ったものが余っていたのでそのまま使いました。
- 適当なヘッドホン
- これは普段から使っているものをそのまま使いました。
- Linuxがインストールされた適当なマシン
- Linux以外をお使いの場合は、適当に読み替えてください。
やったこと
簡単には以下の通り
- 以下の順で機器をつなぐ
- ピアノのヘッドホン出力端子 - ステレオ変換プラグ - KA333 - 延長ケーブル - ヘッドホン+マイク変換アダプタケーブル - Pixel 3a
- ピアノのもう1つのヘッドホン端子には、ヘッドホンをつなぐ。
- Pixel 3aのカメラアプリを立ち上げ、音声ソースを外部入力に設定して録画
- ピアノを演奏する
- 音量調整 + ノイズ除去
- 調整した音源を映像とくっつける
以下により詳細な内容を書きます。
機器の接続
次のように機器を接続しました。ステレオジャックはピアノのヘッドホン出力端子につなぎます。
ピアノとスマホの位置関係は次のようになりました。本棚が壁にピッタリつけてしまうと位置が微妙で壁から離しているのが妥協ポイント。クリップ型のスマホホルダーを買うと柔軟にできるかもしれないと考えています。
録画
普通のカメラアプリで録画をしました。 録画前に音声ソースを切り替える必要があるので注意。
録画したら、動画をPCに取り込みます。
ピアノを演奏する
演奏してください。
このとき、最初 or 最後に何秒か無音の時間を作っておくと良いでしょう。(詳細は後述)
音量調整 + ノイズ除去
音量調整とノイズ除去にはaudacity
を使いました。
まず、audacity
を起動し、動画ファイルをD&Dなどで開きます。
次に、音量の調整です。今回の方法で録画をすると、音量がだいぶ小さくなってしまいます。1 そのため、音量が大きくなるように調整する必要があります。
これは簡単で、Control-A
などで音声を全選択した後、Effect
→Loudness Normalization
を選択してそのままOKを押せば終わりです。^2
そしてノイズ除去です。録音時の音量が小さいため、音量を上げるとノイズが目立ってしまいます(たぶん)。そのため、それを除去する必要があります。
まず、録音時に無音にしておいた最初(or 最後)の範囲を選択します。そしてEffect
→ Noise Reduction
を選択し、Step 1のGet Noise Profile
ボタンを押します。これによって"無音であるべき"である選択した範囲に入ってしまっている音を、ノイズとして学習します。
次に全範囲を選択しもう一度Noise Reduction
を開き、今度はOKボタンを押します。これによって学習されたノイズが全体から削除されます。
最後にaudacityからmp3としてエクスポートをすれば、これで音源の調整は完了です。
調整した音源を映像とくっつける
さて、audacity
が吐き出したファイルはmp3でした。これは音のみを含み、映像を含まないファイルです。
そのため、このmp3ファイルと映像をくっつける必要があります。
これにはffmpeg
を使用しました。次のコマンドを実行します。
$ ffmpeg -i オリジナルの動画.mp4 -i audacityが作った音源.mp3 -map 0:v -map 1:a out.mkv
ここで-map 0:v
は「0番目のファイルからはvideoのみを採用する」、-map 1:a
は「1番目のファイルからはaudioのみを採用する」という意味になります(たぶん)。
これでout.mkv
として動画ファイルを作成できました。あとはこれを確認して、YouTubeなどにアップロードすれば完了です。2
録画した動画
こうして出来上がった動画がこちらになります。
ピアノ初心者なので演奏がダメダメなのには目をつぶってください、これからうまくなります。 後半でカメラのフォーカスが突然ずれてしまっているのはなんでしょうね。
試してみてだめだったこと
試行錯誤の結果、ボツにしたアイディアもいくつかあるので書いておきます。
USB出力
P-125にはUSBを使用して携帯端末やPCに接続する機能があります。当初これはiOS向け専用アプリのためだけのものだと思っていました。3 ところがPixel 3aとP-125をUSBで接続すると、USBを外部音声入力として認識しました! USB経由だと音量が小さくなってしまう問題が起きないため、動画の編集をせず撮って出しができそうだと期待しました。
ですが実際に録画をしてみると音声にブツブツとノイズが入ってしまい、また音と映像がだんだんずれていく(おそらく映像が先行している)様子が観測できました。これだとちょっと実用には耐えないので、あえなくボツ案となりました。
ピアノ側の音量を上げる
今回の録画でピアノ側の音量は、普段弾いているときよりは大きいものの、maxよりはだいぶ低い位置にセットしています。
音量をmaxにすれば後ほど音量の調整が要らなくなるのでは…?とも考えましたが、maxにしたところで実用には耐えない音量だったので諦めました。 これ以上音量を大きくすると、ヘッドホンから自分が聴く音量も大きくなりすぎてしまうという問題もあります。
音量をmaxにした上で、減衰した音をヘッドホンで聴くのも試しました。つまり抵抗ありケーブルの奥に分配器を挟み、そこにヘッドホンを接続しました。 ところがこれだと音が小さすぎて自分の弾いている音がかすかにしか聞こえないため、これもボツとなりました。
iPadで録画する
Pixel 3aの代わりにiPadで録画も試しましたが、これは失敗に終わりました。
iPadにはイヤホンジャックがついていないため、USB Type-Cとステレオミニジャックの変換コネクタを購入し、そこにピアノを接続しました。ところが録画をしてもiPad内臓のマイクが使われ、ピアノからのオーディオ入力は無視されてしまいました。4
iPadではユーザーがオーディオ入力を選択することはできず、iPadが自動で選ぶオーディオ入力が使われます。ユーザーはどのオーディオ入力が選ばれているかを知ることすらできません(たぶん)。Apple製品のこういうところは嫌いなので、iPadでの録画には早々に見切りをつけました。
今後の課題
全体的に面倒すぎるのをなんとかしたいところです。現状だと、全く続かないことが容易に想像できます。
パッと思いつく改善点としては、audacityを使用する部分の自動化でしょうか。ここがGUIでの操作になってしまっているため煩雑になってしまっています。 ノイズの除去をCLIでできれば自動化が容易になるため、その方法を模索したいところです。ffmpegで完結できると良いのかなあ。
参考文献
- ハードウェアについて
- ameblo.jpスマートフォンで撮影する「演奏してみた動画」の音声をライン録音(外部入力)する方法 | PINK TITAN 〜 Research on guitars 〜
- fanblogs.jpスマートフォンやタブレットに音声出力を直結して録音する方法について: 1000羽のコレクション記録
- 今回用意したハードウェアは、上記の2記事などを参考にしました。
- 正直あんまり理解できていないので、詳しく知りたい方はこれらの記事を当たることをおすすめします。
- 「スマートフォン オーディオ 入力」のようなワードでググっていました
- 動画の変換について
- saitodev.coFFmpegとAudacityで動画の音声の調整に挑戦! - saitodev.co
- この記事のやり方をだいたい踏襲しました。
- 音量調整周りで使うEffectを変えたのと、最後のffmpegに渡すオプションを変えています。
- ffmpegについて
- qiita.comffmpegのmapを解説する - Qiita
-map
って何、となって読みました。