作成者別アーカイブ: barubora

音声ファイルを動画編集用にいい感じに音量調整するサービス

経緯

ツイッター眺めてたらこんな記事を発見しました。

動画の音響編集は、まず「音量」に気を配ろう!基本まとめ。 – こおろぎさんち

自分も以前Youtube投稿用の動画を作った時、適切な音量バランスが分からなくて、空を掴むような思いで作業をしていました。

あと、録音した声は小さすぎるし、用意したBGMはうるさすぎるしで、素材の音量を揃えるのに苦戦した記憶があります。
その時は動画編集ソフトのボリュームを目一杯上げても声が小さくて、音声編集ソフト使って素材のゲイン上げてましたね。
複数のソフトを行き来するのはめんどくさかった。。。

しかし、記事に書かれている素材の音量に指標値がわかってしまえば、面倒な音量調整作業を自動ができるんじゃないか?と考えてこのサービスを作りました。
本サービスで使用している設定等は上記記事の内容をベースにしています。

使い方

1.素材の種類を選択する

  • 種類は声、BGM、SEの三種類から選べます。
  • 声を選んだ場合、音量はざっくり-5dBになります。
    また、80Hz以下の低音をカットしています。
  • BGMを選んだ場合、音量はざっくり-24dBになります。
  • SEを選んだ場合、音量はざっくり-5dBになります。
    SE、または声を80Hz以下の低音カットなしで調整したい場合はこちらを選んでください。

2.素材をアップロードする

  • 音声素材を「アップロードするファイルをドロップ」と書いてある黄色いエリアにドロップしてください。
  • もしくは「ファイルを選択」ボタンをクリックして選択してください。
  • 素材は10個まで選択可能です。
  • 総ファイルサイズの上限は200MBです。
  • ファイルを、ドロップ or 選択すると自動でアップロードが開始されます。

3.音量調整後の音声ファイルをダウンロード

  • 素材をアップロードし、サーバで音量調整処理を行います。
  • 処理が完了すると、変換後のファイルをまとめたzipファイルが自動的にダウンロードされます。
  • ファイルサイズが大きい場合、処理に時間がかかります。
    アップロードの状況が100%になってもすぐにダウンロードが始まらないかもしれませんが、気長にお待ちください。

なお、当サービスを連続して使う場合には、使用後にブラウザの更新をお願いします。
更新しないと2回目以降、ファイルを選択してもアップロードが始まらない残念な仕様になっています。(そのうち改善したい。)

詳しい人向け

声のイコライジングにはffmpegを使用し、以下のコマンドで80Hzをカットするハイパスフィルタをかけています。

音量調整には、ffmpegのloudnormフィルタで必要な解析処理とかをいい感じにやってくれるユーティリティを使っています。

github.com

ラウドネスのこともffmpegのことも詳しくないので、設定はこうしたほうがいいよ!とか、ここ間違ってるんじゃない?とかあればコメントほしいです。
LUFSなんもわからん。

Twitterアカウント@RusoManeki

【備忘録】サーバのOSバージョンアップしたときに困ったこと

静止画ムービーメーカーの利用者がありがたいことに増えてきて、それに伴いサーバをちょっとだけ強化しよう、ついでにOSバージョンアップしようとしたら躓いたので、備忘録として注意点を残しておく。

公開するものでもないけど、非公開記事にしたりテキストファイルで残すだけだと絶対に存在を忘れるので。。。

apacheバージョンアップ

・うちの環境はapache2 ネットでよく見かけるhttpdではない(ここ日本語合ってるか不安)
・設定変更後はapacheを再起動すること
コマンド sudo service apache2 restart
・以下の定義ファイルをいじるとドキュメントルートが変更できる
/etc/apache2/apache2.conf
/etc/apache2/sites-enabled/000-default.conf
・ログ情報は以下
/var/log/apache2/error.log
・キャッシュが残っていると設定を変更したのに画面に反映されないことがあるので、こまめに消すこと

PHP再インストール

・OSを上げたらPHPのバージョンが7になってしまったが、wordpressとの兼ね合いで5に戻す必要があり、
PHPを再インストールした。
そのため、php.iniファイルがデフォルトのものに書き換わってしまい、ファイルのアップロード上限サイズなどのステータスが静止画ムービーメーカーに対応しない値になっていた。
・php.iniを更新したときもapacheを再起動すること

WordPressの引っ越し

・プラグイン「All-in-One WP Migration」を使えば簡単にできる。
ただし、引っ越し前後の環境でPHPバージョンをそろえる必要がある。
・wordpressを再インストールするには、wordress/wp-config.phpを削除、dbからwordpress用のデータベースを削除&空の状態で作成をし、ドキュメントルートのページを開く。
DBのコマンドは以下
mysql -u ユーザ名 -p
show databases;
drop database wordpress;
create database wordpress;

