hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

MacのGoogle Chromeで8bitのwavファイルを再生できない

MacのGoogle Chromeでaudioタグでwavファイルを再生すると,たまに変な音になってた.
しばらく原因不明だったけど,Google Chromeがバグっていて,8bitのwavファイルは再生できないようだった.


8ビットモノラル,16ビットモノラル,16ビットステレオのaudioタグを再生できるページを作った.Firefoxとかではどれも再生できるけど,MacのGoogle Chromeでは一番上のだけ変になってる.
http://hitode909.appspot.com/audiotag/


WindowsのGoogle Chromeではちゃんと音が出るといった情報もあるけどよく分からない.Windowsでは再生できるらしい.
容量は2倍になるけど,変な音が出るよりましだから,wavファイルを再生したいときは,16ビットにすればよさそう.


8ビットだと1文字だけど,16ビットだと2文字なので,XHRでwavファイルのバイナリを取得してビート検出したりするのがちょっとめんどくさい.
8ビットだと1サンプルが1文字で簡単で,

buffer.charCodeAt(i) & 0xff

こんなんでできるけど,16ビットだと,

(buffer.charCodeAt(i) & 0xff) << 8) + (buffer.charCodeAt(i+1) & 0xff

みたいになる.ちょっとめんどくさい.


前に作った,アーメンブレイクを自動再生するやつがしばらく変だったけど,8ビット決め打ちのところを直して,本来の音が出るようになった.
http://hitode909.appspot.com/amen/


MacBookを傾けるとサイン波とかを出すやつは中でwavファイルのバイナリを直接出してるのだけど,まだ直ってない.直そうとしたけど,たぶんヘッダが間違ってるとかで,うまくいかなかった.
http://hitode909.appspot.com/wav/