2010/09/25(土) [n年前の日記]
#1 [sound] wavのサンプリングレートを変更して聴こえ具合の変わり方を確認
FlashアプリのBGMデータを作っているわけだけど。容量のことを考えれば、サンプリングレートが低いほうがいいのかなと思えてきたので少し手元で実験。
44100Hz、16bitのwavを、11025Hz、8bitのwavにリサンプリングして、どのくらい音が変わるかを確認。Audacity、ssrc、TWE、wavosaur 等、色々なソフトで試してみたり。
11025Hz、16bit にすると、ssrc と twe は違いが分からず、Audacity は少しこもってる感じに。11025Hz、8bitにまで落とすと、ssrcは常時「サーッ」というノイズが入り、TWE で変換した場合が一番破綻してないように聞こえた。と思ったが ssrc の --dither を変えたら「サーッ」というノイズは無くなり TWE と違いが分からず。ディザはかけないほうがいいのかしら。wavosour はリサンプリングの際、補間やアンチエイリアスなどが指定できるようなのだけど、どの変換結果でもシャワシャワジャリジャリという妙な音が混ざってしまった。
当然ながら、どの出力結果も高域部分が無くなっていることに違いはなく。どのあたりまでなら聴いていて許容できるか、ということになりそうな気がしたり。まあ、今回は、何か曲が流れているらしいと伝わればそれで十分かもしれないのだけど。
Sound Forge も気になっているのだけど、検索してみたら、どの通販ショップも在庫が無い・納期未定のようで。何故に。…もしかすると、SONY社内の担当者が個人的な成績を上げるため、アメリカのサイトで直接購入する方法だけを残し、それ以外を無くそうと画策しているのだろうか。などと邪推。それとも円高が関係してるのだろうか。
44100Hz、16bitのwavを、11025Hz、8bitのwavにリサンプリングして、どのくらい音が変わるかを確認。Audacity、ssrc、TWE、wavosaur 等、色々なソフトで試してみたり。
11025Hz、16bit にすると、ssrc と twe は違いが分からず、Audacity は少しこもってる感じに。11025Hz、8bitにまで落とすと、ssrcは常時「サーッ」というノイズが入り、TWE で変換した場合が一番破綻してないように聞こえた。と思ったが ssrc の --dither を変えたら「サーッ」というノイズは無くなり TWE と違いが分からず。ディザはかけないほうがいいのかしら。wavosour はリサンプリングの際、補間やアンチエイリアスなどが指定できるようなのだけど、どの変換結果でもシャワシャワジャリジャリという妙な音が混ざってしまった。
当然ながら、どの出力結果も高域部分が無くなっていることに違いはなく。どのあたりまでなら聴いていて許容できるか、ということになりそうな気がしたり。まあ、今回は、何か曲が流れているらしいと伝わればそれで十分かもしれないのだけど。
Sound Forge も気になっているのだけど、検索してみたら、どの通販ショップも在庫が無い・納期未定のようで。何故に。…もしかすると、SONY社内の担当者が個人的な成績を上げるため、アメリカのサイトで直接購入する方法だけを残し、それ以外を無くそうと画策しているのだろうか。などと邪推。それとも円高が関係してるのだろうか。
[ ツッコむ ]
#2 [flash] Flashでサウンドを鳴らそうとして四苦八苦中
ループが途切れる問題をどうにかすべく色々調べて実験中。FlashDevelop-3.2.2-RTM.exe、swfmill-0.3.1-win32.zip、flex_sdk_3.4.1.10084.zip をDL・インストール。ActionScript 2.0 でプロジェクトを作成。swfmill で、jpg,png,mp3 を含んだ .swf を作成するところまではできたけど…。
wav2swf でサウンドデータを含んだ swf を作成する実験も。wav を読み込ませるけど、mp3 に変換されて swf の中に入ってる模様。ループするように指定して作成した swf をフツーに再生してみたが、やはりループの境目で音が途切れてしまう。Flash CSx のように、無音部分を除外して再生するような工夫はされてない、ということだろうなあ…。
そもそも本当に Flash CSx ならループが途切れないのだろうか。不安になったのでそちらも実験。最初はタイムライン上に wav を並べていたけど、this.snd = new Sound(); snd.AttachSound("ID_SOUND_HOGE"); this.snd.start(0, 99999999); this.snd.stop("ID_SOUND_HOGE"); といったスクリプトの記述をするだけでも再生停止が出来た。それはともかく、たしかに Flash CSx ならループが途切れない。
Flash CSx 上で、サウンドデータだけを含んだ(リンケージされた?) swf を作成して、メインとなる swf で読み込み、サウンドデータ梱包用 swf の中からサウンドを取り出して使う、ということができないかと思いついた。どういう書き方をすればソレが実現できるのか分からないけど。
wav2swf でサウンドデータを含んだ swf を作成する実験も。wav を読み込ませるけど、mp3 に変換されて swf の中に入ってる模様。ループするように指定して作成した swf をフツーに再生してみたが、やはりループの境目で音が途切れてしまう。Flash CSx のように、無音部分を除外して再生するような工夫はされてない、ということだろうなあ…。
そもそも本当に Flash CSx ならループが途切れないのだろうか。不安になったのでそちらも実験。最初はタイムライン上に wav を並べていたけど、this.snd = new Sound(); snd.AttachSound("ID_SOUND_HOGE"); this.snd.start(0, 99999999); this.snd.stop("ID_SOUND_HOGE"); といったスクリプトの記述をするだけでも再生停止が出来た。それはともかく、たしかに Flash CSx ならループが途切れない。
Flash CSx 上で、サウンドデータだけを含んだ(リンケージされた?) swf を作成して、メインとなる swf で読み込み、サウンドデータ梱包用 swf の中からサウンドを取り出して使う、ということができないかと思いついた。どういう書き方をすればソレが実現できるのか分からないけど。
[ ツッコむ ]
#3 [nitijyou] ファンヒーターを出した
気温15〜16度。さすがに寒くなってきた。石油ファンヒーターを動かしてみたり。実は灯油を入れっぱなしだったのでマズイかなと思ったけど、一応使えるみたいではある。
カビ防止も兼ねて、エアコンもたまに暖房運転。
カビ防止も兼ねて、エアコンもたまに暖房運転。
[ ツッコむ ]
以上、1 日分です。