・諸々のファイルの権限を変更するかもしれないが、最後に適切な権限か確認すること。
静止画ムービーメーカーのファイル一時格納ディレクトリに書き込み権限がなくなって、ファイルのアップロードに失敗するというへまをやらかした。

EC2の覚書

・EC2のインスタンスはCPUとかメモリとかの処理スペックに関わるところ、ボリュームはディスクの中身を管理するもの。
インスタンスとボリュームを組み合わせて一つのVMができるイメージ。
スナップショットを取るときはボリューム単位で取得する。
・OSのバージョンアップ、wordpressの入れ直しなど、環境がガラッと変わる作業の前にはスナップショットを取る。

確認作業

ブログに関してはトップページ、個別記事、ログイン画面くらいは最低限正しく表示されるか確認する。
静止画ムービーメーカーは、それなりのサイズのファイルを使用して試験する。
また、ログがきちんと書き込まれていることも確認すること。

音声を動画化するウェブサービス

手元の音声ファイルに画像をつけて動画化するウェブサービスを作りました。
Twitter等のSNSで音楽を投稿したい時に便利です。

静止画ムービーメーカー

※著作権の侵害となるファイルの投稿はお控えください。

使い方

1.画像を選択する

  • 動画に使用する画像を選択します。
  • あらかじめ用意されている画像、もしくは手持ちの画像を使えます。
  • 選択した画像はプレビューフレームに表示されます。
  • デフォルトの画像サイズは640×480です。手持ちの画像をアップロードした場合には、縦横の比率を保ちながら640×480以下になるように圧縮されます。

2.音声を選択する

  • 音符のボタンをクリックするとファイル選択が促されますので動画化したい音声ファイルを選んでください。

3.動画化する

  • 「動画化する」ボタンを押すと動画の生成とダウンロードが始まります。
  • ファイルサイズが大きい場合には時間がかかる場合がありますので気長に待ってください。
    ファイル形式はmp4です。

いきさつ

先日、自分で作った音源をTwitterに投稿しようと思ったのですが、どうやら動画はアップロードできても音声はできない様子。

Windowsムービーメーカーを使って音源に適当な画像を組み合わせて動画を作ろうと試みたのですが、なぜが保存がうまくいかない。(うちの環境だけかな?)

他の動画編集ソフトを導入して使ってみるも、画面にソフトのロゴがされたり操作方法が煩雑だったりで、結局目的の動画は作れませんでした。

音声ファイルと画像一枚を合体させたいだけなのに何故こんなにも苦労しなくちゃいけないんじゃ!!!
簡単動画作成♪とのたまうサイトに書いてある手法でも手順が10個以上あるとは何事じゃ!!!
そもそも専用ソフトのインストールがだるいんじゃ!!!

と憤ってたらこのウェブサービスが出来上がりました。

なお、このサービスは手軽さを重視しているので、エフェクトの追加も、複数の画像の使用も、テキストの追加もできません。
動画の編集を行いたい場合は素直に専用ソフトを使いましょう。

所感

DTMやってる人が製作途中の音源をスマホカメラで録画してTwitterに投稿するのを最近よく見かけます。

製作途中とはいえ、なぜスピーカーの音をスマホマイクで録音した粗悪な音質の動画を投稿するのだろうかと疑問に思っていましたが、そもそもオーディオファイルをTwitterに投稿する手段がないからなのだと気がつきました。
(もちろんDAWの画面や制作環境を見せたいという意図やオーディオの書き出し自体が面倒というのもあるでしょうけど)

そのため、このサービスのメインターゲットは、音楽をやっていて、静止画の動画で構わないから音源をTwitterに投稿したいという人です。
めちゃくちゃニッチですね。

需要があるのかわからないですが、自分が欲しいものは誰かも欲しがるだろうと言い聞かせて作りました。お役に立てたら幸いです。

<メモ>
タイトルとヘッダーがダサいのでいい案が思いついたらなんとかしたい。
用意している画像が無地のものしか無いため、ポップでキッチュでパンキッシュな画像に差し替えたい。(予定ではなく希望)

【50ドルで買えるMIDIキーボード】 AKM320のレビュー

先日、愛用していたMIDIキーボードが壊れてしまいまして、代わりになるものを探していました。

何か良い商品はないかと米amazonを散策していたら$39.19という破格値で売られているAKM320を発見。迷わずカートに入れました。

追加で送料・手数料がかかるため最終的な金額は$49前後になりますが、本体価格でいえば日本で最安値のMIDIキーボード、KORG Micro Key-25に匹敵する安さなのではないでしょうか。

このAKM320は、その安さから入門用としてオススメの機種のようです。(米amazonレビュー情報)

しかし日本では正規輸入は行っていないらしく、情報が少ないようなのでレビューを書いてみました。

基本スペック

