pockestrap

Programmer's memo

ライン入出力を使ってスマホでピアノ演奏動画を撮るまで

今年の3月にピアノを習い始めました。 自分の成長の過程を残しておきたくて時々録音をしていたのですが、知り合いがピアノの練習動画をインスタにアップロードしているのを見て、自分も動画を撮りたくなりました。

動画を撮るまでに色々やることがあり、少し大変だったのでやったことをメモします。

なお私はピアノもオーディオ周りも完全に初心者です。適当なことを書いているかもしれません。

やりたいこと

  • 電子ピアノの演奏動画を取りたい
  • 集合住宅なので音を外に漏らしたくない
  • なるべく簡単に実現したい
  • 高価な機材は使いたくない

使う機材

やったこと

簡単には以下の通り

  1. 以下の順で機器をつなぐ
    • ピアノのヘッドホン出力端子 - ステレオ変換プラグ - KA333 - 延長ケーブル - ヘッドホン+マイク変換アダプタケーブル - Pixel 3a
    • ピアノのもう1つのヘッドホン端子には、ヘッドホンをつなぐ。
  2. Pixel 3aのカメラアプリを立ち上げ、音声ソースを外部入力に設定して録画
  3. ピアノを演奏する
  4. 音量調整 + ノイズ除去
  5. 調整した音源を映像とくっつける

以下により詳細な内容を書きます。

機器の接続

次のように機器を接続しました。ステレオジャックはピアノのヘッドホン出力端子につなぎます。

f:id:Pocke:20211229214440j:plain
スマホに繋がれたケーブル

ピアノとスマホの位置関係は次のようになりました。本棚が壁にピッタリつけてしまうと位置が微妙で壁から離しているのが妥協ポイント。クリップ型のスマホホルダーを買うと柔軟にできるかもしれないと考えています。

f:id:Pocke:20211229214709j:plain
ピアノとスマホの位置関係

録画

普通のカメラアプリで録画をしました。 録画前に音声ソースを切り替える必要があるので注意。

f:id:Pocke:20211230020012j:plain
音声ソース選択画面

録画したら、動画をPCに取り込みます。

ピアノを演奏する

演奏してください。

このとき、最初 or 最後に何秒か無音の時間を作っておくと良いでしょう。(詳細は後述)

音量調整 + ノイズ除去

音量調整とノイズ除去にはaudacityを使いました。

まず、audacityを起動し、動画ファイルをD&Dなどで開きます。

次に、音量の調整です。今回の方法で録画をすると、音量がだいぶ小さくなってしまいます。1 そのため、音量が大きくなるように調整する必要があります。

これは簡単で、Control-Aなどで音声を全選択した後、EffectLoudness Normalizationを選択してそのままOKを押せば終わりです。^2

そしてノイズ除去です。録音時の音量が小さいため、音量を上げるとノイズが目立ってしまいます(たぶん)。そのため、それを除去する必要があります。

まず、録音時に無音にしておいた最初(or 最後)の範囲を選択します。そしてEffectNoise 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

録画した動画

こうして出来上がった動画がこちらになります。

youtu.be

ピアノ初心者なので演奏がダメダメなのには目をつぶってください、これからうまくなります。 後半でカメラのフォーカスが突然ずれてしまっているのはなんでしょうね。

試してみてだめだったこと

試行錯誤の結果、ボツにしたアイディアもいくつかあるので書いておきます。

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で完結できると良いのかなあ。

参考文献


  1. 抵抗のあるケーブル部分で電圧が下がるから、と予想しています、知らんけど。

  2. お好みで無音部分のカットなどをしても良いでしょう。

  3. 以前からそのアプリを使ってiPadで録音はしていました。

  4. ペダルのペコペコ音だけが聞こえてくる動画はちょっとだけ面白かった