mieki256's diary



2012/07/09(月) [n年前の日記]

#1 [dtm][javascript][prog] まだHTML5 Audioを勉強中

Webページ上で多数の音声を次々に鳴らす実験をしていたのだけど。とりあえず、こんな感じになった。

_HTML5 Audio test 2 (2016/09/04, 2017/03/19 置き場所変更)

Dropbox に置いたので、「音声リスト読込」ボタンを押した後の全音声読み込みに少し時間がかかるのだけど。一応鳴ってるっぽい。

データフォルダURLに ./voice1/ を指定して「音声リスト読込」「再生」をすれば、この実験の目指してたところが分かって、そのくだらなさに呆れかえること間違いなしなのだけど、それはさておき。ランダムに一定間隔で、細切れの音声を次々に再生すれば、それっぽくなるんじゃないかと安易に思っていたけれど、全然甘かった。以下、感じた問題点をメモ。

問題点その1。 :

前に鳴っていた音声を途中で打ち切って、次の音声を再生しようとすると、ブチブチとノイズが入って気に障る。これはブラウザの、サウンド周りの実装に起因してる気がする。

微小なフェードアウトをかけてみたり、Audio.muted = true で打ち切ってみたりしたけれど、全く改善せず。そもそも、音を聞いた限りでは、フェードアウトが出来てない予感。Audio.volume の値はたしかに変化しているが、音量変化が実際に行われるタイミングが異なっているのではないかと邪推。あるいは、現状のブラウザは、連続でサウンドを鳴らすとそれだけでノイズが入る状態なのかもしれない。

解決策としては…。
  • Audio Data API/Web Audio API を勉強して、それらを使って鳴らす。Firefox と Google Chrome 以外はガン無視。
  • Flash で作り直す。
  • Javaアプレットで作り直して(たぶん)地獄を見る。
  • PyGame や Ruby/SDL 等を使って、ローカル環境のみで実験する。
そのくらいしか思いつかず。

問題点その2。 :

これも、音声を途中で打ち切る場合の問題だけど。一旦ブチッと切って繋げてしまうと、どうにも不自然。各音声を滑らかに繋げる・変化させるための、何かしらの工夫が必要だなと。

一応、前の音声をフェードアウトさせつつ、同時に次の音声をフェードインで重ねてみたりもしたのだけれど。そもそもフェードアウトが実現できてないっぽいので、改善されたようには聞こえなかった。

ただ、このあたり、一般的な音声合成のソレとは事情が異なるから難易度は低いはず。一般的な音声合成なら、発音がはっきり聞こえないと問題があるけれど。自分がやりたかったソレは、むしろはっきり発音しないほうが都合がいいというか、突拍子もない、予測不能な声らしき音が聞こえてきたほうがそれっぽくなりそうだし。低レベルな音声処理部分に問題が無ければ、いくらでも解決策は見出せそうな予感も。…考えが甘いかもしれないけれど。

問題点その3。 :

同じ音声が続けて鳴った場合に不自然。ピッチを変える、エンベロープ相当を加味して変化を与える等、何かしら微妙な違いを与えないといけない予感。

一応、Audio.playbackrate なるプロパティで、再生速度を変更できるらしいのだけど。試してみたところ、ピッチが変化するわけではなく、本当に再生速度変更だったり、ずっとブチブチしたノイズが入ったり、そもそもブラウザによっては変化してるように聞こえない・おそらくは機能が未実装だったりで、期待してた効果は得られなかった。

ただ、これについては、事前にどんな音声データを用意するかで、解決できそうな気もする。1つの音声データから、聞こえ具合が微妙に異なる音声データを複数作り、プログラム側は同じ音声を続けて再生しないようにすればいい。もっとも、そのやり方では、音声データがどんどん増えてしまう問題もあるわけで。プログラム側で変化を与えたほうが、容量が少なくて済みそう。

問題点その4。 :

ランダムで鳴らすと、各音声の関連性が見出せず、今一つな感じが強い。「ああ、乱数で鳴らしてますねえ」と興醒めしてしまう。どの音声から、どの音声に繋がるか、別途データが必要なのかもしれない。

しかし、そういう鳴らし方は、結局は楽曲データを鳴らしているのと変わらないわけで。サンプラー音源にその手の音声を突っ込んで、MIDIシーケンサ相当で鳴らしたほうが手っ取り早いだろう、という話になりそう。

個人的には、そういうことをしなくてもそれっぽくならないか、パラメータを与えることで変化を出せないか、と思って実験を始めたわけで。最初から人間が音声の並びを全部用意できるなら、そりゃ実現は容易だけど、単なる力技になって、作業時間がどんどん増えてしまう。というか、膨大なシナリオを声優さんに渡して収録するほうが、音声が自然になるからベスト、という話にもなりそう。しかし、そのやり方では、音声に関してインタラクティブ性が実現できないわけで。画面内の状況変化に対応して音声が変化していかなければ、この手のソレを行う意味がないと思っていたり。

ということで。 :

心底くだらないことを安直な方法でやろうとしたにも関わらず、それでも結構技術的な問題点が多々見えてきてしまって、なかなか難しいもんだなと。

3Dカスタム少女とか、カスタムメイド3Dとか、このへんの処理はどうやっているんだろう…。音声データ以外の管理情報をどこまで持つのか、その管理情報をどう活用して、波形レベルでどんな変化を与えるのか、というあたりが鍵なのだろうか。いや、もっと簡単な方法で実現しているのでは、という気もしているのだけど。

2017/03/19追記。 :

Dropboxのpublicフォルダが死んだのでファイルの置き場所を変更。