鍵盤数:32
鍵盤タイプ:マイクロキー
外形寸法(W)×(D)×(H) 46 × 12.5 × 3 cm
重量:726g
端子:USBタイプB,サスティンペダル
付属品:USBケーブル、説明書

外観

IMG_20161211_142249

IMG_20161211_142230

IMG_20161211_142352

AKM320の特徴

AKM320は基本的な機能であるボリューム、オクターブコントロール、ピッチベンド、モジュレーションだけでなく、トランスポーズという他の低価格MIDIキーボードには無い機能を備えています。

鍵盤の左側に+と-のトランスポーズボタンがついており、+を押すと全鍵盤の音が半音上がり(ドの鍵盤を押すとド♯の音が鳴る)、-を押すと半音下がります(ドの鍵盤を押すとシの音が鳴る)。

このトランスポーズ機能を使うことでどんな調でも白い鍵盤だけで弾けてしまいます。

黒鍵いっぱいの調で作曲なり耳コピをしている時、このキーのダイアトニックコードの○番目はなんだっけ?といった悩むことが多々あったのですが、それが解消されました。

また、ピッチベンド、モジュレーションを行う部分がホイール式になっているのも特徴です。(他の低価格MIDIキーボードではレバー式やボタン式になっていることが多いです。)

ピッチベンドのホイールは回しても手を放せば元の位置に戻るのに対し、モジュレーションホイールは回した位置で固定されるようになっているため、常にモジュレーションをかけたい場合にホイールを触り続けなくて済むため便利です。

余談ですが、私が以前使っていたMIDIキーボードはレバー式で、上下にレバーを倒すとピッチが変わり、左右に倒すとモジュレーションがかかるという一体型の仕様でした。モジュレーションだけをかけたいのにピッチが変わってしまい使いづらかった記憶があります。

 

おわりに

今回は低価格MIDIキーボード、AKM320の紹介を行いました。
米アマゾンで個人輸入するのが一番楽な購入方法というなかなかオススメしずらい商品ですが、コストパフォーマンス抜群の商品であることは間違いないです。

私が購入した時には送料・手数料込みで5700円程度でしたが、円高のタイミングを狙えばもっと安く買えると思います。

ちなみにMAudioのKeystation Mini 32という商品は、同じ32鍵で、Ableton Live Liteがバンドルされていて、国内店舗で買えて、同じような値段で、軽いです。

散々AKM320を紹介しておいてなんですが、Keystation Mini 32も負けず劣らずの魅力的な商品です(むしろ勝ってる?)。

5000円前後で32鍵のmidiキーボードをお探しの方で、今回あげた特徴に魅力を感じる方はAKM320、そうでもない方はKeystation Mini 32を選ぶといいですね。

 

【Pure Data】Raspberry Pi でギターエフェクターを作る その2

前回の記事ではPure Dataのインストールと設定を行いました。

今回はdoitnowlabsさんが作ったこちらのプロジェクトを拝借してラズパイ上で動かします。

作業は以下の通りになっています。

1.プロジェクトのダウンロード
2.スクリプトの書き換え
3.ラズパイ起動時にラズパイエフェクタが自動で実行されるよう設定する

プロジェクトのダウンロード

今回はプロジェクトをデスクトップ上に配置して作業を進めました。これに習ってcdコマンドでデスクトップに移動してください。

次に以下のコマンドを打ってプロジェクトのリポジトリをコピーします。

※コマンドを打ってもgitなんてコマンド知らないよと返されたらsudo apt-get install gitでgitをインストールしてください。

スクリプトの書き換え

ダウンロードしたディレクトリに移動。
cd rpieffectbox

まずははPureDataパッチのserver.pdに記載されているパスを変更します。

を打つとPure Dataが立ち上がるのでパスが記載されているオブジェクトをクリックし

/home/ben/Desktop/rpieffectbox

/home/pi/Desktop/rpieffectbox

に書き換えてください。

今度はmain.pyスクリプトをテキストエディタで開き、パスの部分を修正します。

13行目の

name_file = open (“/ben/Desktop/rpieffectbox/names.txt”)

name_file = open (“/home/pi/Desktop/rpieffectbox/names.txt”)

に修正。同様に16行目を

function_file = open (“/ben/Desktop/rpieffectbox/functions.txt”)

から

function_file = open (“/home/pi/Desktop/rpieffectbox/functions.txt”)

へ書き換えます。

35行目の

subprocess.call(“pd -nogui server.pd &”, shell=True)

を絶対パスに。

subprocess.call(“pd -nogui /home/pi/Desktop/rpieffectbox/server.pd &”, shell=True)

パスの修正が終わったら37行目のwhile True:の直前に以下の二行を追加しておいてください。

sleep(1)
os.system(“echo ‘0 “+ str(preset) +”;’ | pdsend 5000 localhost”)

