文字起こしをするとかでなくてmp3みたいなファイルをテキスト化して利用するとかそういう話
そんな利用を今までしてこなかったのでできるのかよく知らんかったのですけど、BASE64って画像だけでなく音声とかもいけたんですね。ということを今更になって知ったので今日はそれを使って何かしていこうと思います。
んで、とりあえず原理とか実装とかアルゴリズムとかどうでもいいので、パパパっとエンコードできるツールを検索してみたらあったのでこちらを使います。
Base 64 Encoder (100% client-side) :: OpinionatedGeek
ちなみにBASE64の概要は以下のとおりです。
BASE64
テキスト形式のデータしか受け付けないデータ形式やデータ伝送路などを用いてバイナリ形式のデータを保存・伝送するために用いられるもので、アルファベットの大文字(26文字)と小文字(26文字)、数字(10文字)、「+」「/」の2つの記号を用いてあらゆるデータを表現する。元のデータの置き換えには使わないが、規定の文字数に達しない場合に「=」も使用される。
まあ、なんでもテキストにしちゃう形式みたいな感じです。その昔テキストオンリーのメールでやりとりしていた時代に音声とか画像を送るのに利用した形式だそうです。へー。現在もリクエスト数を減らすテクニックとかで利用されたりされなかったりするらしい。でも僕そういう高速化テクニック興味ないです……。
なんか作った
ま、こういう眠くなる話をうだうだ続けてもアレなので何か作ります。
ボタンをクリックするとシャッター音がなって、あなたの個人情報を盗み取るプログラムできました*1。調子にUAとか表示させるとかやってますけど、まあ害はないです。毎度毎度クソみたいなのつくってばっかだな……。
<audio id="sound" preload="auto"> <source src="data:audio/wav;base64,【エンコード結果】 type="audio/mp3"> </audio>
利用はこんな感じで埋め込んでやればいけるっぽい。
音声素材はこちらから
効果音ラボ - フリー、商用無料、報告不用の効果音素材をダウンロード
Unityちゃん落としてきたときに大量の音声データ入手できたからそっち使っても良かったかも。ただ、毎回あのライセンス表示させるのめんどいんでこっちで……。
どうでもいいつくった感想
若干サイズが大きいんだけどそのままDBにぶっこんで利用してもいいのかなって思ってたりしてる。音声ファイルは、素直に音声ファイルをそれ用のディレクトリに保存して、そこのURLをDB上で紐づけて利用するとかの方がいいんですかね?まー、扱いはわがんね。
*1:盗みません