#2 [anime] ノイタミナの最終回を観賞

坂道のアポロン、つり球の最終回を視聴。

以下ネタバレ。

アポロンは、イイ感じのラストだと思えた。登場人物達の セッションだけでも間違いなく盛り上がるのに、その後にOP曲が流れて、これは最終回における勝利の方程式だな! と思ったらその後 通常通りのEDが流れ始めてアレアレアレ?みたいな。何故OPを流したところでスパッと終わらないのだ…。尺が余ってしまったのだろうか…。BRSで、ED→OPで終わる流れを見ていたので、それと比べると、少々残念。

作品そのものに対しては、渡辺信一郎監督が何かのインタビューで語ってた通り、全編通して映像とサウンドで何かを伝える場面が ―― 監督曰く「映画的」と称していたソレが多く、大変好印象。アニメが総合芸術であることを意識した作り方は、制作上の制約が多いのであろう日本のアニメにおいては贅沢な作りと思うわけで。…やってる作品はちゃんとやってるけれど、やってない作品はとことんやってない・気にしてないし。アニメは総合芸術なんだよ、忘れちゃいかんよ、とコラムで苦言を呈していた故・首藤剛志さんが生前目にしていたら、おそらくは褒めてくれたであろう作品、なのではないかなあ、てな勝手な妄想すら。

つり球は、盛り上がっていたような気がする。やってることはむちゃくでツッコミどころ満載なのだけど。なんとなく、BGMの力は偉大、てなことを思ったり。 *1

カードバトルだの、ミニ4駆だの、TVゲームだの、そういったもので 世界を救うアニメは見かけた気がするのだけど。 釣りで世界を救うアニメは、今まで見た記憶が無いような。もしかすると、つり球は、そういう面では世界初のアニメ、いや、世界初の映像作品だったんじゃあるまいか、と今頃気が付いたり。…いや、自分が無知なだけで、既に存在してる可能性は高いか。なんだか戦隊シリーズの一エピソードで、そういう設定がありそうな気もしてきた。

UN-GO、ギルクラ、BRSも含め、アニメ砂漠の田舎にとっては、とてもありがたい枠だなと。ノイタミナ、ありがとう…。心の中で手を合わせ拝みながら視聴させていただいております。
*1: 曲と叫びでどうにかしちゃうあたり、考えてみたらギルクラとほとんど似た感じの最終回だったような気もしたり。なのに印象が違ったのは、もしかすると絵柄のせいだったりもするのだろうか。かっちりした密度の濃い絵柄では、それに相応しい密度を持った内容を、無意識に要求してしまう…? つり球はさっぱり系の絵柄だから、そういったものを要求せずに済むのでハードルが下がる…? いや、単に、期待値で印象が違っただけかも。ギルクラは最終回数話前の時点で、自分の中では妙に期待しちゃってたし。期待しながら作品を見てしまうと、えてして面白さを感じなくなるのでマズイと分かっていたのに…。それでも期待してしまったあたり、ギルクラもよく出来た作品だったのだろうと思っているのだけど。

#3 [neta] しょーもないもので世界を救う設定ってなんとなく好き

しょーもないもの、と言ってしまうと語弊があるけど。普段、さほど気にしてないソレが世界を救う、的な。 他に何かないかな。そんなもんで世界を救っちゃうの!? 的な。

逆の設定もアリか。そんなしょーもないもので世界が滅びるなんて、みたいな。ちゃんと見たことはないけれど、老人Zとか、最臭兵器とか、そのあたりなんだろうか。いや、○○で世界を救う、という設定は、えてして、○○で世界が滅びる、という設定でもあるか。

#4 [zatta] 車のUIはクソだと思うのだけど

別に自分だけがそう思ってるわけじゃないとは思うけど。

例えば、ママチャリに乗っていて、ブレーキかけようとしてベダル踏み込んじゃう、なんて事故はまず無いわけで。

なんでかというと。「止めたければ握れ」「進みたければ踏め」というUIだから。…UIという呼び方で合ってるのか分からないけど、とにかく、間違えにくいUI設計になっている、と思う。

ところがどっこい。車の場合は、「止めたければ踏め」「進みたければ踏め」というUIで。そりゃ、ブレーキと間違えてアクセル踏み込む事故が起きるよ…。

しかし。その手の事故が起きても、ドライバーの注意力がどうとか、そもそも高年齢者は運転せずに免許を返すべきとか、そういう議論が出てくるわけで。そういう意見が出てくる時点で、この社会は狂ってると思う。あくまで、その手の事故に限って言えば、だけど。どう考えてもUIがマズいでしょうが。どうして、ユーザに全ての非があるような方向で話をするんだ、と。

重いと思われる電動自転車ですら、重量は20〜35kg。その程度の重さの乗り物ですら、間違えにくいUIを実現している。車の場合は…よく知らないけど検索してみたら軽い車種でも700kgはあるらしい。しかも自転車と違って、時速100km以上出せるパワーも持っている。なのに、間違えやすいUIをそのまま使い続けてる。おかしいだろう。車のUIのマズさは人命とかなり直結してるのに、扱いがずぼら過ぎるだろう。

最初にUI設計した人は、当の昔に亡くなってると想像するのだけど。一体、誰の顔色伺って、こんなクソUIを使い続けてるんだ? そろそろ見直さないとダメだろう。と常々思うのですが。

Windows のスタートボタンの横に即シャットダウンのアイコンが設置されてたら皆怒ると思うんだけど。車のUIはそのぐらいマズイと思う。狂ってるよ、あのUI。

以上、1 日分です。

過去ログ表示

Prev - 2012/07 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project