スクリプトをそのまま実行するとDSPの起動が上手くいかず、ボタン操作でパッチの切り替えを行わないとDSPをオンにできないという現象がありましたので上記のコードを追加しました。

書き換えたらCtrl + X を押した後にY、Enterを押し、上書き保存してファイルを閉じます。

パーツの接続

次にRaspberry Piと各パーツを接続します。

今回使用したパーツは以下のとおりです。

必要なものを購入し接続します。小型ボリューム(可変抵抗)はリード線をはんだ付けしないと使えないので注意です。はんだ付けの方法は過去記事を参考にしてください。

配線はプロジェクトフォルダ中にある配線図Rpieffectbox.pngを参考にしました。いまいち読み方がわからなかったので一部自分がやりやすいように手を加えています。

実際の写真。ごちゃごちゃ

えふぇくた

図示したもの。スッキリ。

rpieffectbox_ブレッドボード

上の図に従って配線を進めてください。

図ではツールの都合上幅の広いブレッドボードを用いていますが、実際に配線する際にはパーツ同士の間隔を詰めれば小さなブレッドボードでも配線可能です。

スクリプトの動作確認

最後にちょちょいとRaspberry Piの設定の変更をしてスクリプトを動かします。

まずはSPIを使用できるようにします。
GUI上で Menu > Preferences > Raspberry Pi Configuration を開く。
Interfaceタブに切り替え SPI の Enabled のラジオボタンを選択してOKをクリック。
次に以下のコマンドを打ってディスプレイ表示に使用するコンソールのパーミッションを変更します。

※今回はディスプレイは使用していないのですが、パーミッションの変更を行わないとスクリプトがエラーを吐くためこの工程が必要となります。

これで準備が整いました。スクリプトを実行してみましょう。

問題なく動作していればギターやマイクから入力した音がスピーカーに出力されるはずです。

ラズパイ起動時にエフェクタを自動実行

LinuxベースのOSでは起動時に指定したスクリプトを自動実行する仕組みがあります。
これを使ってラズパイの電源を入れたらmain.pyを起動させ、マウス、キーボード、ディスプレイ無しでもエフェクターとして機能するよう手を加えていきます。

以下コマンドで設定ファイルを開き、

末尾に以下の行を追加。
python /home/pi/Desktop/rpieffectbox/main.py &

これで端末起動時にmain.pyが実行されます。
ちなみに最後の&はバックグラウンドで実行させるためのオプションらしいです。

使い方

左のボタン:ひとつ前のエフェクトに切り替える
真ん中のボタン:パラメータ入力 これを押すことでつまみによるパラメータ調整が可能になる。
右のボタン:ひとつ次のエフェクトに切り替える

四つのつまみ:ひねるとエフェクトのパラメータが変化する。どのつまみが何のパラメータに対応するかはエフェクトによって異なるため、プロジェクト内のfunctions.txtを参考にしてください。

エフェクトの種類

今回利用させていただいたプロジェクトには15種類のエフェクトが用意されています(クリーンを含めると16種)。
エフェクト名および各パラメータとつまみの対応はプロジェクト内のテキストファイルに書かれていますが、いちいち参照するのも面倒だと思うのでここに記載します。

番号 エフェクト名 パラメータ
1 Clean Non Editable
2 Chorus Fdbk,Depth,Speed
3 Warble Chorus Fdbk,Depth,Speed
4 Tremolo Spd,Shape,Depth
5 Vibrato Depth,Speed
6 Wah MaxF,MinF,Speed
7 Ring Modulator Pitch
8 Low Fuzz Wah MaxF,MinF,Speed
9 Med Fuzz Wah MaxF,MinF,Speed
10 Hi Fuzz Wah MaxF,MinF,Speed
11 Ring Mod Fuzz Pitch,Boost
12 Fuzz Boost,Tone
13 Subtractive OD Gain,Tone
14 Tube Screamer Gain
15 Digital Delay DlyTime, Repeats
16 Tape Echo DlyTime, Repeats

 

おわりに

これにてラズパイエフェクタの制作方法の紹介はおしまいです。

用意されているエフェクトは15種類ですが、パッチを用意すれば好きなだけ自分好みのエフェクトを拡張できちゃうのがこのエフェクターの魅力ですね。

パッチを探すor作る熱意がある人はマルチエフェクターなんて買わずともこれ一台であらゆるエフェクトをかけれられちゃう。超コスパいい!

ただ、市販のエフェクターを使ったことすらないズブの素人なので音質とか機能性とかはちゃんと評価できてません。ごめんね。

信頼性についてはあまり期待しないほうがいいです。はんだ付けが甘いとパーツが外れますし、スクリプトがフリーズすることもまぁまぁありました。無論ライブには使えません。

とはいえお遊びの範囲内でならとても楽しいおもちゃになりますので是非作ってみてはいかがでしょうか。