約 2,781,080 件
https://w.atwiki.jp/3ds_notifications/pages/193.html
当wikiに掲載されている画像の中には、3DSの「インターネットブラウザー」から閲覧すると3Dで表示されるものがあります。 そういった画像を楽しみたい方のために専用リンクを用意しましたのでご利用ください。 3D表示対応画像のあるページ 一部のページは容量が大きいため3DSのブラウザでは全ての画像が表示されない場合があります。 その場合でも画像のある場所をタッチすれば3D画像を表示させることはできます。ご不便をおかけして申し訳ありませんが、PC等と合わせてご覧ください。 サンプル画像(3D表示対応) ※画像をタッチし続けてから離すと、上画面にその画像が3Dで表示されます。 ただし当wikiでは全ての3D画像に対し、一度タッチするだけで3D表示されるように設定しております。 以下のQRコードを3DSのカメラで読み込むと、簡単にこのページにアクセスすることができます。 方法:HOMEメニュー画面でLボタンとRボタンを同時に押して「カメラ」を起動し、下画面の左下にあるQRコードのマークをタッチ 以下、管理人の余談です。 わたしは今までこのwikiに上記のような3D画像を掲載する時に「通常のjpg画像にmpoファイルのURLへのリンクを仕込んでクリックで開くようにする」という面倒なことを行っていました。 ところがある裏技的なテクニックを知るとその手間が一気に解消されたのでここで紹介します。 ニンテンドー3DSで撮影した3D画像は「mpo」というファイル形式でSDカードに保存されます。 PCなどでSDカードの中身を確認すると、1枚の画像につき同じ名前のファイルが2種類(JPEG、MPO)ずつあるはずです。 この3D画像をインターネットを通じて他の3DSからも閲覧できるようにするためには、mpoの方をアップロードする必要があります。 mpoは特殊な形式の画像なので、3DS以外では専門的なソフトなどを使わないと中身を確認することができません。 また、mpoファイルは通常のエクスプローラーではサムネイル画像も表示されないので管理が面倒です。 そこで、拡張子を無理矢理「jpeg」に変えてしまうというテクニックを使います。 拡張子をjpgに変更すると、サムネイルも表示され、一見すると通常のjpeg画像と全く同じであるように見えます。 しかし、実はこのjpeg画像を掲示板などにアップロードして3DSから閲覧すると、きちんと3Dで表示されます。 おそらくこれはjpegとmpo両方の性質を備えた特殊なファイルに変化したということでしょう。 一時期話題になった「偽装gif」のようなものですね。 以下、ここでは拡張子をjpegに変えたmpo画像のことを「偽装mpo」と呼ぶことにします。 以下にそのサンプルを示します。実際に3DSのブラウザーから閲覧して比較してみてください。 一見同じに見える両者ですが、当然ファイルサイズは偽装mpoの方が大きくなっています(約2倍)。 元のjpeg画像 mpoから拡張子を変更したjpeg画像(3D表示対応) blankimgプラグインエラー:ご指定のファイルがありません。アップロード済みのファイルを指定してください。 ※注意※ ペイントソフト等で画像を開いて新たに保存するのではなく、mpo画像のファイル名をエクスプローラーから直接「○○○.jpg」という名前に変更してください。 ところで、変更する拡張子はjpeg以外でも問題ないのか、気になったので試してみました。 今回試した形式は「bmp」「gif」「png」「tif」で、いずれもjpegとほぼ同じ画像になりました。 これらの画像を3DSから閲覧すると、gifのみ「この画像は表示することができません。」と表示され、それ以外は問題なく3Dで表示されました。 また、ペイントソフトで編集を行うと、いずれもjpeg画像として認識されたので、「偽装mpoの偽装jpeg」のような状態になったと言えます。 これで終了……と思いきや、ここで違和感に気付きました。 並んでいる5枚の画像のサムネイルが微妙に違うと思いませんか? jpeg形式とtif形式に変換した画像だけ、カクカクと粗い画質になっています。 もちろんこれはサムネイルだけで、原寸表示すれば5枚ともほぼ同じ画像です。 拡大してみましょう。左がjpegのサムネイル、右がpngのサムネイルです。 随分と印象が違いますね。 もしかすると、これは左目用の画像と右目用の画像の違いだったりするのかもしれません。 そこで、交互に比較できるようにしました。 マウスを乗せると画像が入れ替わります。 どうも単に横に伸び縮みしているだけのように見えますね。 結局、色々と検証した割に微妙な結果になってしまいました。 とりあえずPC等で画像を管理する場合はmpoをjpegに変換するとファイル数がかさばらずに済むということを覚えておくと便利かもしれません。 ただし、任天堂公式の「画像投稿ツール」を使おうと考えているならば、SDカード内のファイルの削除や変更は行わないでください。 スクショなどを撮影するとMPOの他にBINという形式のファイルも一緒に保存される場合があります。 このファイルには管理情報(Twitter投稿時のハッシュタグの識別など)が存在すると思われるので、SDカード内のファイルはなるべくそのままにしておきましょう。 わたしは素人で詳しいことは分からないので、もし間違い等があれば情報提供用ページまでお願いします。 ちなみに、Miiverseに投稿されたスクリーンショットも偽装mpoのjpeg画像です。 ただし3D表示をオフにした状態、或いは3D非対応ソフトでも上画面をMiiverseに投稿すると偽装mpoとして扱われるようで、ファイルサイズが通常の倍になっています。 これは無駄なようにも見えますが、通常のjpeg画像よりも高品質な画像であるため、2Dに修正すると画質が著しく劣化します。なるべくそのままにしておきましょう。 さらに後から検証して分かったのですが、どうやら下画面のスクリーンショットも偽装mpoとして保存されているようです。こちらも同様に、なるべく手を加えないようにしましょう。 特に「上書き保存」してしまうと復元は不可能です。後悔しないよう気を付けてください。経験者からの忠告です。
https://w.atwiki.jp/aniwotawiki/pages/12209.html
登録日:2010/01/09 (土) 01 00 44 更新日:2024/04/05 Fri 22 15 47NEW! 所要時間:約 6 分で読めます ▽タグ一覧 90年代末期 そして428へ… オタク キャベツ教 ゲーム コーヒー牛乳 サウンドノベル ジェロニモ ダイエット チュンソフト 七曜会 不遇の名作 伊藤さおり出演作 因果関係 奇人変人大集合 実写 渋谷 濃すぎる登場人物 窪塚洋介出演作 群像劇 街 長坂秀佳 サウンドノベル 街-machi- 発売:1998年1月22日 街 ~運命の交差点~ 発売:1999年1月28日(廉価版:2002年4月4日) 街 ~運命の交差点~特別篇 発売:2006年4月27日(廉価版:2007年8月30日) Iモード版 街 配信:2005年10月11日 『弟切草』でサウンドノベルというジャンルを誕生させ、 『かまいたちの夜』でゲームをやらない一般層にまでサウンドノベルを普及させた“サウンドノベルの元祖”であるチュンソフトによるサウンドノベル第3弾。 98年にセガサターンで『街』のタイトルで発売。 ゲームの容量が大幅にアップした次世代機(第5世代)での発売となったこともあり、ゲーム自体のボリュームもSFC時代とは比べ物にならない位に大きくなっている。 尚、現在までに本作を指す名称として使われている“~運命の交差点~”は、翌年のプレイステーションへの移植版から付けられた副題である。 ……恐らくは、単に『街』だけだと“何の街”だか紛らわしいと判断されたと思われ、現在は副題も含めたものが正式名称として扱われているようである。 既に、他社メーカーからもサウンドノベル作品が発売されるようになった中で、 元祖であるチュンソフトは『かまいたちの夜』で採用した実写取り込みを発展させて、実際の役者による演技をも静止画として取り込む、という方法を選択。 結果的に、読むドラマとも呼ぶべき意欲作品として世に送り出された。 本作の企画の元となったのは『弟切草』でシナリオ監修に迎えて以来の付き合いとなった、脚本家、小説家の長坂秀佳が予てから持っていた「自分から見れば他人は脇役だが、他人から見れば自分が脇役に過ぎない」……というアイディアである。 そして、それを思い付く経験となった渋谷(*1)の、多くの人の行き交うスクランブル交差点をシンボルとしてイメージが固められ、実際のゲームに於いても各人のシナリオのスタートが共通して同時刻のスクランブル交差点からとなっている。 ……因みに、当初は100人もの登場人物の物語が次々とザッピングしながら繋がっていくというイメージだったそうだが流石に実現は不可能だったとのことで、結局は主人公の数は8人(10人)に減らされている。 とはいえ、実際にゲームにキャラクターとして登場してくる人物は本当に100人以上となっており、8人の主人公の物語の影で各々のストーリーが進行しているキャラクターも居り、ゲーム内で断片的に明かされるサイドストーリーも世界観に没頭しているプレイヤーにとっては気になる要素である。 実は、これ等の人物については、続編の希望もあったのだが……。 ゲーム内の映像の撮影は、1996年に行われている。 前述のアイディアの実現の為に多数のキャストとスタッフが揃えられ、1ヶ月の間に3班体制で必要なキャストを入れ替えながら朝から晩まで撮影を進められたとのことで、この時はスケジュール管理をするスタッフが狂いかけ、毎日のロケ弁代等も相当なものになったとのこと。 しかし、其ほどに作り込んだ作品でも、当時は実写ゲームへの信用が極めて低かったことや、宣伝段階でのコンセプトが伝わり難いと評されていること等も関係しているのか、莫大な制作費に対して売上は芳しくなかった、とされる。(*2) とは言え、実際にプレイした人間からの評価は非常に高く、サウンドノベルの最高峰とも評される。 発表当初は登場人物の顔が丸見えなことで“プレイヤーが感情移入し難い”といった意見が出たのを受けて、PS版では『かまいたちの夜』の様なシルエットモードを追加したら反対に不満が出たのは有名な話。作るの大変だったらしいのに。 作品の評価については後述。 また、SS版ではパッケージが黒地に『街』の文字が大きく配されているだけという、シンプルで内容が想像出来ないものだったのに対し、PS版では多数の登場人物の顔が升目の様に配されたパッケージと、少なくとも一目で実写取り込み式のゲームなのだと解るものにはなっている。 【あらすじ】 10月11日水曜日、渋谷ハチ公前スクランブル交差点から、8人の老若男女それぞれの数奇な運命が始まる― まるで面識のない8人の主人公が、知らず知らずのうちに影響を及ぼし合いながら、それぞれの5日間を無事終えるのが目的。 尚、後述の様に牛尾と馬部のみは3日でストーリーが終了し、そのことは取説ぐらいにしか書いていなかった。 一方、8人全員をクリアした後に読める追加シナリオが2人分ある。(ただし、片方はショートストーリー) PSP版では、更に2人分のストーリーが追加されたが、シナリオ作成時のゲームのシステムには落とし込んでいない内容のものなので、プレイヤーにとっては文字通りシナリオを“読まされる”だけで、しかも他のゲーム本編に採用されたシナリオとは、微妙にニュアンスが違う等、プレイヤーからの評価は余り高いものとは言えないものとなった。 【システム】 「TIP」 文章中に色の違う文字列「TIP」があり、ボタンを押しその語句を選択することでその語句の説明・解説が行われる。緑色の語句はこのゲームの中の登場人物や設定等の解説が行われ、水色は一般に使用されている語句の説明が行われる。 今でこそこの用語辞典的なシステムは物珍しくもないが、当時は割と斬新であった。 このTIPを追っていくことで、正志編のパチンコ男など脇役の描かれない5日間や、劇中劇「独走最前線」「セーラードールズ」の内容を、大まかに把握できる。 また、各シナリオ毎に主役に合わせてTIPの説明文の毛色も変わっているのが特徴で注目。(市川⇒文学的表現が多くて小難しい 美子⇒食べ物関連に小ネタ多し 青井⇒オタク的) 「ZAP」 ある主人公のシナリオから、別の主人公のシナリオの特定の時間へ飛ぶシステム。ザッピング(zapping)の略。 TIP同様、文章中に緑色で示された文字列を選択することで、別の主人公のシナリオへ移動する。 直接主人公同士が遭遇した時は勿論、全く関係のない場面の全く関係のないTIP中に、お互いの状況の共通点を示すなどしてZAPが仕組まれたりしていることが多々ある。 これにより、全く関係のない人物同士が、人や物を介す等して何処かで関連しあっているという本作の醍醐味が感じ取れるようになっている。 また、読み進めていて画面右下に「つづく」と出て、シナリオがそれ以上進められなくなってしまう事がある。 この場合、別の主人公のシナリオからZAPPINGすることで「つづく」が解除され、次へと読み進めることが出来るという「鍵」の役割も果たしている。 一方、システム的にはSS版ではZAPがある箇所に後で戻る場合には「しおり」を挟んでおく必要があったが、PS版からはPS版『かまいたちの夜』と同じく、シナリオを何処まで読み進めたのかのチャートが実装され、其処からZAPに飛べるようになり管理が大幅に楽になった。 「マルチフラグメント」 要は「選択肢」 サウンドノベルお馴染みの展開を変える為の選択肢だが、本作では『弟切草』等と違い、基本的なストーリーが一本道となった為か、選択を間違えた場合には即BADEND(ゲームオーバー)に繋がるパターンが増えた。 また、その主人公にとってはBADENDにもならない選択肢が、別の主人公のBADENDを呼び起こすパターンも存在するので、その場合はその選択までに戻ってやり直しをしなければならない。 これも、PS版以降は楽である。 また、BADENDを選択した主人公が、他の主人公を巻き込んで連鎖的にBADENDとなることもある。 ゲームに慣れてくると、BADENDを回収しながらシナリオを読み進めるようになる。 細井美子シナリオのある選択肢(レコード店にて)では、本作の主題歌である『夜明けのうた』のPVが見られる。 「BADEND」 上記の様にゲームオーバーではあるのだが、その名の様に“別の結末”ではあるので、主人公によってはこっちの方が幸せそうというものも。 全部で122個もあり、見るのにコツが要るBADENDも存在する。 上記の様にマニアになってくると順番に回収しながら読み進める猛者へと成長する。 何れも楽しいものが多いが、桂馬シナリオは殆どが使い回しの爆発なので、これについては“手抜き”との声も。 「難易度」 PS版からは難易度が選択出来るようになっており、EASY、NORMAL、HARDから選択出来る。 HARDがSSと同じ難易度で、EASYとNORMALはBADENDに繋がる選択肢が出ない、BADEND回避の為のヒントが出る、といった違いがある。 基本的なゲーム内容に違いはないものの、PS版は反対に隠しシナリオを見るための条件が厳しくなり、BADENDを全て回収する必要が出た為、完全クリアを目指すのならば、総合的にちょっと簡単になった程度に落ち着いていると言える。 「その他」 家庭用ゲームのレベルだが、SSでは18禁指定ゲームの発売が可能だったので、下ネタ等が際どい所まで表現されていたのに、PS版以降は修正が掛けられている。 また、ある人物のシナリオでは当時から問題となっていた“ホームレス狩り”が描かれているが、PS版ではその表現は登場してこない。 この他、SS版に存在していた一般公募されたプリクラ画像を使用した場面や、シナリオ募集のお知らせ、といった要素もPS版以降は消えている。 漫画家の柴田亜美も募集し、特別に名前付きで紹介されている。 TIPSの内容についてもSSとPS版以降ではメーカー的な意味で変えられている箇所もある。 【シナリオ】 雨宮桂馬『オタク刑事走る!』 渋谷中央署のオタク刑事・桂馬は、渋谷のオーロラビジョンに映る謎の文章を爆破予告だと断定する。桂馬は5日間渋谷を走り回る。 BADENDの多さ、エピローグから、本作のメインシナリオと思われる。 実際、普通にプレイした場合には桂馬篇が最後になるように最終日のシナリオが展開する。(途中で中断する。選択肢を含むシナリオ終了時間が最後。) 牛尾政美『The wrong man 牛』 ヤクザから足を洗った牛尾は、宝石店店員高峰綾にプロポーズをするため宝石店に足を運ぶ。 しかしその時元舎弟の三次が宝石強盗を働き、居合わせた牛尾は共犯者と間違われてしまう。 しかも逃走した先で役者の馬部に間違えられ、一時しのぎのため芝居をする羽目になる。果たして牛尾は容疑を晴らし、綾にプロポーズすることができるのか? 牛・馬役の松田勝(現:松田優)さんのブログは必見。 馬部甚太郎『The wrong man 馬』 売れない役者の馬部は、テレビドラマで初めて大役を勝ち得たが、うまく演じられず自信をなくしていた。 そんな時逃走中の三次に牛尾と間違えられたため、馬部は仕方なしにヤクザの世界に足を踏み入れる事に。人生最悪の3日間が始まる。 馬部と牛尾のみ、3日目でシナリオが終了する。 篠田正志『七曜会』 平凡な大学生・正志は、大手企業にコネで内定が決まっていたが、日曜日と名乗る謎の女性が内定取消になるような事実をつきつけ脅迫してくる。 脅迫に屈した正志は日曜日の属する組織・七曜会の金曜日として他人を脅迫していくことに…。 市川文靖『シュレディンガーの手』 市川はテレビドラマのプロットライター。しかし低俗極まりないその作品は自分が寝ている間に「誰か」が書き起こした身に覚えの無いもの。 市川は作家として、テレビ業界に一石を投じる為、最高傑作を書こうと作品に取り掛かるが……。 数多くのプレイヤーにトラウマを植え付けたシナリオ。 そして間違い電話がよくかかってくる。 飛沢陽平『で・き・ちゃっ・た』 緑山学院高校3年生の陽平は学校一のプレイボーイ。 しかしある日一夜限りの女性から「私、できちゃいました」と衝撃の告白を受ける。さらに元カノも現われ、本命からも結婚を迫られ…。 現代で言う「これなんてエロゲ?」な展開が繰り広げられる。 ちなみに陽平と市川シナリオは携帯アプリではカットされている。 高峰隆士『迷える外人部隊』 フランス外人部隊レジョンに身を置く隆士は3年ぶりに日本へと戻ってくる。 しかし戦場での出来事がフラッシュバックし、久しぶりの日本にいても苛立ってばかり。自分の存在意義を見出すために渋谷を徘徊する。 細井美子『やせるおもい』 美子は何よりも食べるのが大好きなフリーター。 しかし恋人のようちゃんに5日間の間に17キロ痩せなければ別れると告げられ、美子は愛のダイエットファイターとなるが……。 最終日の鬼気迫る様子は市川編並に薄気味悪い。 尚、設定に反して、演じる伊藤ちゃんが太れなかった為に、実際の撮影では詰め物をする等して実際より太目にしている。 シーンによって太さが違うのはこの為。 【隠しシナリオ】 どちらも選択肢は存在しないが、他主人公の選択によりBADENDを迎えることがある。 青井則生『青ムシ抄』 陽平と同じ高校に通うオタク高校生・青井の物語。 このシナリオのみ唯一実写ではなく、デフォルメされたアニメ絵のシナリオになっている。 アニメ調じゃないと“見てられない”なんて意見もあるノデ! デフォルメで見てると青ムシが好きになったなんて声もあるよ!……クククみんな素直になるといいネェ。 でも“ある理由”から一部のファンには嫌われているヨ。 高峰厚士『花火』 隆士の父親、厚士の物語。花火が大好きだった息子のためにあることを実行する 涙腺崩壊シナリオ。 【余談】 鈴木結女の歌う主題歌『夜明けのまち』とEDテーマ『One and Only』は名曲として有名。作曲は本作の音楽プロデューサーである難波弘幸。当時は8cmシングルCDが発売されていたが、それ以外には収録されず(鈴木結女のアルバムでは別アレンジ)、後から本作を知ったファンを悶絶させていたが、後の05年にSS発売10周年を記念して発売された『セガサターンヒストリー VOCALコレクション』に復活収録された。しかし、このアルバムでは『クロス探偵物語』の主題歌等、別収録曲がゲームとは別アレンジになっていて微妙な印象を抱く者も少なくない。 前述の様に製作費や労力、開発の大変さと比して、対コスト的な意味で決して売れたとは言い難いが、プレイした人間からは非常に評価が高く、長らく続編が待たれるゲームとしてに度々挙げられていた。かつてファミ通にあった「読者が選ぶTOP20」において、サターンソフトで最も長くランクインした。 止まない続編希望に対するチュンソフトの回答では、制作費(とりわけギャラ・著作権・技術料・撮影隊出演者の弁当代)に対する売上見込みが殆ど絶望的であったため否定的な回答ばかりであった。……が、ある時期から「エキストラ募集」なる広告が出され、続編への期待が爆発的に高まり、ついに続編とも言える、428の発売に至った。しかし、流石に街と同じ手法は取れず、一つのストーリーの中で各々のキャラクター達の動きを見せるシステムとなっている。 △メニュー 項目変更 この項目が面白かったなら……\ポチッと/ -アニヲタWiki- 以前の「街(サウンドノベル)」の方がよかった。あっちがオリジナルだし。 -- 名無しさん (2013-05-21 18 25 50) 高峰隆士がジタン(ルパン三世と同じタバコ)吸うのは有名だよな。「鰹節の様な香りだ」とか何とか描写されてた。 -- 名無しさん (2014-10-31 21 50 11) 犬のクソ入り鰹節風味。すごい形容だ。 -- 名無しさん (2017-02-12 15 48 13) 「大人になったら女性に膝枕される機会はない。だから膝枕してくれる女性を見つけたら一生かけて幸せにしなくてはいけない」って一文に感動して座右の銘にした。なお -- 名無しさん (2020-08-04 12 46 37) ↑私は「男にとって故郷とは生まれた場所ではない生きていく場所のことだ」…みたいな奴かな。なお。 -- 名無しさん (2020-09-12 00 28 06) 故郷なら再開発で云々。 -- 名無しさん (2021-12-28 17 10 18) 正志のパチンコの隣の席のやつとか宝くじのやつとかストーリー作れそうな脇役が結構いる -- 名無しさん (2023-08-19 13 11 44) 名前 コメント
https://w.atwiki.jp/vertiaeng/pages/4.html
ニュース @wikiのwikiモードでは #news(興味のある単語) と入力することで、あるキーワードに関連するニュース一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_174_ja.html たとえば、#news(wiki)と入力すると以下のように表示されます。 【カウンターサイド】リセマラ当たりランキング - カウサイ攻略Wiki - Gamerch(ゲーマチ) ウィキペディアを作ったiMacが箱付きで競売に登場。予想落札価格は約96万円!(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース 【テイルズオブルミナリア】リセマラ当たりランキング - TOルミナリア攻略Wiki - Gamerch(ゲーマチ) 終末のアーカーシャ(終アカ)攻略wiki - Gamerch(ゲーマチ) メトロイド ドレッド攻略Wiki - Gamerch(ゲーマチ) 【グランサガ】リセマラ当たりランキング - グランサガ攻略wiki - Gamerch(ゲーマチ) マニュアル作成に便利な「画像編集」機能を提供開始! - ナレッジ共有・社内wikiツール「NotePM」 (2021年12月6日) - エキサイトニュース マニュアル作成に便利な「画像編集」機能を提供開始! - ナレッジ共有・社内wikiツール「NotePM」 - PR TIMES 【アイプラ】リセマラは必要?当たりキャラランキング【IDOLY PRIDE】 - Gamerch(ゲーマチ) 【Apex Legends】ヴァルキリーの能力と評価【エーペックス】 - Gamerch(ゲーマチ) 【ウインドボーイズ】リセマラ当たりランキング(最新版) - ウインドボーイズ攻略Wiki - Gamerch(ゲーマチ) モンハンライズ攻略Wiki|MHRise - AppMedia(アップメディア) 篠原悠希×田中芳樹が明かす「歴史ファンタジー小説ならではの悩み」(現代ビジネス) - Yahoo!ニュース - Yahoo!ニュース ポケモンBDSP(ダイパリメイク)攻略wiki - AppMedia(アップメディア) SlackからWikiへ!シームレスな文章作成・共有が可能な「GROWIBot」リリース - アットプレス(プレスリリース) 【ウマ娘】チャンピオンズミーティングの攻略まとめ - Gamerch(ゲーマチ) 【ウマ娘】ナリタブライアンの育成論|URAシナリオ - Gamerch(ゲーマチ) 【ウマ娘】ヒシアケボノの育成論|URAシナリオ - Gamerch(ゲーマチ) 【ウマ娘】フジキセキの育成論|URAシナリオ - Gamerch(ゲーマチ) ドラゴンクエストけしケシ攻略Wiki - Gamerch(ゲーマチ) 【スタオケ】カード一覧【金色のコルダスターライトオーケストラ】 - Gamerch(ゲーマチ) 【スマブラSP】ソラのコンボと評価【スマブラスペシャル】 - Gamerch(ゲーマチ) 【ブレフロレゾナ】リセマラ当たりランキング【ブレイブフロンティアレゾナ】 - ブレフロR攻略Wiki - Gamerch(ゲーマチ) 仲村トオル、共演者は事前に“Wiki調べ” - 沖縄タイムス 【ENDER LILIES】攻略チャートと全体マップ【エンダーリリィズ】 - Gamerch(ゲーマチ) 【ウマ娘】あんしん笹針師の選択肢はどれを選ぶべき? - Gamerch(ゲーマチ) 【ポケモンユナイト】アップデート情報・キャラ調整まとめ - ポケモンユナイト攻略Wiki - Gamerch(ゲーマチ) 【Apex】シーズン11の新要素と最新情報まとめ【エーペックス】 - Gamerch(ゲーマチ) ロストジャッジメント攻略Wiki - Gamerch(ゲーマチ) 【Among us】新マップThe Airship(エアシップ)の解説【アモングアス】 - Gamerch(ゲーマチ) ハーネスについて小児科医の立場から考える(坂本昌彦) - 個人 - Yahoo!ニュース - Yahoo!ニュース ゼルダ無双攻略Wiki|厄災の黙示録 - AppMedia(アップメディア) ウマ娘攻略Wiki - AppMedia(アップメディア) ゲトメア(ゲートオブナイトメア)攻略Wiki - Gamerch(ゲーマチ) 【白夜極光】リセマラ当たりランキング - 白夜 極光 wiki - Gamerch(ゲーマチ) お蔵入りとなった幻の『スーパーマリオ』 オランダの博物館でプレイ可能?(リアルサウンド) - Yahoo!ニュース - Yahoo!ニュース ナレッジ共有・社内wikiツール「NotePM」が「ITreview Best Software in Japan 2021」のTOP50に選出 - PR TIMES 真女神転生5攻略Wiki|メガテン5 - AppMedia(アップメディア) 【B4B】近接ビルドデッキにおすすめのカード【back4blood】 - Gamerch(ゲーマチ) ポケモンスナップ攻略wiki - AppMedia(アップメディア) 富野由悠季「ブレンパワード」作り直したい!ファンを前に意欲(シネマトゥデイ) - Yahoo!ニュース - Yahoo!ニュース 【ウマ娘】査定効率から見た取るべきスキルとおすすめキャラ【プリティーダービー】 - Gamerch(ゲーマチ) 【スマブラSP】カズヤの評価とコンボ【スマブラスペシャル】 - Gamerch(ゲーマチ) ナレッジ共有・社内wiki「NotePM」が「ITreview Grid Award 2021 Fall」で、チームコラボレーションとマニュアル作成部門において「Leader」を5期連続でW受賞! - PR TIMES メモ・ドキュメント・wiki・プロジェクト管理などオールインワンのワークスペース「Notion」が日本語ベータ版提供開始 - TechCrunch Japan 【ギアジェネ】リセマラ当たりランキング【コードギアス】 - ギアジェネ攻略Wiki - Gamerch(ゲーマチ) モンスターファーム2(MF2)攻略wiki|アプリ・Switch移植版 - AppMedia(アップメディア) 【ブラサジ】最強キャラTierランキング【ブラックサージナイト】 - Gamerch(ゲーマチ) 【パワプロ】鬼滅の刃コラボ情報まとめ - Gamerch(ゲーマチ) 【SPAJAM2021】第3回予選大会は「クイズ!WIKIにゃんず!」を開発したチーム「かよちゃんず」が最優秀賞! | gamebiz - SocialGameInfo 検索結果における「ナレッジパネル」の役割とは・・・ウィキメディア財団とDuckDuckGoの共同調査 - Media Innovation ナレッジ共有・社内wikiツール「NotePM」が「BOXIL SaaS AWARD 2021 Autumn」にて「コラボレーション部門」を受賞! - PR TIMES 【ポケモンユナイト】カメックスの評価と立ち回り【UNITE】 - Gamerch(ゲーマチ) Wikipediaが「中国人編集者の身の安全を守るため」に一部の編集者アカウントをBANに - GIGAZINE 【ドッカンバトル】3.5億ダウンロードキャンペーン最新情報 - ドッカンバトル攻略Wiki - Gamerch(ゲーマチ) BTS(防弾少年団)のV、8月のWikipedia閲覧数が韓国アーティストで1位!グループでは4ヶ月連続トップ - Kstyle 【イース6オンライン】リセマラ当たりランキング|召喚ガチャの開放条件は? - Gamerch(ゲーマチ) BacklogからNotePMへwiki情報を自動API連携する「Backlog to NotePM」をSaaStainerに掲載開始 - PR TIMES ライザのアトリエ2攻略Wiki - AppMedia(アップメディア) 真女神転生3リマスター攻略Wiki|メガテン3 - AppMedia(アップメディア) タスクも文書もWikiもデータベースもまとめて管理できる「Notion」とは? - ASCII.jp ナレッジ共有・社内wikiツール「NotePM」が、見るだけ専用ユーザー『無料』の新プランを発表! - PR TIMES 【かのぱず】リセマラ当たりランキング【彼女お借りします】 - Gamerch(ゲーマチ) 【乃木フラ】リセマラの必要はある?【乃木坂的フラクタル】 - Gamerch(ゲーマチ) 【パワプロ】生放送まとめ|パワフェス2021 - パワプロ攻略Wiki - Gamerch(ゲーマチ) ルーンファクトリー5攻略wiki|ルンファク5 - AppMedia(アップメディア) シャーマンキングふんばりクロニクル攻略Wiki - Gamerch(ゲーマチ) アーテリーギア‐機動戦姫-攻略Wiki - Gamerch(ゲーマチ) 簡単操作で自分専用Wikiを構築できるMarkdownエディタ「Obsidian」のモバイル版を使ってみた - GIGAZINE 情報マネジメントツール「Huddler」がwiki機能を刷新 - PR TIMES シェアエコ配送アプリ「DIAq(ダイヤク)」のアンカーアプリで、高層ビル・商業施設の入館方法などお役立ち情報をまとめた「DIAqwiki」を公開 - アットプレス(プレスリリース) 【ツイステ】マスターシェフの攻略~辛味のふるさと~【料理イベント】 - Gamerch(ゲーマチ) 【ラグナロクオリジン】リセマラは不要?おすすめ職業は?【ラグオリ】 - Gamerch(ゲーマチ) 白夜極光攻略wiki - AppMedia(アップメディア) 【バイオミュータント】2.02アプデ|アップデート1.4情報 - バイオミュータント攻略Wiki - Gamerch(ゲーマチ) 頻繁に寄付をお願いしてくるWikipediaの運営組織はかなり潤沢な資産を持っているとの指摘 - GIGAZINE 【ヒロトラ】タイプ相性についての詳細まとめ - AppMedia(アップメディア) ニーアレプリカントリメイク攻略wiki|ver.1.22 - AppMedia(アップメディア) 【ウマ娘】ゴルシウィークはいつから?キャンペーン情報まとめ - Gamerch(ゲーマチ) シーズン66 - 【超速GP】ミニ四駆 超速グランプリ攻略まとめwiki - 電撃オンライン 乃木坂的フラクタル攻略Wiki - Gamerch(ゲーマチ) 「こんなことになるとは…」13年前のエイプリルフールについた“嘘”がネットで… ある男の告白(BuzzFeed Japan) - Yahoo!ニュース - Yahoo!ニュース 整理不要の情報共有ツール(社内Wiki)「Nerve」シードラウンドで総額約3500万円の資金調達を実施 - PR TIMES Nerve - 整理不要の情報共有ツール(社内Wiki) ローンチカスタマー募集開始のお知らせ - PR TIMES Among Us攻略Wiki【アマングアス・アモングアス】 - Gamerch(ゲーマチ) 【ひなこい】最強ひな写ランキング - ひなこい攻略Wiki - Gamerch(ゲーマチ) 稲作アクションRPG『天穂のサクナヒメ』における「農林水産省攻略wiki説」は本当なのか? - AUTOMATON スタスマ攻略Wiki【スタースマッシュ】 - Gamerch(ゲーマチ) 無料とは思えない多機能っぷりなWikiインフラ「Wiki.js」レビュー、自前でホスト&外部サービスと連携可能 - GIGAZINE Microsoft Teamsの基本と活用(24) TeamsのWikiを使う - マイナビニュース 『ゲーミングお嬢様』での提起が話題に “企業系wiki”に横たわる問題点とは - リアルサウンド 「エイリアンのたまご」,自動周回機能と公式wikiが登場 - 4Gamer.net 【リゼロス】Re ゼロから始める異世界生活 Lost in Memories攻略まとめwiki - 電撃オンライン パワプロ2021/2020攻略Wiki - Gamerch(ゲーマチ) ヌーラボ、「Backlog」の絵文字入力の補完機能やWiki編集の自動マージ機能を改善 - CodeZine(コードジン) ヌーラボ、プロジェクト管理ツール「Backlog」の絵文字入力の補完機能・Wiki編集の自動マージ機能を修正改善 - PR TIMES Backlog、Wikiにファイル添付が容易にできる機能をリリース -- グローバルバーの視認性改善なども実施 - PR TIMES GK川島、パンチング失点でWiki書き換え炎上 「セネガル代表」「プロボクサー」... - J-CASTニュース ウィキメディア財団に「日本人はあまり寄付しないですね」と質問したら、熱い回答が返ってきた| - @DIME ツムツム攻略Wiki|ゲームエイト - Game8[ゲームエイト]
https://w.atwiki.jp/etvip/pages/308.html
★オリジナルボイス・サウンドパック 現在、Rena・makiguso鯖ではオリジナルボイス・サウンドパックが採用されています ボイスパックを入れると、ひぐらし、ローゼン、MGS等のボイスをゲーム中で使うことができます サウンドパックをいれるとゲーム中の効果音が変わります、是非入れてみてください ■makiguso server VIPボイスパック http //hanpen.dip.jp/et/omake/zzz_vipvoice_v03b.pk3 VIPサウンドパック(makiguso仕様) http //hanpen.org/et/pk3/etmain/z_maki_soundpack_r2.pk3 VIPサウンドパック http //hanpen.dip.jp/et/pk3/etmain/zzz_vipsound_v03.pk3 ■Rena Server系列 VIPボイスパックr5(Rena Server仕様) http //www48.tok2.com/home/renapan/etfile/etmain/zzz_vipvoice_v03br5.pk3 Rena鯖サウンドパック(スキンパックと共用) http //www48.tok2.com/home/renapan/etfile/etpro/zzz_rena_skins_ver14.pk3 ダウソした後、拡張子をzip→pk3にリネーム、 両方ともetmainフォルダにぶちこんでください
https://w.atwiki.jp/hokuyuu/pages/1197.html
#blognavi DSのサウンズって地味に結構いいんです。 ヘッドフォンをさしてごらん これで低音も結構聞けるようになり DSサウンズの良さがわかりますよ。 結構音楽いいんです。 カテゴリ [日常] - trackback- 2007年07月13日 20 59 04 名前 コメント #blognavi
https://w.atwiki.jp/hmiku/pages/33762.html
【検索用 さうんとふぉっくす 登録タグ 2016年 VOCALOID r0y さ チョコラテP 上埜月 曲 曲さ 牛肉 鏡音リン】 + 目次 目次 曲紹介 歌詞 コメント 作詞:牛肉 作曲:r0y 編曲:r0y イラスト:上埜月(piapro) 唄:鏡音リン(調声:チョコラテP) 曲紹介 オトギツネのノイズ賛歌 今回は久しぶりにロックです。そして久しぶりにリンです。大音量でお楽しみくださいませ。 曲名:『サウンドフォックス』 歌詞 聞いちゃ居ないのだろう? 影じゃ笑えるのかい? 満たされて良いだけ そりゃ ご大層だね 面倒事は不義として 夢とか語るだけの支配者よ お前の欺瞞を潰して 楽に成れるのなら 今すぐ壊したい ノイズにまみれた狐は 血を吐いて進む 目を見て話せよ 逸らしてんじゃない それで覚悟か? あんたの物差しは 測る物なんだろう? 縛る物じゃないさ だから少し黙れ ご都合主義も自由だが こちらも怒る権利があるから 限界突破の5秒前 ガキみたく罵る 飽き飽きの言葉を 砂礫に溺れた狐が 噛み砕きだした さあ殴り合えよ 逃げ出してんじゃない それが答えか? 愚直に無様に見えたって 歩けてりゃ綺麗だ 他の誰よりもさ そいつを蹴落とし 私欲を 全てとするのが 見ているだけでも 嫌いなんだよ お前の欺瞞を潰して 楽に成れるのなら 今すぐ壊したい ノイズにまみれた狐は 血を吐いて進む 感じるのならば 続いて吼えろ 痛みながら 叫びながら 自我の本気を コメント 名前 コメント コメントを書き込む際の注意 コメント欄は匿名で使用できる性質上、荒れやすいので、 以下の条件に該当するようなコメントは削除されることがあります。 コメントする際は、絶対に目を通してください。 暴力的、または卑猥な表現・差別用語(Wiki利用者に著しく不快感を与えるような表現) 特定の個人・団体の宣伝または批判 (曲紹介ページにおいて)歌詞の独自解釈を展開するコメント、いわゆる“解釈コメ” 長すぎるコメント 『歌ってみた』系動画や、歌い手に関する話題 「カラオケで歌えた」「学校で流れた」などの曲に直接関係しない、本来日記に書くようなコメント カラオケ化、カラオケ配信等の話題 同一人物によると判断される連続・大量コメント Wikiの保守管理は有志によって行われています。 Wikiを気持ちよく利用するためにも、上記の注意事項は守って頂くようにお願いします。
https://w.atwiki.jp/badgetoreru/pages/75.html
+ ... とびだせ どうぶつの森 キャラクター 274種類 + ... とびだせ どうぶつの森 キャラクター2 206種類 + ... とびだせ どうぶつの森 アイテム 315種類 + ... とびだせ どうぶつの森 アイテム2 238種類 + どうぶつの森 ハッピーホームデザイナー 74種類 どうぶつの森 ハッピーホームデザイナー 74種類 おとこのことテーブル おとこのこ おんなのこ [立ち] おんなのこ [踏み台] x2 しずえ タクミ たぬきち ケント ホンマさん ブルース エレフィン ちとせ ももこ オフィスのとけい タテがきのしょうじょう がっこうのスピーカー よくあるけいこうとう がっこうのロッカー ちきゅうぎ きょうたく たいへいたとモダンなびょういんのベッド パーチク フラッペ マリア アルベルト カルピ ファイルキャビネットL いしゃのつくえ しりょくそくていき しんさつだい びょういんのついたて シーリングファン いりょうワゴン たいじゅうけい てんてき x2 ブーケ ジョン ピータン リリアン ジャンとすべりだい x2 あるみとアセロラのピクニック x2 アンティークなかざりだな バスケットチェア ねこあしバスタブ みどりのベッド まるいシャンデリア いちごギンガムのふく カントリーなほんだな コンソールテーブル はなのリース ガーランド ステンドライト ミックスウッドのタンス パインざいのテーブルセット ポップなシェードランプ パッチワークなソファL かいものぶくろ ふりこどけい パキラ こうふくのき こうえんのベンチ シティサイクル まるたのさく ガーデンライト ゴールドクレスト ビーチなパラソルテーブル バレルプランター トラクター ふんすい x2 + どうぶつの森 amiiboフェスティバル 34種類 どうぶつの森 amiiboフェスティバル 34種類 しずえ ケント タクミ たぬきち とたけけ リセットさん カイゾー リサ シャンク フータ フーコ レイジ きぬよ むらびと [おとこのこ] むらびと [おんなのこ] ブーケ パッチ キャラメル ペチカ(司会) x2 ロボ(展望台) x4 ハニワくん x2 サイコロ スタートマス ラッキーマス1 ラッキーマス2 ラッキーマス3 アンラッキーマス1 アンラッキーマス2 アンラッキーマス3 + どうぶつの森 サンリオキャラクターズコラボ 58種類 どうぶつの森 サンリオキャラクターズコラボ 58種類 しずえなハローキティ ハローキティなしずえ ポムポムプリンxリセットさん シナモロールxとたけけ x4 マイメロディxタクミ x2 リトルツインスターズxまめきち つぶきち x4 けろけろけろっぴxかっぺい x2 ハローキティなリラ ポムポムプリンなマーティー シナモロールなフィーカ マイメロディなチェルシー リトルツインスターズなエトワール けろけろけろっぴなトビー ハローキティなとけい ハローキティなプランター ハローキティなイス ハローキティなテーブル ハローキティなタンス ポムポムプリンなプリン ポムポムプリンなチェア ポムポムプリンなテーブル ポムポムプリンなテレビ ポムポムプリンなラック ポムポムプリンなベッド シナモロールなボード シナモロールなパラソル シナモロールなトレー シナモロールなスツール シナモロールなテーブル シナモロールなソファ x2 マイメロディなとけい マイメロディなイス マイメロディなテーブル マイメロディなドレッサー マイメロディなベッド キキ ララなとけい くもせいぞうき キキ ララなテーブル キキ ララなベッド キキ ララなソファ x2 けろけろけろっぴなおかし けろけろけろっぴなおぜん てるてるなにんぎょう けろけろけろっぴなあかり けろけろけろっぴなろうか x2 けろけろけろっぴなはし x2 + スターフォックス 81種類 スターフォックス 81種類 フォックスチームマーク 零マーク スターフォックス ゼロ(タイトル) x2 スターフォックス ガード(タイトル) x2 スターフォックス(タイトル) x2 スターフォックス64(タイトル) x2 スターフォックス アドベンチャー(タイトル) x2 スターフォックスアサルト(タイトル) x2 スターフォックス コマンド(タイトル) x2 スターフォックス64 3D(タイトル) x2 フォックス(スターフォックス ゼロ) ファルコ スリッピー ペッピー フォックス(スターフォックス) フォックス(スターフォックス64) フォックス(スターフォックス アドベンチャー) フォックス(スターフォックス アサルト) フォックス(スターフォックス コマンド) フォックス(スターフォックス64 3D) フォックス(通信画面) ファルコ(通信画面) スリッピー(通信画面) ペッピー(通信画面) グリッピー(通信画面) ペパー将軍(通信画面) ビル(通信画面) キャット(通信画面) ウルフ(通信画面) レオン(通信画面) アンドリュー(通信画面) ピグマ(通信画面) Dr.アンドルフ(通信画面) アタッカーⅢ バタフライ ガルーダ ミサイル ウルフェン シルバーリング ゴールドリング ミドルサプライ スーパーゴールドリング 勲章メダル 勲章 レーザーエナジー リザーブボム ゴールドエンブレム 救援物資 アーウィン(スターフォックス ゼロ) ウォーカー ジャイロウィング ランドマスター ロードマスター アーウィン(スターフォックス) アーウィン(スターフォックス64) アーウィン(スターフォックス アドベンチャー) アーウィン(スターフォックス アサルト) アーウィン(スターフォックス コマンド) アーウィン(スターフォックス64 3D) スリッピー グリッピー プロテカム(イラスト) アタッカー(イラスト) ビッグG(イラスト) ハイホー(イラスト) ブラウン・カーン(イラスト) トットリー(イラスト) アタッカー シールド ビッグG デビル・アタッカー ハイホー トットリー レッド・タンク + 星のカービィ トリプルデラックス 80種類 星のカービィ トリプルデラックス 80種類 ニンテンドー3DSカメラのバッジ ニンテンドー3DSサウンドのバッジ Miiスタジオのバッジ すれちがいMii広場のバッジ ニンテンドーeショップのバッジ 思い出きろく帳のバッジ ダウンロードプレイのバッジ 本体設定のバッジ カービィ [右手上げ] カービィ [右手上げ左足上げ] カービィ [左手上げ右足上げ] カービィ [右手上げ片足立ち] カービィ [前にダッシュ] カービィ [ダッシュ] カービィ(すいこみ) カービィ [ガード] カービィ [ジャンプ] カービィ [座り] カービィ(ホバリング) カービィ [手前潰れ] カービィ [水面] カービィ(水中) ビートルカービィ x2 ベルカービィ サーカスカービィ スナイパーカービィ x2 ビームカービィ マイクカービィ ファイターカービィ ファイアカービィ x2 アイスカービィ カッターカービィ ニンジャカービィ ボムカービィ ストーンカービィ リーフカービィ スピアカービィ ソードカービィ x2 ウィップカービィ x2 クラッシュカービィ パラソルカービィ x2 ビッグバンカービィ 3Dワープスター x2 ワープスター x2 ワドルディ バンダナワドルディ スカーフィ ブルームハッター ゴルドー シャッツォ ソアラ グランク ブロントバート ビートリー ディングル ホットヘッド ブレイドナイト スパーキー ツキカゲ スパイナム ノディ ファニーロバッツ サーキブル デデデ大王 x4 タランザ x4 サンストーン + 星のカービィ キーホルダーシリーズ1 114種類 星のカービィ キーホルダーシリーズ1 114種類 カービィ [星のカービィ] カービィ(ホバリング) ワープスター x4 カービィ(ミス) さつまいも 激辛カレーライス ワドルディ ブロントバート ツイジー グリゾー x4 ロロロ x2 ラララ x2 カブーラー x4 デデデ大王 [星のカービィ] x4 ウィスピーウッズ x4 デデデ大王(あんぐり) x4 カービィ [星のカービィ 夢の泉の物語] カービィ(すいこみ) ソードカービィ x2 ストーンカービィ カービィ(たいほう) x2 マキシムトマト ワドルドゥ スパーキー ホットヘッド ソードナイト x2 ポピーブラザーズSr. x2 ボンカース x2 ファイアーライオン x4 クラッコ x4 メタナイト x2 デデデ大王 [星のカービィ 夢の泉の物語] x4 ナイトメア パワーオーブ x4 ユーフォーカービィ x2 カービィ [星のカービィ2] カッターカービィ x2 リック カービィ x2 カイン カービィ x2 クー カービィ x2 バウンシー x2 イライール x2 マッシャー x2 ロードキブル イフリーティ x4 マスターグリーン x4 ミスター・フロスティ x4 ヌラフ ネリー x4 アイスドラゴン x4 ダークマター x4 虹のしずく + 星のカービィ キーホルダーシリーズ2 191種類 星のカービィ キーホルダーシリーズ2 191種類 カービィ [星のカービィ スーパーデラックス] カービィ(水中) ヨーヨーカービィ ミラーカービィ ウィングカービィ ジェットカービィ x2 ウィリーライダー x2 マッチョ像 x2 ブレイドナイト パラソルワドルディ ギム ナックルジョー バイオスパーク プラズマウィスプ タック バグジー x2 ボンカース x4 ブロントパート キャピィ スクイッシー ラブリー x2 アックスナイト x2 コックカワサキ x4 ガメレオアーム x4 メタナイト x2 ダイナブレイド x4 マルク x2 スターシップ バル艦長 x2 カービィ [星のカービィ3] ニードルカービィ クリーンカービィ リックパラソル x2 カインスパーク x2 クーニードル x2 チュチュクリーン コモ ガボン ワポッド x2 マンビーズ ヌラフ ワドルディ パクト ボボ チック ブルームハッター ポピーブラザーズJr. ブロッキー ポン コン x4 アクロ x4 描かれたスイートスタッフ x4 ダークマター x4 ラブラブステッキ ぼすぶっちタイトル x4 カービィ [星のカービィ 夢の泉デラックス] ソードカービィ x2 バーニングカービィ フリーズカービィ ハンマーカービィ x2 ハイジャンプカービィ キャンディー スカーフィ コナー ゴルドー シャッツォ サーキブル ソードナイト ツイスター ニードラス レーザーボール フレイマー ロッキー ボンバー クールスプーク U.F.O. ミスター・フロスティ ミスター・チクタク x2 ファンファン x2 ミスター・シャイン ミスター・ブライト x4 ヘビーモール x4 デデデ大王 x2 ナイトメア ウィザード x4 スターロッド 1UP(メタナイト) カービィ(ケータイ) エンジェルカービィ ミサイルカービィ ミニマムカービィ 4色カービィ x2 チップ ビルゲ コロロン リープ ミラン プランク アニー デッシー ドッコーン コックン x4 ヘビーナイト x2 ガレブ x2 バウファイター x2 エアルスター x4 マスターハンド x4 メガタイタン x4 ガブリエル x4 ダークメタナイト x4 ダークマインド x4 マスターソード ディメンションミラー x4 + 星のカービィ キーホルダーシリーズ3 193種類 星のカービィ キーホルダーシリーズ3 193種類 カービィボール ストーンカービィ ホイールカービィ バルーンカービィ x4 カービィ(トロッコ) ワドルディボール ワドルドゥボール メタナイトボール デデデボール ヤリワドルディ バウンシー ソアラ ブリッパー デンドン プクラ 描かれたデデデ大王 x4 デデデ大王 x2 ペイントローラー x4 パラ マター x4 ドロシア ソーサレス x4 魔法の絵筆 x2 カービィ(宝箱) x2 バブルカービィ アニマルカービィ マジックカービィ x4 メタルカービィ ゴーストカービィ マイガ クレット ウジャ x4 フォーリー スターマン ウィリー ガウガウ バブルヘッド アッチー エイブン メタルン チューリン スピン x2 ストロン x4 ドク x4 ミセス・モーリィ x4 ボーボー x4 ダークドロッチェ x4 トリプルスター ゴールデンワドルディ カービィ [星のカービィ ウルトラスーパーデラックス] カッターカービィ ファイアカービィ x2 マイクカービィ コックカービィ x2 スリープカービィ 早撃ちカービィ ワドルドゥ バーニンレオ チリー シミラ バードン カブー グランク ゲイター ギップ グリゾー x4 クーザー ローズラブリー x4 フロッツォ バンダナワドルディ ポピーブラザーズSr. x2 アイアンマム x2 ツイン・ファイアーライオン x4 クラッコ x4 ヘビーロブスター x4 メタナイト x2 カブーラー x4 マスクド・デデデ x4 ギャラティックナイト x4 マルク ソウル x4 犬たまご像 カービィ(3人) x2 天使のカービィ メロン プッポン トリィ x2 ウッホ x2 カクサン x2 ウトウト x2 スパイディオ x2 フラーマ メカオエッグ x2 ブルハンマー x2 ドクロン x2 ドクロ大王 x4 カービィ(10人) x4 アミーボ・アモーレ x4 マホロア x2 タランザ x2 クィン・セクトニア x4 + ハコボーイ! 51種類 ハコボーイ! 51種類 ニンテンドー3DSカメラのバッジ ニンテンドー3DSサウンドのバッジ Miiスタジオのバッジ すれちがいMii広場のバッジ ニンテンドーeショップのバッジ 思い出きろく帳のバッジ ダウンロードプレイのバッジ 本体設定のバッジ キュービィ [立ちポーズ] キュービィ(ラッパー) キュービィ(ポニーテール) キュービィ(ヒーローマント) キュービィ(デビル) キュービィ(ニンジャ) ハコフレンズ [キューシィ] ハコフレンズ [キューディ] x2 キュービィ [ハコ出し] トゲボー ハコ(1) ハコ(2) ハコ(3) ハコ(4) 地形 ハコ 出現ブロック(オフ) 出現ブロック(オン) 王冠 ゴール扉 x4 レーザー [横方向] レーザー [縦方向] レーザー [交差] レーザー [右方向] レーザー [下方向] 移動ブロック クレーン x2 レール [端] レール [横方向] レール [縦方向] シャッター [上部分] シャッター [連続部分] シャッター [下部分] スイッチ [右壁] スイッチ [床] トゲ [左端] トゲ [連続部分] トゲ [右端] + ... ファイアーエムブレム 166種類 + 引ク押スシリーズ 27種類 引ク押スシリーズ 27種類 ニンテンドー3DSカメラのバッジ ニンテンドー3DSサウンドのバッジ Miiスタジオのバッジ すれちがいMii広場のバッジ ニンテンドーeショップのバッジ 思い出きろく帳のバッジ ダウンロードプレイのバッジ 本体設定のバッジ マロ [立ち] マロ [寝転がり] おじいさん コロン ポピー パポ ポポ ピッピ ププ ペペ ブルータス こども [赤] こども [黄色] こども [ピンク] こども [青] はこびトリ [黄緑・横] はこびトリ [黄緑・正面] はこびトリ [水色] はこびトリ [橙]
https://w.atwiki.jp/soundtasukeai/pages/22.html
adx2leウィキ、adx2le wiki ADX2 LE情報(facebook ADX2ユーザー助け合い所からコピー) 検索にひっかかるようにwikiにADX2LEでのスクリプトのヒント集をwikiにまとめたページになります。 ゲームサウンドを強力にサポートする ADX2LEダウンロードはこちら→ADX2 LE公式サイト ADX2用語集→ADX2用語集 オンラインマニュアル→オンラインマニュアル ADX2UnityPluginオンラインマニュアル→ADX2UnityPluginオンラインマニュアル AtomCraftマニュアル→Craftマニュアル ADX2に限らずゲームサウンドチャット場➡︎ゲームサウンド制作よろず Atom? エディターじゃないよ CRIAtomといってADX2の下で動いているモジュール名 ADX2ポータルはこちら→ADX2ポータル ADX2 LE採用タイトルはこちら→ADX2 LE採用タイトル ADX2Tips→http //criware.info/adx2tips/ なお、ここに書いてある情報はADX2とADX2LE両方の情報になります。一部LEでは未実装な機能もあるかもしれません。(わかる範囲で書いています) Unity向けの場合は一部の機能に制限されている場合があります。(一部のDSP関連のCallback(フィルターやシームレス連結コールバック)など) 目次 目次 トラブルシューティング古いツールで開けない DSPバス設定が今までと違う バスにセンドした音がでない カスタムプラグインに何もでてこない カスタムプラグインの影響でツールが起動しない AtomWindowが開かない うまくアップデートできない MonoDevelopでビルドするとエラー PCでビルドしようとしたらエラー The number of Field exceeds the number of MAX Field.とエラーになる CRI runtime library is not compatible. Confirm the version number. CriWareLeStub.csでエラー [CRIWARE] Error E2010040102 Can not find specified cue name. (Specified cue name is 'Beat1'.) Windows7 Windows8でUnityでエラー?XAudio2がなんとかで音が出ない場合 ACBHnでランタイム時に管理されいてるもの対戦などで、2人が同じキャラを選んだ場合の動作 仮想環境でCRIAtomCraftを動かす時の注意 CRIAtomCraftをAssetsフォルダ以下に配置してはいけない理由 突然爆音になる? 突然音が鳴らなくなった AtomWindowにキューが表示されない 突然エディタが終了する アップデートがうまくいかない ループ再生で音がループしない トラックで音が重なって鳴ってしまう ブロックの再生がまれにずれる ビート同期再生で音が重ならない セレクタを設定したキューを鳴らそうとしても鳴らない シーケンスマーカーいろいろ曲の途中から再生する音にする 曲の途中で終わらせる 曲の開始位置をランダムに再生する音にする AISACいろいろBGMをハイパスエフェクトを通した音にする アクションいろいろ特定キューを止めるキュー キューにつけたAISACを動かすキュー カテゴリにつけたAISACを動かすキュー キューにつけたセレクタを動かすキュー プレーヤーのフェードパラメータを変更するキュー BGMのピッチを下げつつ音を止める 複合技いろいろ「飛ばし」みたいな演出をする 「飛ばし」みたいなのの別回答 「飛ばし」みたいなのの別回答2(ビート頭で飛ばす) サイドチェインコンプ はじめに効果音を作りたい シーンの初期手順 ACFはどこで指定するの? スクリプトはじめADX2LE用の音を鳴らす為のSoundManager.csを作る CriAtomSourceコンポーネントの追加(スクリプトから追加) CriAtomSourceコンポーネントの取得 再生/停止/ポーズ/ポーズ解除 (Unity AtomSourceの関数) スクリプト特殊特殊な再生開始(時間指定して、フェードイン、フェードアウト設定を上書き) (Playerの関数) Pitch/Volume変更 (Unity AtomSourceの関数) Pan変更 (Unity AtomSourceの関数) パンの奥行き感をだす 3Dポジショニング[トラブルシュート]3D Positioningをチェックしても音の位置が変化しない [トラブルシュート]PanTypeを変えても音の位置が変化しない (AtomPlayerの関数) [トラブルシュート]リアスピーカの音がしない AISAC変更 (Unity AtomSourceの関数) カテゴリボリューム変更 (Atomの関数) カテゴリにつけたAISACの変更 (Categoryの関数) バスについて バスセンド(リバーブ量変化等) (Unity AtomSourceの関数) DSPバスのボリューム変更 (Asrの関数) ASRって何? ASRラックって何? スクリプト【状態取得】再生時刻の取得 (Unity AtomSourceの関数) 音楽のタイミングに合わせて何かしたい場合 (Playerの関数) シーケンスの時刻を得る (Playbackの関数) 再生状態の取得 (再生中かどうか) (Unity AtomSourceの関数) 振幅レベルをとりだす(プレーヤーから)(音量チェック、ピークメータ表示、口パク等) (PlayerOutputAnalyzerの関数) 振幅レベルをとりだす(バスから)(音量チェック、ピークメータ表示、口パク等) (Atomの関数) バスの波形フィルターコールバックを使って波形を参照したり直接加工する (AsrBusFilterCbの関数) プレーヤーの波形フィルターコールバックを使って波形を参照したり直接加工する (PlayerFilterCbの関数) ACF情報(カテゴリ、ゲーム変数、AISACコントロール)の取得 (Acfの関数) ACB(キューシート)情報の取得 キュー情報一括取得 (Acbの関数) キュー名とキューID一覧を得る (Acbの関数) キュー情報取得(キュー名指定) (Acbの関数) DSPバス設定のスナップショット切り替え (AsrRackの関数) スクリプト【ブロック再生】再生中のブロックインデックスの取得(ブロック再生)(Playbackの関数) 再生中のブロックインデックスの指定(ブロック再生)(Playbackの関数) 再生開始前にブロックをセットして再生(ブロック再生) (Playerの関数) シーケンスコールバックを得る (Sequencerの関数) スクリプト【ビート同期】BGMのビートを取り出す(ビート同期する処理) レイテンシー音で確認 バッファサイズ(サンプル数)とレイテンシー ADX2で音が遅れる一般的な要因と回避策 オーディオサーバーの周期 処理負荷 【for Unity iOS で遅延を減らしたい】 【for Windowsで遅延を減らしたい】 【ADX2LE iOSで遅延を減らしたい】 音の停止判定は遅い? スクリプト【テクニックアラカルト】サンプルディレイみたいなのはありますか? (Playerの関数) 再生開始位置をずらす XYでAISACを変更する(カオシレータ風) (Playerの関数) iOSなどバックグラウンドになった時にBGMを一時停止/復帰する AtomSourceからCriAtomExPlayerを得る(CriAtomExPlayerを呼び出す改良) AtomSourceからCriAtomExPlayerを初期設定に戻す(リセット) (Playerの関数) シーケンシャルを最初に戻す (Acbの関数) そのほかのリセット的な処理 シークして再生(シーク再生、途中から再生)(Playerの関数) 再生中の音をピッチベンドする (Playbackの関数) Updateで更新されるパラメータについて音が変化しないといった時は、Update系の処理を呼ぶ必要を検討します。 パラメータのセットと、再生のリクエストのタイミングについて もっとなめらかな変化が欲しい場合 AtomExPlayerを使用した再生 (Playerの関数) selectorLabelを設定する (Playerの関数) スクリプト【Unityの物理とかで再生制御】キューブをクリックすると再生/停止をする キューブに触れると再生/停止する スクリプト【初期化、ロード関連】スクリプトでのacbロードと解放の仕方 CRIAtomオブジェクトを用意する より簡単にStreamingAssets以外のパスから読む方法(New) ACFの登録をスクリプトから行う イニシャライザとか別オブジェクトだけど、スクリプトからできない? ADX2LEはApplication.temporaryCachePath等に保存してあるオーディオファイルを再生する・・・的な事は出来ますか? スクリプト【サウンド関連パラメータ変換】MIDIノートNoから音程を設定(0~127 - cent値) MIDIベロシティから音量を設定(0~127 - 0.0~1.0) 周波数からMIDIノートの変換(Hz - MIDINoteNo) (MIDIノート)から周波数の変換(MIDINoteNo - Hz) CRI Pitchから再生速度へ変換(cent値 - 0.0~4.0) BPMから一拍の長さ(msec)に変換 BPMから再生速度に変換 再生速度からCRI Pitchへ変換(0.0~4.0 - cent値) dBからCRI Volumeに変換(-96dB~+6dB - 0.00 ~ 2.00) CRI VolumeからdBに変換(0.00 ~ 2.00 - -96dB~+6dB ) インゲームプレビュー(他のマシンへ接続) PCでオーディオデバイスを切り替える関数 エフェクトパラメーターを直接いじる エフェクトの設定を取得する スクリプトでACFからとれる情報 スクリプトでACBからとれる情報 その他 ADX2Web版でありそうな対処 ご意見はこちら トラブルシューティング 古いツールで開けない CRFATは基本的に新しいツールでデータを作ってしまうと古いツールで開けなくなります。 この場合、最悪目コピーで復元する必要がでてきますが、キューシートの情報であれば、CSVインポートエクスポートが使える場合があります。 DSPバス設定が今までと違う 今までと同じように使いたい場合 1.BUSを8個追加し 2.バスマップのBusMap_Defaultのバス名のところを全て設定する。 3.AISACオートーメーション用バスマップのバス名のところを全て設定する。 バスにセンドした音がでない DSPBusSettingのバスのセンドにMasterOutを追加する。 カスタムプラグインに何もでてこない エフェクトプラグインマネージャーでプラグイン検索パスを追加する カスタムプラグインの影響でツールが起動しない iniファイル C \Users\ユーザ名\AppData\Local\CRIWARE\Adx2\CriAtomCraft\ CriAtomCraft.iniの記述 vstPath=C \\Program Files\\Common Files\\Steinberg\\VST2 を空フォルダにパスに置き換えて回避する AtomWindowが開かない Qiita記事「AtomWindowが開かない」➡︎https //t.co/QLsXLdQSTR うまくアップデートできない UnityEditor上で関連するコンポーネントなどが認識されている状態だとうまくImportができないようです。 ので まず、空のシーンを作る。 Unityを閉じる。 Unityを開いてcriware_unity_plugin.unitypackageをAssetsにドロップしインポートする。 とするとうまくいくはず。 MonoDevelopでビルドするとエラー エラーのでるProjectを右クリックしOptionsを選択、Build GeneralのTargetframework を「Mono/.Net 4.0」を選択する。 ※SolutionリストのAssembly-CSharp_Editorとかの右クリックです。(よくSolutionのOptionをみて項目が無くて焦るので) PCでビルドしようとしたらエラー Assets/Plugins/CriWare/CriHcaDecoder.cs(45,36) error CS0117 `System.IO.File does not contain a definition for `ReadAllBytes がでてるけど? Unity EditorのPlayerSettingがiOSになっていると出ます。(Macで作業したプロジェクトなど) WindowsではiOSがビルドできないため、Unity EditorのPlayerSettingでiOS以外(PCなど)にSwitchPlatformして下さい。 The number of Field exceeds the number of MAX Field.とエラーになる もしくは、 [CRIWARE] Error E2012113003 Invalid parameter. など。 これはデータフォーマットが不正な場合に起こります。ツールとランタイムのバージョンが合っているかどうか確認してください。 (ランタイムが古く、データが新しいフォーマットの場合に起こりやすいです) CRI runtime library is not compatible. Confirm the version number. これもデータの不整合が考えられるのですが、他に、 unity実行後に「criware_unity_plugin.unitypackage」をインポートした場合、 一部のオブジェクトが正しくインポートできない(実行中のファイルの上書きなどに失敗)している可能せがあります。 「criware_unity_plugin.unitypackage」を確実に再インポートするには、 ファイルメニューから、「New Scene」 を選択。 Unityを一度終了する。 Unityを起動する。 「criware_unity_plugin.unitypackage」をダブルクリックしてインポートする。 これで、確実にインポートができます。 Unity側で、一度でもシーンが実行されてしまう(Editor上でも)と、ファイルがロックされてしまうので、 空のシーンにしてから再起動する必要があります。 CriWareLeStub.csでエラー これは、ADX2LEを動かすためのソースです。ADX2プロ版の場合は不要ですので削除してください。 [CRIWARE] Error E2010040102 Can not find specified cue name. (Specified cue name is Beat1 .) これは、キュー名「Beat1」が見つからないというエラーです。正しくacbがロードされていない場合に起こります。 キューが見つからない場合にも起こります。 Windows7 Windows8でUnityでエラー?XAudio2がなんとかで音が出ない場合 これでWindows7 ADX2LE動いた→ DirectX エンド ユーザー ランタイム Web インストーラ という報告があります。 参考→http //watery.dip.jp/slash/archives/2118 なお、最近のバージョンではWASAPIに対応しているため、上記の問題が起こらないかもしれません。 ACBHnでランタイム時に管理されいてるもの ランダムやシーケンシャル、シャッフルなどのキューごとの状態(どのトラックを最後に再生したかなど、再読み込みするとリセットされる。 キューリミット、キューシートキューリミット 関連情報 対戦などで、2人が同じキャラを選んだ場合の動作 例えば、 対戦などで、2人が同じキャラを選んだ場合に、 それぞれ固有のランダムやリミットをしたい場合は、 ACBHnを別にして処理することで、それぞれで個別にできます。 (それぞれでランダムとかなので、同じセリフが連続するといったことも発生します。) 上記とは別に、 似たような機能で、1つのACBでも、サウンドオブジェクトの機能で、影響の範囲(スコープ)を全体か、オブジェクトごとかといった違いをつけるといったこともできます。 (全体で制御したいか、サウンドオブジェクトに関連するプレーヤー単位で制御したいかといった制御、例えば、二人くらいならACBロードでもよいけど、大量にでてくる敵キャラごとに個別にしたいといった場合など) 仮想環境でCRIAtomCraftを動かす時の注意 Macで作業する場合、ParallelsやVMWareなどの仮想環境でAtom Craftを動かす事になる。 このときビルドの出力先は通常のWindowsが認識出来るフォルダに設定する必要がある。 ほとんどの場合デフォルト設定のままで良いのですが、 仮想環境がファイルを同期するような特殊なフォルダの場合正しく出力できない場合があります。 (例:マイドキュメントがMacのドキュメントと共有されている等) ドライブレター(C とか)が含まれるフォルダであれば問題ありません。(\\から始まるパスだとうまくいかない) UnityではMac側で認識可能な共有フォルダを指定すると良い。(稀に共有にラグが発生するので日付など確認するとなお良い) CRIAtomCraftをAssetsフォルダ以下に配置してはいけない理由 Assetsを共有したい目的で、Assetsフォルダ以下にCRIAtomCraftのプロジェクト(.atmcproj)を置くと、 元素材の波形やビルド時に生成されるキャッシュファイルや生成されたcsファイルが多重にUnityに認識されて問題が発生します。 波形や関連ファイルが多いとUnityのロードに時間がかかります。 AtomCraftのファイルはAssetsフォルダの外側(Assetsと同階層または一つ上の階層にAtomCraftフォルダを作ってその中とか) で作成/管理し、生成物(.cs,acb,acf,awb)のみAssetsフォルダ内にコピー(CRI Atom WindowでUpdate)すると良いです。 突然爆音になる? 以下の操作時 コーデックがADXでシーク再生を行う ツールで再生位置を変えてプレビューした 原因として以下のものが考えられます。 ADXでのシーク再生は推奨されません。(ADXの場合、ADPCM的な予測値が不明になるため、無音部分以外のシークは問題が起こる場合があります。) HCAでは問題が起こらないため、ターゲットコンフィグのデフォルトコーデックをADXからHCAなどに変更すると良いです。 他、LEのみの使用では通常起りませんが、ADX2LEではないプロ版のデータを再生しようとした場合にも正しく発音されない場合があります。 爆音については、スピーカやヘッドフォン、耳を痛めてしまう恐れがありますので、ご注意ください。 暗号化のかかったデータの場合なども同様に爆音になる可能性が高いです。 突然音が鳴らなくなった ➡︎プレビュー再生で、「AWBのビルドに失敗しました」となった場合、previewCacheフォルダ内のAWB名のファイル(.awb,.TmpAwb,.oldなど)を削除すると復活する場合があります。 AtomWindowにキューが表示されない ➡︎UnityのCriAtomWindowにキューの情報が表示されていない場合、一度アプリを実行して実行中にGetInfoボタンを押すとリストが得られる。 突然エディタが終了する ➡︎ADX2LEはネイティブプラグインで動作しています。そのため、初期化などが正しく行われていない場合にCri〇〇といった関数にアクセスが行われるとUnityEditorごと落ちてしまいます。 もし、複雑な処理で落ちてしまうような場合、まずCri〇〇の呼び出しをコメントアウトし安定して動作するか確認し、 もしCri〇〇の呼び出しが原因と分かった場合、次にどのタイミングで落ちてしまうかをチェックします。 チェックは地道にコメントアウトを少づつ外して行くといった方法になります。 アップデートがうまくいかない 「CRIWARE Unity Plug-in」をアップデートする場合、プロジェクトを開いた後、まだシーンをロードしていない状態で、新しいカスタムパッケージをインポートしてください。 変更があるファイルのみ上書きされます。 いったんシーンをロードしてしまうと、パッケージのインポートに失敗する場合がありますので注意してください。 発音数が足りない Cri Ware InitializerのStandard Voice Poolの数を増やす あと、VirtualVoice(仮想ボイス)も合わせて増やす。 ストリーム数を増やす場合はFileSystemのストリーム数も増やす。 発音数の確認スクリプト(デバッグ用途) TextVoices.text = string.Format("{0} vocies", CriAtomExVoicePool.GetNumUsedVoices( CriAtomExVoicePool.VoicePoolId.StandardMemory).numUsedVoices + CriAtomExVoicePool.GetNumUsedVoices( CriAtomExVoicePool.VoicePoolId.HcaMxMemory).numUsedVoices); 発音数はボイスプールごとにある。ボイスプールの最大発音数もとれる。 CriAtomExVoicePool.GetNumUsedVoices( CriAtomExVoicePool.VoicePoolId.StandardMemory).numPoolVoices iPhone/Android同時開発で同じビルドデータを使いたい iPhoneとAndroid共有したい場合、Androidで出すといい。 理由は、低遅延再生のためのパラメータパレット設定(Native)がAndroidでのみ出力されるから。 Androidの設定の初期設定では44100でリサンプリングされてしまう。 これを避けるには強制リサンプリングレートフラグをfalseにする。 ただし、気をつける点として、低遅延再生(Native)を使う場合に44100でないとエラーになる。 低遅延再生(Native)を使うとBusエフェクトは効かない。 フィルターも使えない。あくまで、そのまま再生する用として使う。 低遅延再生は、音ゲーなどでのタップ音などにのみ使う。 低遅延再生(Native)はいろいろ制限があるので注意。(Androidの機種やバージョンなどによって発音負荷や動作が異なる) あと、iPhone/Androidはデフォルト設定だとADXコーデックなので、HCAに変更する。 ループ再生で音がループしない ➡︎タイムラインでのループマーカーでは波形の途中に戻るようなループはできません。ループ区間内に波形の出だし部分があるもののみ再度再生されます。 他にマテリアルの設定でループをつけるとサンプルレベルの精度でループが可能です。 他に「自動繰り返し間隔」を指定することでオーバーラップや間を入れてループといったこともできます。 トラックで音が重なって鳴ってしまう ➡︎トラックの設定の「トラックMonoフラグ」をオンにすると、重ならないようになります。 ブロックの再生がまれにずれる ➡︎サーバー周期が低い場合に起こります。サーバー周期をあげることで改善する場合があります。 ビート同期再生で音が重ならない ➡︎ビート同期再生は、次の音へ切り替わるような動作のため、複数の音をリクエストした場合に最後のリクエストした音のみが再生されます。 複数の音を鳴らすキューをアクションで呼び出すなどの工夫が必要です。 セレクタを設定したキューを鳴らそうとしても鳴らない ADX2(LEはまだ)セレクターの設定に「グローバル参照セレクターラベル」というのがあり、これを設定しておくことで、指定したセレクタの音が再生できる。 「グローバル参照セレクターラベル」はプログラムで変更が可能。 キュー固有で特定のラベルを指定したい場合は、キューの「デフォルト参照セレクターラベル」を設定しておく。 こちらを設定した場合、プログラムで「グローバル参照セレクターラベル」を変更しても影響を受けないようにもできる。 シーケンスマーカーいろいろ 曲の途中から再生する音にする 1.キューを作る 2.BGMをキューにドロップしてトラックを作る 3.キューに「シーケンススタート」マーカーを作成する 4.マーカーの位置を適宜ずらす 5.適当にウェーブフォームのエンベロープのアタックなどをいじってフェードインっぽくする 曲の途中で終わらせる 1.キューを作る 2.BGMをキューにドロップしてトラックを作る 3.キューに「シーケンスエンド」マーカーを作成する 4.マーカーの位置を適宜ずらす 5.適当にウェーブフォームのエンベロープのリリースなどをいじってフェードアウトっぽくする 曲の開始位置をランダムに再生する音にする 1.キューを作る 2.BGMをキューにドロップしてトラックを作る 3.キューに「シーケンススタート」マーカーを二つ以上作成する 4.マーカーの位置を適宜ずらす 5.適当にウェーブフォームのエンベロープのアタックなどをいじってフェードインっぽくする シーケンススタートが複数あると、ランダムにどれかから再生されます。 AISACいろいろ BGMをハイパスエフェクトを通した音にする 1.キューを作る 2.BGMをキューにドロップしてトラックを作る 3.トラックにAISACを追加し、「バンドパスフィルター-低域」を作る。 4.AISACのカーブを右肩上がりにする。 5.AISACを動かすとハイパスになる。 下記にあるアクションでAISACを動かしたり、REACTでAISACを動かしたりすることができる。 アクションいろいろ 特定キューを止めるキュー キューをリクエストすると、再生中の特定のキューのみを停止するキューの作り方 1.キューを作る 2.アクショントラックを作る 3.アクショントラックのトラックヘッダーに止めたいキューをドロップ 4.アクショントラックに「停止」アクションを追加する。 キューにつけたAISACを動かすキュー キューをリクエストすると、AISACを一定時間かけて変更するキュー 1.キューを作る 2.アクショントラックを作る 3.アクショントラックのトラックヘッダーにAISACを動かしたいキューをドロップ 4.アクショントラックに「再生パラメータアクション」アクションを追加する。 5.「パラメータ変更」アクションのタイプをAISAC0、変更値、変更時間を設定する カテゴリにつけたAISACを動かすキュー キューをリクエストすると、カテゴリにつけたAISACを一定時間かけて変更するキュー 1.キューを作る 2.アクショントラックを作る 3.アクショントラックのトラックヘッダーにカテゴリをドロップ 4.アクショントラックに「再生パラメータアクション」アクションを追加する。 5.「再生パラメータタイプ」をAISACコントロール0、目標パラメータ値、目標への速度を設定する キューにつけたセレクタを動かすキュー キューをリクエストすると、特定のキューのセレクタを変更するキュー 1.キューを作る 2.アクショントラックを作る 3.アクショントラックのトラックヘッダーにキューをドロップ 4.アクショントラックに「セットセレクタラベル」アクションを追加する。 5.「セレクタラベル」を設定する プレーヤーのフェードパラメータを変更するキュー 1.キューを作る 2.プレーヤーアクショントラックを作る 3.プレーヤーアクショントラックに「プレーヤーフェーダー」アクションを追加する。 4.「フェードイン時間」「フェードアウト時間」「カーブタイプ」を設定する なお、フェーダーは別途、ランタイムでつけておく必要がある。 BGMのピッチを下げつつ音を止める 1.キューを作る 2.アクショントラックを作る 3.アクショントラックのトラックヘッダーにカテゴリをドロップ 4.アクショントラックに「再生パラメータアクション」アクションを追加する。 5.「再生パラメータタイプ」をピッチ、目標パラメータ値を-1200、目標への速度1.0を設定する 6.「停止」アクションを追加する。 複合技いろいろ 「飛ばし」みたいな演出をする 1.DSPバス設定にバスを追加する(飛ばし用のバス) 2.バスにエフェクト(リバーブ)をつける。 3.バスのセンド先をMainにつなぐ 4.バスマップで、飛ばし用バスを追加する 5.BGMのキューを作る 6.BGMのキューの飛ばし用バスを最大出力にする これで、エフェクトのかかった音が準備できたので、今度はこれらをコントロールキューを作る 1.キューを作る 2.アクショントラックを作る 3.アクショントラックのトラックヘッダーにBGMキューをドロップ 4.アクショントラックに「再生パラメータアクション」アクションを追加する。 5.「再生パラメータタイプ」をバスセンド(飛ばし)、目標パラメータ値を0、目標への速度10.0を設定する 6.「再生」アクションを追加する。 これで、エフェクトが抑えられた状態でBGMが鳴らせる。 次に飛ばしつつ止めるキューを作る 1.キューを作る 2.アクショントラックを作る 3.アクショントラックのトラックヘッダーにBGMキューをドロップ 4.アクショントラックに「再生パラメータアクション」アクションを追加する。 5.「再生パラメータタイプ」をバスセンド(飛ばし)、目標パラメータ値を1、目標への速度10.0を設定する 6.「停止」アクションを追加し、適宜後ろへずらす。(止まるまで少し時間かかる分の音だけエフェクトへ飛ばす) 「飛ばし」みたいなのの別回答 1.通常の音楽と、 その音楽にめっちゃリバーブのかかった音を用意する。 2.トラックにそれぞれ音を追加する これで、両方が同時に鳴っているキューができる。 次にこれを制御するキューを用意する。まずドライ音用キュー 1.キューを作る 2.アクショントラックを作る 3.アクショントラックのトラックヘッダーにBGMキューをドロップ 4.アクショントラックに「ミュートアクション」を追加する。 5.「トラックインデックス」を0、ミュート状態を「ミュート解除」 6.アクショントラックに「ミュートアクション」を追加する。 7.「トラックインデックス」を1、ミュート状態を「ミュート」 次にWet音用キュー 1.キューを作る 2.アクショントラックを作る 3.アクショントラックのトラックヘッダーにBGMキューをドロップ 4.アクショントラックに「ミュートアクション」を追加する。 5.「トラックインデックス」を0、ミュート状態を「ミュート」 6.アクショントラックに「ミュートアクション」を追加する。 7.「トラックインデックス」を1、ミュート状態を「ミュート解除」 メリットとしては、DSPエフェクト使わずお気に入りのかかった音を用意できる。 デメリットとしては2音常に再生し続けている状態になっている。 「飛ばし」みたいなのの別回答2(ビート頭で飛ばす) 1.通常の音楽と、 その音楽にめっちゃリバーブのかかった音を用意する。 2.トラックにそれぞれ音を追加する 1.セレクタによるトラック遷移キューを作る 2.トラックを2つ用意し、それぞれ波形を配置 3.セレクタを用意する。セレクタラベルを2つ用意する 4.トラックにセレクタラベルをセットする。 5.「ビート同期マーカー」を追加する(適宜BPMを設定する) 次にセレクタを切り替えるキューを用意する 1.キューを作る 2.アクショントラックを作る 3.アクショントラックのトラックヘッダーにBGMキューをドロップ 4.アクショントラックに「セットセレクタラベル」を追加する。 5.「セレクタラベル」をセットする これをトラックの数用意する。 (止める場合は、「停止」のアクションも追加する) これの良いところは、発音数が1で、クロスフェードする瞬間だけ2音になる。(すごく少ない発音数で済む)且つ、サンプルレベルで同期している。 さらに、 全体の尺が同じであれば、BPM違いのBGMを用意することもできる。 (トラックにBPM設定をする) サイドチェインコンプ DSPバス設定に「振幅解析機」と「コンプレッサー」を用意して、声とかバスドラ(?)を聞こえやすくするような効果を作る。 1.バスを用意、トリガーとなるバス、影響を受けるバス(BGMとか) 2.トリガーのバスに「振幅解析機」をつける 3.受けるバス(BGMとか)に「コンプレッサー」(こちらはセンド先をMasterOutにする) 4.バスマップを用意する(トリガー、BGMなど) トリガーのキューの設定 5.キューで、トリガーバスを指定し1.0をバスセンドしておく。 BGMのキューの設定 5.キューで、BGMバスを指定を指定し1.0をバスセンドしておく。MasterOutは0にする。 BGM再生中に、トリガーのキューを鳴らすとBGMにコンプがかかる。 はじめに 効果音を作りたい スライドの33ページから「爆発音」「レーザー音」「サイレン音」など作ってみましょう。 ↑チップチューン風の音が作れます。 ツールの基本的な使い方動画 シーンの初期手順 UnityでPluginをインストールした後に以下の手順でシーンに最低限必要なオブジェクトを作成します。 ①「CRI」メニューからCreate CRIWARE Libraly Initializerを選択し、ADX2システム初期化の為のオブジェクトをシーンに追加する。 ②「CRI」メニューからCreate CRIWARE Error Handlerを選択し、エラーハンドラをシーン追加 ③「CRI」メニューからOpen CRI Atom Window ...でCRIウィンドウを開きそのウィンドウ内の Select Assets Rootボタンで[Atom Craftの出力したAssetsフォルダ]を指定します。 Update Assets of "CRI Atom Craft"ボタンでACF,ACBを更新します。 この手順でツール「CRI Atom Craft」で作ったデータを更新する事ができます。 AtomCraftの(cs,acf,acb,awb)ファイルが正しく認識できたら ④「CRI Atom Window」の「CreateGameObject」ボタンを押してAtomSourceのついたオブジェクトを作成します。 この時、同時にCRIWAREオブジェクトが生成されます。 生成されたオブジェクトの「Play on Start」をチェックし再生確認をする。 ACFはどこで指定するの? CriWareInitializerのInitialize Atomの項目にあるACF File Nameに NewProject.acfといった名前で設定します。 または CRIWAREのCRI Atom(Script)で設定します。 CriAtomスクリプトにもACF Fileの項目がありますが、こちらは特に指定しなくても問題ありません。 逆に両方指定してしまうと2回初期化しようとしてエラーが発生します。 スクリプトはじめ ADX2LE用の音を鳴らす為のSoundManager.csを作る ①シーンに空のGameObjectを生成し、SoundManagerと名前をつける。 ②プロジェクトにC#スクリプトを作成し、SoundManager.csと名前をつける。 ③ ①で作ったオブジェクトに②で作ったcsをドロップし、コンポーネントとしてくっつける。 あとはこのcs内でAtomSouceを生成しても良いし、くっつけたコンポーネントを操作するも良い。 AtomSourceのスクリプトでの作り方は次に書いてある。 CriAtomSourceコンポーネントの追加(スクリプトから追加) atomSourceSe = gameObject.AddComponent CriAtomSource (); atomSourceSe.cueSheet = cueSheetName; //キューシート名指定 AtomSourceコンポーネントをスクリプトで作りたい場合はStart()内などに上記のスクリプトで追加すると、 実行時にCriAtomSourceが追加されます。 複数のAtomSourceをつけたい場合など上記のようなやり方もできるという例になります。 CriAtomSourceコンポーネントの取得 atomSourceSe = gameObject.GetComponent CriAtomSource (); ゲームオブジェクトにくっついてるAtomSourceコンポーネントを取得します。 スクリプトで制御したい時にこれを使って取り出す。 再生/停止/ポーズ/ポーズ解除 (Unity AtomSourceの関数) atomSourceSe.Play(4); // キューID指定再生 atomSourceSe.Play(“orchehit”); //キュー名指定再生 atomSourceSe.Stop(); atomSourceSe.Pause(true); atomSourceSe.Pause(false); 再生関数には、番号(ID)指定と名前(ラベル)指定の二種類があり、どちらでも好みのものを利用できます。 スクリプト特殊 特殊な再生開始(時間指定して、フェードイン、フェードアウト設定を上書き) (Playerの関数) atomsourceSelect.startTime = 30*1000; //30秒目から atomsourceSelect.Player.SetEnvelopeAttackTime(2000f); //2秒フェードイン atomsourceSelect.Player.SetEnvelopeReleaseTime(2000f); //2秒フェードアウト atomsourceSelect.Play(); //再生 Pitch/Volume変更 (Unity AtomSourceの関数) atomSourceSe.pitch = 100; // cent(100で半音) atomSourceSe.volume = 1.0f; // 1.0で原音と同じ振幅レベル 【即時反映】 ピッチやボリュームは変更したらすぐに反映します。 これは、同じatomSouceSeで複数の音を再生している場合、全ての音に反映します。 再生中の音に反映させたくない場合はピッチベンドの項目を参考にしてみてください。 Pan変更 (Unity AtomSourceの関数) パンは360度のパンになっており、ITU5.1chに合わせ LRの角度は30度、サラウンド(後ろ側)は120度の範囲で指定します。 atomSourceSe.pan3dAngle = -30; // Lスピーカから再生 2Dゲームであれば、-30~+30の範囲をL~Rとみなして操作することができます。 なお、後ろ側へパンをした場合、音が消えてしまうタイプと、ダウンミックス(4ch- 2chにダウンしてミックスされる)が行われる 場合があり、ハードウェアやプラットフォームに依存します。 (ダウンミックスされる場合は-3dBほど下がってフロントスピーカへ出力される。) パンの奥行き感をだす pan3dDistanceは初期値は1.0で 値が小さくなると他のスピーカから漏れていくようになり、0.0で完全に定位がなくなります。 1.0がスピーカの配置の円周上、0.0が全スピーカの中央となります。 atomSourceSe.pan3dAngle = 0.80; // 若干音像がぼやける (ステレオだと中央に寄る) 例えば、 画面の手前にいるキャラクタはしっかりと音の定位を動かし、遠い側にいるキャラは0.5くらいにして定位をぼかすといったことができます。 画面構成によってはまったく別パターンもあり ある距離無いは定位をぼかし、ある距離が一番定位がしっかりし、さらに遠くは音量が下がりつつまたぼかすといった形になります。 (カメラのフォーカス、マイクのフォーカスなどのイメージになり、画角が広い、狭い、望遠か近距離かなどでも演出方法が変わります) また、ゆっくりと音が頭上を通り抜ける場合(対角線上のスピーカへの移動)などにもこのパラメータを使うことで、スピーカ感の音のジャンプを防ぐことができます。 他にも、メニュー画面に遷移した時に0.0にしてモノラル風にし、ゲーム開始で1.0に変化させることで、 空間の広がり感の変化のメリハリをつけるといった効果も考えられます。 単純に音源までの距離とは違う場合があります。例えば、音源の大きさで考えることもあります。 大きな噴水の近くでは音像がつつまれる感じになるため0.0に近くなり、蚊や蜂などが30cm以内で飛ぶような音の表現は1.0になります。 3Dポジショニング 3Dポジショニングは毎フレームアップデートしつつ、CRI ListenerとのCRI SoundSourceの位置関係から音の定位をします。 さらに、距離減衰やドップラー、音源コーンなどの効果をもたせることができます。 トレードオフとして演算量や設定の手間が増えますが、距離AISACなどと組み合わせることで、自動化しつつ音の変化の表現を豊かにすることも可能です。 例えば、サラウンド側にまわった音はAISACでローパスフィルタの周波数をさげるなど。 注目させたい、ここぞという音につけていくのが効果的です。 [トラブルシュート]3D Positioningをチェックしても音の位置が変化しない AtomCraft側で [ウェーブフォームのPanTypeをオート] [キューの距離減衰を設定] にする必要がある [トラブルシュート]PanTypeを変えても音の位置が変化しない (AtomPlayerの関数) atomPlayer = new CriAtomExPlayer(); // AtomExPlayer()作成 atom3dSource = new CriAtomEx3dSource(); atomPlayer.SetPanType(CriAtomEx.PanType.Pos3d); atomPlayer.SetCue(null,"synth"); atomPlayer.Set3dSource(atom3dSource); atomPlayer.Set3dListener(CriAtomListener.instance.internalListener);//リスナーもセット void Update () { atom3dSource.SetPosition(this.transform.position.x,this.transform.position.y,this.transform.position.z); atom3dSource.Update(); } [トラブルシュート]リアスピーカの音がしない 正確には、iPhoneなど2ch出力の機種で、サラウンド側にある音が聞こえない場合の対処です。 マトリクスのエフェクトをつかってスピーカ出力のルーティングを変えることで、フロントへまわします。 これだと音量が1.5倍になるからヘッドルーム(音量の最大に達しないように音量を小さくし余裕をもつ事)を多めにしておく必要あり 他にも前後で音の質感を変えたい場合などにもマトリクスを使う方法もあります。 サンプルソース ADX2LE3DPosTest AISAC変更 (Unity AtomSourceの関数) atomSourceSe.SetAisac(aisac_id,value);//AISACコントロールID指定 atomSourceSe.SetAisac(“Any”,value); //AISACコントロール名指定 AISACはゲームの状況を音に影響させたい場合に使います。ピッチやボリューム変更と同じようなコントロール値という0.0~1.0の値で、ツールで作成したAISAC変化をプログラムから呼び出す事ができます。 持続音などの変化(エンジン音)やBGM、環境音に対するフィルター処理など様々な用途に使う事ができます。 カテゴリボリューム変更 (Atomの関数) CriAtom.SetCategoryVolume("BGM",bgmVolume); カテゴリはツールでキューに設定しておくことができます。 キューに適切にカテゴリを設定することで、ゲーム中のサウンドコンフィグとして使う事ができます。 カテゴリとは、BGM、SE、Voice、Ambientなど大まかな分け方と CutScene、MainChara、SubChara、Enemy、Weaponなどの分類 System、InGame、UI、Areaなど Shoot,Throw,Explosionなど 一つのキュー(音定義)に対して複数のカテゴリを持たせる事ができます。(タグのようなイメージ) カテゴリにつけたAISACの変更 (Categoryの関数) CriAtomExCategory.SetAisac(0,0,0); //カテゴリID 0のAISACControlID0にAISAC値0をセット CriAtomExCategory.SetAisac(1,0,0); //カテゴリID 1のAISACControlID0にAISAC値0をセット CriAtomExCategory.SetAisac(2,0,0); //カテゴリID 2のAISACControlID0にAISAC値0をセット CriAtomExCategory.SetAisac(3,0,0); //カテゴリID 3のAISACControlID0にAISAC値0をセット バスについて 最近バスの仕様が変更になって、AtomCraftでバスを追加しないとうまく動かないかもしれない。気をつけて。 バスセンド(リバーブ量変化等) (Unity AtomSourceの関数) これは個々のプレーヤーせ再生するキューのバスセンド量を調節する場合に使用します。 float depth = 1.0f; int busNo = 1; //reverb atomSourceSe.SetBusSendLevelOffset(busNo,depth); センドエフェクトは比較的重いDSP処理を行う目的で使用します。上記の関数はデータ設定に対して加算します。 トンネルに入った時にdepthを大きくするという使い方ができます。 ツールで他のバス(バスは0~7まで)にエフェクトを追加しておく事で、音に変化を与える事ができます。 【応用的な使い方】 バスセンドを動的に変えて、一部の音の振幅レベルだけを取り出す DSPバスのボリューム変更 (Asrの関数) これは、DSPバス設定のバスのボリュームを変更する場合に使用します。 void CRIAPI criAtomExAsr_SetBusVolume(CriSint32 bus_no, CriFloat32 volume ) ASRって何? AtomSoundRendererの略 サウンドのレンダリングを主に行う。 ASRラックって何? AtomSoundRendererはミキサーを持っていて、それの収まっているラック(入れ物)のこと。 スクリプト【状態取得】 再生時刻の取得 (Unity AtomSourceの関数) GUILayout.Label(atomSourceBgm.time.ToString()); 上記のはOnGUI()なっで呼ぶと再生時刻を表示します。 音楽のタイミングに合わせて何かしたい場合 (Playerの関数) より厳密に時刻を撮りたい場合、GetTimeSyncedWithAudioを使うと、上記のTimeよりも正確に時間がとれます。 例えば、ポーズ、ポーズ解除や、iOSなどスプリングボードに出入りするなど、サウンドのタイミングが乱される場合があります。(時刻取得がフレームスキップするなど) この関数は、サウンドの再生サンプル数から時刻を返すため極めて正確な時刻を得られます。 反面、ピッチを変えられません。また、内部処理の都合で同一フレームで度々呼ぶようなコードにしないことをお勧めします。(負荷がかかる) GetTimeSyncedWithAudioを使うには、対応したCriAtomExPlayerを用意し、再生する必要があります。 CriAtomExPlayer(bool enableAudioSyncedTimer) サンプル数を基準とするため、ピッチの変更ができません。 また、波形再生に依存するため、波形が存在しない区間のあるシーケンスでは正しく時刻をとれません。 音ゲーなど、必ず鳴り続けてる音があるものにピンポイントで使用するような感じになります。 シーケンスの時刻を得る (Playbackの関数) GetSequencePositionを使うとシーケンスの時刻を得ることができます。 シーケンスループやブロック再生、シーケンス再生レートの影響を受けた時刻が得られるため、ブロックの再生位置監視などに使うことができます。 再生状態の取得 (再生中かどうか) (Unity AtomSourceの関数) CriAtomSource.Status status = atomSourceBgm.status; if ((status == CriAtomSource.Status.Stop) || (status == CriAtomSource.Status.PlayEnd)) {//停止かエンドか this.playbackBGM = atomSourceBgm.Play(100); } 上記の例では停止かエンド時に再度トリガーします。 振幅レベルをとりだす(プレーヤーから)(音量チェック、ピークメータ表示、口パク等) (PlayerOutputAnalyzerの関数) CriAtomSource atomSource; //プレーヤー出力の解析 CriAtomExPlayerOutputAnalyzer criAtomExPlayerOutputAnalyzer; void Start () { atomSource = this.gameObject.AddComponent CriAtomSource (); // 解析モジュールの作成 CriAtomExPlayerOutputAnalyzer.Type[] type = new CriAtomExPlayerOutputAnalyzer.Type[1]; type[0] = CriAtomExPlayerOutputAnalyzer.Type.LevelMeter; // コンフィグでバンド数を指定 CriAtomExPlayerOutputAnalyzer.Config[] config = new CriAtomExPlayerOutputAnalyzer.Config[1]; config[0] = new CriAtomExPlayerOutputAnalyzer.Config(); // 出力データ解析モジュールを作成 criAtomExPlayerOutputAnalyzer = new CriAtomExPlayerOutputAnalyzer(type, config); //ソースに解析をアタッチ atomSource.AttachToAnalyzer(criAtomExPlayerOutputAnalyzer); } void Update () { Debug.Log("Player Level " + criAtomExPlayerOutputAnalyzer.GetRms(0).ToString()); } void OnDestroy() { //ソースに解析をデタッチ atomSource.DetachExPlayer(); } 振幅レベルをとりだす(バスから)(音量チェック、ピークメータ表示、口パク等) (Atomの関数) void Start () { CriAtomEx.AttachDspBusSetting("DspBusSetting_0"); //バス変更 CriAtom.SetBusAnalyzer(true); // バス解析器を有効化 } void Update () { CriAtomExAsr.BusAnalyzerInfo lBusInfo = CriAtom.GetBusAnalyzerInfo(0); //バス0 Debug.Log("level " + lBusInfo.peakLevels[0].ToString()); //チャンネル0(Left) } 8個あるバスのうちバス0はマスターアウトのバスで、全ての音がそのバスを経由します。 特定の音のみの振幅を検出したい場合は、専用のバスへもセンドして検出する事も可能。(声専用バス等) GetBusAnalyzerInfo()はUpdate()などで定期的に呼び出すことで、リアルタイムの変化が取り出せます。 他にも Debug.Log("level RMS " + lBusInfo.rmsLevels[0].ToString()); //RMS Debug.Log("level PeakHold " + lBusInfo.peakHoldLevels[0].ToString()); //RMS もあります。 デフォルトではRMSは50msec,ホールドは1000msec RMS、ピークホールドの時間設定は、AttachBusAnalyzerの引数で設定を変える事もできます。 各チャンネル0~7(L,R,C,LFE,Ls,Rs,Ex1,Ex2)のレベルが確認できるので、音量のチェックなどにも利用できます。 (使用しない時は負荷軽減になるのでCriAtom.SetBusAnalyzer(false); を呼んでおきましょう。) バスの波形フィルターコールバックを使って波形を参照したり直接加工する (AsrBusFilterCbの関数) CriAtomExAsrBusFilterCbFunc(void *obj, CriAtomPcmFormat format, CriSint32 num_channels, CriSint32 num_samples, void *data[]) これ使うとゲーム側でバスの音を変化させるDSP処理が書けたりする プレーヤーの波形フィルターコールバックを使って波形を参照したり直接加工する (PlayerFilterCbの関数) CriAtomExPlayerFilterCbFunc(void *obj, CriAtomExPlaybackId id, CriAtomPcmFormat format, CriSint32 num_channels, CriSint32 num_samples, void *data[]) これ使うとゲーム側でプレーヤーの音を変化させるDSP処理が書けたりする たとえば、ボイスチャットや別のサウンド処理へ流したり、サンプリングしたりといったことにも使える ACF情報(カテゴリ、ゲーム変数、AISACコントロール)の取得 (Acfの関数) // カテゴリ情報の取得数 int categoryNum = CriAtomExAcfDebug.GetNumCategories(); Debug.Log("categoryNum " + categoryNum.ToString()); CriAtomExAcfDebug.CategoryInfo categoryInfo; for(ushort categoryNo = 0; categoryNo categoryNum; categoryNo++){ bool ret = CriAtomExAcfDebug.GetCategoryInfoByIndex(categoryNo,out categoryInfo); if(ret){ Debug.Log("CategoryName \"" + categoryInfo.name + "\" GroupNo " + categoryInfo.groupNo.ToString()); } } // ゲーム変数の取得 int gameVariablesNum = CriAtomEx.GetNumGameVariables(); Debug.Log("gameVariablesNum " + gameVariablesNum.ToString()); CriAtomEx.GameVariableInfo gameVariableInfo; for(ushort gameVariablesNo = 0; gameVariablesNo gameVariablesNum;gameVariablesNo++){ bool ret = CriAtomEx.GetGameVariableInfo (gameVariablesNo,out gameVariableInfo); if(ret){ Debug.Log("GameVariablesName \"" + gameVariableInfo.name + "\""); } } // AISACコントロール情報の取得 for(uint aisacControlId = 0;aisacControlId 32;aisacControlId++) { string aisacControlName = CriAtomExAcfDebug.GetAisacControlNameById(aisacControlId); if(aisacControlName.Length != 0){ Debug.Log("AISAC Control ID " + aisacControlId.ToString() + " Name \"" + aisacControlName + "\""); } } ACB(キューシート)情報の取得 CriAtomExAcb acb = CriAtom.GetAcb (cueSheetName); キュー情報一括取得 (Acbの関数) string cueSheetName = “Pinball”; CriAtomExAcb acb = CriAtom.GetAcb (cueSheetName); CriAtomEx.CueInfo[] cueInfoList = acb.GetCueInfoList (); キューにはツールで設定された様々な情報があります。これを再生前に取得する場合上記の関数を使います。名前やID、ユーザーデータ、カテゴリやAISAC使用有無、キューの長さなど取り出す事ができます。 たとえば、サウンドテスト用に再生ボタンを並べる時、キュー名一覧が欲しい場合や、キューがループ(長さが-1)かどうかの判定に使います。 キュー名とキューID一覧を得る (Acbの関数) 以下のソースを参考にしてacbから情報を取得する事ができます。 // ACB(キューシート)情報の取得 string cueSheetName = "CueSheet_0"; CriAtomExAcb acb = CriAtom.GetAcb (cueSheetName); // キュー情報の一括取得 CriAtomEx.CueInfo[] cueInfoList = acb.GetCueInfoList (); // キュー名とキューIDをデバッグ出力 foreach(CriAtomEx.CueInfo cueInfo in cueInfoList){ Debug.Log("cueName "+cueInfo.name + " cueId "+ cueInfo.id); } 参考https //github.com/tatmos/ADX2Cursor/blob/master/ADX2Loader.cs キュー情報取得(キュー名指定) (Acbの関数) CriAtomExAcb acb; CriAtomEx.CueInfo cueInfo; int GetNumBlocks(string cueName){ acb = CriAtom.GetAcb (cueSheetName); acb.GetCueInfo (cueName, out cueInfo); return cueInfo.numBlocks; // ブロック数を得る } string GetUserData(string cueName){ acb = CriAtom.GetAcb (cueSheetName); acb.GetCueInfo (cueName, out cueInfo); return cueInfo.userData; // ユーザーデータを得る } ACBの情報をキューシート名で取得し、acbからキューの情報をキュー名で取り出します。ここでは。ブロック数を取得しています。 例)現在の再生時刻と組み合わせて、シークバー(どこまで再生したか)などのような表現などに使えます。 atomsourceBgm = gameObject.GetComponent CriAtomSource (); if(atomsourceBgm != null){ CriAtomExAcb acb; CriAtomEx.CueInfo cueInfo; acb = CriAtom.GetAcb (atomsourceBgm.cueSheet); if(acb.GetCueInfo (atomsourceBgm.cueName, out cueInfo)){ totalTime = cueInfo.length; } } キューの長さを取得する例。ここではCriAtomSourceから取り出している。 DSPバス設定のスナップショット切り替え (AsrRackの関数) criAtomExAsrRack_ApplyDspBusSnapshot(CriAtomExAsrRackId rack_id, const CriChar8 * snapshot_name, CriSint32 time_ms ) 時間指定でDSPバスエフェクトのスナップショットを切り替える エフェクトパラメータ設定の違うスナップショットをあらかじめツールで用意し名前をつけておくことで、その設定に変更することができる。 スクリプト【ブロック再生】 ブロック再生は、キューの一部の再生区間(ブロック)の遷移情報をもたせたキューをインタラクティブにコントロールする場合に使用します。 音楽的な変化として、ビートを崩さないで再生を連結するといった要望があるのですが、その解決の一つになります。 データ側で明示的なブロック(音楽的な区切り、Stem、小節、楽章(イントロ、サビ、アウトロ)など)を作成し、 そのブロックの再生中に別のブロックへの変更を行う際に 再生リクエストを音楽的な区切り目(ブロック終端または分割数区切り)まで自動遅延(待機)させたり、 指定回数ブロックをループした後に「次ブロックへ」の遷移指定ができます。 ブロック再生のデータ作成解説動画 再生中のブロックインデックスの取得(ブロック再生)(Playbackの関数) CriAtomExPlayback playbackBGM; playbackBGM = atomSourceBgm.Play(100); int cur = this.playbackBGM.GetCurrentBlockIndex(); ↑現在再生中のブロック番号を確認する方法。どのブロックが再生されているか、確認する用途で使用します。 再生中のブロックインデックスの指定(ブロック再生)(Playbackの関数) playbackBGM.SetNextBlockIndex(cur % this.cueInfo.numBlocks); 再生中のブロックを含むキューに対して上記の関数を呼ぶと、ツールでブロックをクリックした時と同じような動作になります。 例えば、ブロックを無限ループ(ループ回数-1)にしていたブロック再生中に、別のブロックへ遷移を指定したい場合に使用します。 遷移を指定しても即時に切り替わるのではなく、データ側で定義したブロックの遷移ルールに従って遷移します。 即時に切り替えたい場合は データ側の「分割数」を細かくする 一度停止して、ブロックセットしてから再生する。 再生開始前にブロックをセットして再生(ブロック再生) (Playerの関数) atomSourceBgm.cueName = "mainBgm"; atomSourceBgm.Player.SetFirstBlockIndex(1); atomSourceBgm.Play(); 再生開始前にセットする方法。 複数のイントロ(再生開始位置)がある楽曲などで使用します。 シーケンスコールバックを得る (Sequencerの関数) シーケンスコールバックは、AtomCraft側で、シーケンスコールバックマーカーを設定したデータを用意することで実現します。 楽曲のタイミングに合わせた演出を行いたい場合などに使います。 シーケンス上の任意の位置にコールバックイベントを埋め込むことで、 そのタイミングで、SequencerEventCallback関数が動作します。 void Start() { CriAtomExSequencer.SetEventCallback(SequencerEventCallback); //シーケンスコールバックの関数をセット } void SequencerEventCallback(string eventParamsString) { string[] strList = eventParamsString.Split( \t ); Debug.Log(strList[4]); // Callbackの文字列をログに表示 int tagNo = int.Parse( strList[4]);// CallbackのIDを取得 //GameObject go = Instantiate(itemPrefab,new Vector3(posX,9,0),Quaternion.identity) as GameObject; //GameObject.Destroy(go,4); } strListの4番目はコールバックのタグの内容が文字列で渡ってくるので、これをゲームの演出などに応用することができます。 例えば、出現位置とかに利用できます。 再生位置に連動した演出が簡単にできます。 スクリプト【ビート同期】 BGMのビートを取り出す(ビート同期する処理) void Start () { evBeatUpdate += beat; //(デリゲート) } void beat () { Debug.Log("beat" + beatNo.ToString()); } static int beatNo = 0; static int lastBeatNo = 0; public delegate void BeatUpdate (); static public BeatUpdate evBeatUpdate; void Update () { beatNo = (int)(0.001f*(atomSourceBgm.time*82f/60f)); //BPM82 if(lastBeatNo != beatNo){ evBeatUpdate(); lastBeatNo = beatNo; } } 再生時間を元楽曲のテンポ(あらかじめ知っている)で割って拍を取り出し、デリゲートを使ってビートに合わせる処理。 拍に合わせた処理をする(音ゲーなど)に使えるかも。 timeは再生中の時刻(msec)が入ります。 1000msec/60で1分(Minite)あたり何ビート(Beat)数の基準(60BPM)が取り出せます。 1BPM = 60000msec 2BPM = 30000msec 10BPM = 6000msec 60BPM = 1000msec 120BPM = 500msec テンポが早ければ、ビートの間隔は短くなり、遅ければ長くなります。 レイテンシー 【遅延について】 音の再生タイミング(レイテンシー)はオーディオサーバー周期とも密接に関連します。 周期が60FPSの場合、約16.6msecの単位で一括処理が行われます。(クォンタイズがかかったような状態) タイミングがシビアな音ゲー等の場合、4~6msecほどの精度をもたないと音がずれる(もたったり食った状態)などに 感じます。 音で確認 latency200_100_50_25_10.wav 200msec,100msec,50msec,25msec,10msecの違いを聞けます。 200「ツ、タン」,100「ツタン」,50「ツタ」,25「チャ」,10「タ」といった感じ。 ゲームの画面更新が16msecや32msecだとすると「チャ」「タ」くらい出て欲しい。 バッファサイズ(サンプル数)とレイテンシー 128,256sampleなどが処理単位となる。ADX2LEではボリューム値はリニアに補間するが、ピッチやフィルターなどはこの最小単位で処理される。 なめらかなピッチベンドなどを行うつもりでもこの最小単位msecの階段状に変化する。ドップラーなども影響受けるので、あまりに高速な音の変化を期待する時に気にかけておくと良い。(奇麗な変化を別サンプルで用意するとか) 最終出力が22050の場合 1000msec = 22050 sample 0.045351msec = 1 sample 5.804989msec = 128 sample 11.609978msec = 256 sample 16msec = 約352.8sample 32msec = 約705.6sample 高域がこもって聞こえる。 最終出力が32000の場合 1000msec = 32000 sample 0.03125msec = 1 sample 4msec = 128 sample 8msec = 256 sample 16msec = 512sample 32msec = 1024sample 処理負荷低い、切りが良い。CD品質より劣る。 最終出力が44100の場合 1000msec = 44100 sample 約0.022676msec = 1 sample 約2.902494msec = 128 sample 約5.804989msec = 256 sample 16msec = 約705.6 sample 32msec = 約1411.2 sample CD品質。 最終出力が48000の場合 1000msec = 48000 sample 0.020833msec = 1 sample 2.66667msec = 128 sample 5.33333msec = 256 sample 16msec = 768sample 32msec = 1536sample 処理負荷が上がるけど時間方向に細かい変化になる。 ADX2で音が遅れる一般的な要因と回避策 ストリーム再生を使っている。メディアから読み込むため再生開始に時間がかかる。 【回避策】 →メモリ再生をする。 →prep (一時停止状態で読み込み)pause解除で再生開始する。 ボイスリミットに達している音を発音している。 【回避策】 →ボイスリミットを多めにする。 ボイスリミットの確保の処理は早いのですが、ボイス開放処理は遅めなため、短時間で多くのリクエストをすると処理が滞る場合があります。 (ボイス開放待ちになる) →キューリミットを使う キューリミット、またはカテゴリの キューリミット数を、制限したい発音数 ボイスリミット数を、制限したい発音数+数音にしておく。 後着優先時の動作として、 キューリミットではリリースのある音を止めないため、実質の発音数はオーバーラップ分リミットを超える場合があります。 ボイスリミットでは、リリースを停止してボイスを取得しに行くため、ボイスの停止に時間がかかる場合、次のボイス取得が遅延します。 ボイスにゆとりをもたせて、リミットはキュー側で行うと処理として都合が良くなります。 シーク再生 【回避策】 →2つボイスを用意し、交互に扱うなど。 ブロック再生 シーケンスの精度の問題でサンプルレベルでの連続再生はできない。 【回避策】 →少し長めの余韻つき波形を、次の波形の頭にオーバーラップするように再生し誤摩化す。 Android 【回避策】 →低遅延再生を試みる。 CRIWARE Library Initializer コンポーネントにて低遅延再生標準ボイスプール数を指定 CriAtomSourceコンポーネントの「Low Latency Playback」チェックをオンにして再生開始 スクリプト上でCriAtomSourceを操作する場合は、CriAtomSource.androidUseLowLatencyVoicePoolプロパティに true をセットしてください。ただし、低遅延音声再生ボイスプールから音声を再生する場合、以下のような制限事項があります。 本機能はSE再生など遅延を少しでも減らした音声のみ使用し、BGMやエフェクトを使用したい音は通常再生を行ってください。 注意 •低遅延再生標準ボイスプールの最大数はメモリ再生・ストリーム再生あわせて27まで。 •音声データのサンプリングレートは44100Hz/22050Hz以外は再生できません。 •2Dパン、ボリューム調整のみ可能。ピッチ調整やリバーブなどのエフェクト機能などは使えません。 •本機能はAndroid OS 2.3以降の端末のみ有効です。 オーディオサーバーの周期 理想的にはオーディオサーバー処理を240FPSの処理になるのですが、 デフォルトの30FPSと比較して8倍の負荷になる計算。(実測値は環境や処理内容依存で変化します) ゲームの場合、他の処理の為に負荷を軽減する必要が多く これらの設定は大きなトレードオフが発生します。 オーディオサーバー周期はCriAtomInitializerで設定することができます。 ※実際には別の要因でボトルネックが発生する場合もあり、ある一定量以上は効果がでなくなります。 処理負荷 ハイエンド機やPCなどではほとんど問題ないのですが 携帯機では 「処理負荷が上がる」=「電池の減りが早く」なります。 CPUクロック等待機状態からの復帰に時間がかかるような処理では、 再生の供給が間に合わず音が途切れたりする事もあります。 (想定しているサーバー周期で動作しないし、システムの保証がない) おそらく、音の途切れをなくすための膨大なレイテンシー(100~300msec)のある端末やOS、ハードウェアの組み合わせがあるようで、 電話やメッセージの着信、カメラのシャッター音など、システムレベルのサウンドとのミキシングなど公開されていないレイテンシーもあります。 同じ内容のものでも端末によって気持ちよさが変わってしまいます。 例えば 300msecは200BPMで1拍(beat)音楽的に4分音符分の遅れということになります。 150msecで8分音符 75msecで16分音符 32.5msecで32分音符 16分音符のずれはほとんどの人が知覚できるレベルでずれに感じます。 これらのシビアなタイミングが気持ちよさにダイレクトに繋がるような 音ゲーを作る場合には重要な問題となります。 【for Unity iOS で遅延を減らしたい】 プロジェクトセッティングのAudioManagerからDisable Audioをチェックする。 iOS ConfigのBuffering Timeを100から16にする。 メモリ再生にする。 【for Windowsで遅延を減らしたい】 criAtom_SetSoundBufferSizeを小さくする。(あまり小さくすると音途切れなどの原因になります) 【ADX2LE iOSで遅延を減らしたい】 楽器アプリを作っていて気がついたのですが [CriWareInitializer]の[iOS Config]というところの[Buffering Time]という項目がデフォルト100msecとなっています。 これを50msecに変更する と少し改善します。 「ツタン」から「ツタ」くらいに変わる。 ※ただしこの設定を下げるとGC(ガベコレ)時に音途切れが発生する可能性があります。発音中にGCが発生するような作りにしない工夫も必要です。(シーン切り替え時に無音部分を用意するなど) ちなみによくあるBPM120で 4分音符 500msec 8分音符 250msec 16分音符 125msec 32分音符 62.5msec なので、32分音符分ずれていたらこれが原因。 iOSの画面を爪でコツンと叩くような感じで、音を鳴らした時にこれくらいずれていたら 設定を疑うと良い。 「ツ、タン」(120~200msec)が「ツタン」(60msec)くらいになります。(鳴らし開始と音が出るまでの時間が短縮する) 楽器レベルでは(10msec以内に押さえたいところ) 解像度的な乱れ(密度がばらつく)の改善 定期的に 32分音符で叩いていて、たまに動作が乱れる場合は [CriAtomInitializer]の[InitializeAtom]の[Server Frequency]をデフォルト30から 60または120にします。 「タタッタタタ」とかが「タタタタタタ」と改善するはず。(サーバーの鳴らす処理の入るタイミングの解像度が上がる) 30FPS 約32msec 60FPS 約16msec 120FPS 約8msec ※ただし、負荷も上がるので、携帯機などでは電池の減りが早くなる等別の問題が発生します。 ※また、処理量も増えるため大量のサウンドを同時再生しているなど負荷の増加に注意が必要です。 音の停止判定は遅い? サウンドの発音までの処理は早いのですが、停止の処理は精度が低いようです。(エンベロープのリリース処理や解放処理など) リミットがかかった場合なども若干の停止待ちが発生するため、 発音を優先するのであれば、多めのボイスを確保するようにしておくことが良いです。 スクリプト【テクニックアラカルト】 サンプルディレイみたいなのはありますか? (Playerの関数) サンプル単位ではなくミリ秒単位で以下のような方法が可能です。 [データ] キューにプリディレイ用のAISAC「PreDelay」を作る。カーブに「プリディレイ」を設定し AISAC(0.0~1.0)をmsecにマッピングする。例えば、0~100msec。 ただし、波形の再生だけが遅くなるだけなので、オートメーションとかシーケンスのタイミングは元のままで再生されます。 また、PreDealy中も発音カウントは増えるので、リミット処理などが行われます。(PreDelay時間時に無音が再生されているイメージ) プログラムで以下のように呼び出す atomSourceBgm.SetAisac("PreDelay",msec/100.0f); atomSourceBgm.Play("hit"); これでとりあえずディレイ再生が可能です。 再生開始位置をずらす criAtomExPlayer_SetStartTimeを使う XYでAISACを変更する(カオシレータ風) (Playerの関数) // TapPos(new Vector2(x/Screen.width,y/Screen.height)); static public void TapPos(Vector2 tapPos) { atomSourceBgm.SetAisac("y",tapPos.y); atomSourceBgm.SetAisac("x",tapPos.x); } AISACを2つ使って音を面(2軸)で操作する。AISACは一つのキューで最大8個まで別のコントロールを持たせる事ができる。 例えば カオシレータ風にするならば スケール用のピッチの階段上のグラフ(AISAC) エフェクト用のバスセンドのグラフ(AISAC) といった形にもできます。 エンジン音ならば RPM(回転数) Laod(エンジン負荷) 環境音なら 天候 群衆の人数 ゲーム状況をインタラクティブに反映するならば ゲームの進行具合 メインキャラの体力ゲージ による音の変化など。 【Unity機能】 Unityの標準再生などの再生速度指定系でピッチを指定したい場合に使います。ADX2LEでは再生速度指定AISACなどで使うかも。 iOSなどバックグラウンドになった時にBGMを一時停止/復帰する void OnApplicationPause(bool pause) { atomSourceBgm.Pause(pause); } iOSなどスプリングボードへ移動する瞬間などの若干のフェードアウトしている間も音は再生されています。これを使うことでほんの少し抑制できます。 Androidなどバックグラウンド動作を許す端末などでは、 void OnApplicationFocus(bool focusFlag) { atomSourceBgm.Pause(!focusFlag); } でフォーカスが当たっていない時に音を止めたりします。 AtomSourceからCriAtomExPlayerを得る(CriAtomExPlayerを呼び出す改良) CriAtomExPlayerはpitchの変更やtimeの設定など低レベルな隠されたリアルタイム処理を使用する場合に取得します。 いろいろな事ができる反面、状態や動作をよく理解しておかないと混乱(意図しない再生など)する可能性のある機能もあるので注意。 Plugins/CriWare/CriWare/CriAtomSource.csに以下の行を追加 public CriAtomExPlayer player { private set; get; } 一度も再生をしていないと不定な場合があるため、初回呼び出し前に下のリセットを呼び出すと少し安定する? AtomSourceからCriAtomExPlayerを初期設定に戻す(リセット) (Playerの関数) Playerに対して様々なパラメータをセット(ピッチ等)してしまった後にもとに戻したい場合リセットをすると最初の状態に戻ります。 atomsourceSelect.Player.ResetParameters(); atomsourceSelect.Stop(); https //game.criware.jp/manual/unity_plugin/jpn/contents/classCriAtomExPlayer.html#a737656c7766a62eaf497ac3dff3b6bf4 シーケンシャルを最初に戻す (Acbの関数) キューが、シーケンシャルに複数のトラックを切り替えて再生する時に、意図的に最初のトラックの再生に戻したい場合があります。 シーケンシャルなキューの再生を最初の状態に戻したい場合は、 criAtomExAcb_ResetCueTypeStateByName criAtomExAcb_ResetCueTypeStateById を使います Unityだと後ろの方が省略されて、引数違いの関数になります。 CriAtomExAcb.ResetCueTypeState https //game.criware.jp/manual/unity_plugin/jpn/contents/classCriAtomExAcb.html#a8e24ac2d79f00aa12e729c96961afc80 そのほかのリセット的な処理 関数リファレンスで「Reset」などで検索するといろいろでてきます。 https //game.criware.jp/manual/unity_plugin/jpn/contents/modules.html シークして再生(シーク再生、途中から再生)(Playerの関数) 次回再生の再生開始時刻を指定する atomsourceSelect.startTime = 30*1000; //次回再生音は30秒目から atomsourceSelect.Play(); atomsourceSelect.startTime = 0; //次回再生音を0秒目からに戻す プレーヤに直接指定する場合 atomSourceSe.Player.SetStartTime((long)settime); atomSourceSe.Stop(); atomSourceSe.Play(cueNo); CriAtomExPlayerのSetStartTimeを呼び出すため、CriAtomExPlayerを呼び出す改良を施しておいて下さい。 SetStartTimeには開始msecを指定します。次回再生時に指定時刻から再生します。 再生中の音をピッチベンドする (Playbackの関数) CriAtomExPlayback playback; void Playback(int cueNo) { playback = atomSourceSe.Play(cueNo); } void PitchBend(float pitch){ atomSourceSe.Player.SetPitch(pitch); atomSourceSe.Player.Update(playback); } CriAtomExPlayerのSetPitchを呼び出すため、CriAtomExPlayerを呼び出す改良を施しておいて下さい。SetPitchにはcent値(100で半音、1200で1オクターブ)を指定します。 playbackを取得して、Updateしたタイミングで再生中の音に反映します。 Updateで更新されるパラメータについて 音が変化しないといった時は、Update系の処理を呼ぶ必要を検討します。 playerに対してSet系や Attach系で指定したパラメータは、その後のPlayerで再生した音にのみ影響を与えます。 これは、 「再生中の音」に影響を与えたい場合は、Play時のPlaybackIDを利用するか、 UpdateAllなどの関数を呼び、そのプレイヤーで再生中の全ての音に 現在のPlayerのパラメータ設定を影響させるといった操作が必要です。 マニュアル https //game.criware.jp/manual/unity_plugin/jpn/contents/classCriAtomExPlayer.html#aa2c147ef0814431078ffc89e39045d77 パラメータのセットと、再生のリクエストのタイミングについて 通常は、パラメータをセットしてから、音を鳴らすという操作になります。 もし、音がなってから、ボリュームやピッチを変更すると、 最悪一瞬だけ音が鳴ってから変化したり、たまたま音の出だしが遅いなどのタイミングが間に合って、 正しく鳴ったりといった不正確な動作になります。 もっとなめらかな変化が欲しい場合 Updateにしても、オーディオの処理フレームとはタイミングの操作になるため、 変化の解像度は階段状になったり、更新タイミングも不正確で音の鳴り方が不定になりがちです。 基本的には、エンベロープの設定やフェーダーなどを利用して、影響が少ないようにした方が良いです。 AtomExPlayerを使用した再生 (Playerの関数) より低レベルなサウンド処理を行う場合の再生方法です。 CriAtomExPlayer atomPlayer = null; void Start() { atomPlayer = new CriAtomExPlayer(); // AtomExPlayer()作成 } void Play(string cueName) { atomPlayer.SetCue(null,cueName); atomPlayer.Start(); // 再生開始 } void OnDestroy() { if(atomPlayer != null){ atomPlayer.Dispose(); // 破棄 atomPlayer = null; } } selectorLabelを設定する (Playerの関数) CriAtomExPlayerの関数を呼ぶ audioSource.player.SetSelectorLabel(”Ground”,"concrete"); //床セレクタのコンクリートのラベル指定 スクリプト【Unityの物理とかで再生制御】 キューブをクリックすると再生/停止をする クリックの判定にRaycastHitを使う方法を紹介。 CubeにCriAtomSourceをつけて、cri/unity/samples/criatom/script/Unity3Project/ScriptSample01_ClickToPlay/Assets/Scripts/PlayAndStopSoundOnClick.csを使う。 void Update () { if (Input.GetMouseButtonDown(0)){ Ray clkRay = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit rh; // Collision Dectection if (Physics.Raycast(clkRay, out rh, 20)) { GameObject target = rh.collider.gameObject; if (target == this.gameObject) { // Play Cue CriAtomSource atom_src = target.GetComponent(); if (atom_src != null) { CriAtomSource.Status status = atom_src.status; if ((status == CriAtomSource.Status.Stop) || (status == CriAtomSource.Status.PlayEnd)) { atom_src.Play(); } else { atom_src.Stop(); } } } } } } キューブに触れると再生/停止する 参考https //github.com/tatmos/ADX2Cursor/blob/master/ADX2ColliderPlayStop.cs スクリプト【初期化、ロード関連】 スクリプトでのacbロードと解放の仕方 if(GUILayout.Button("Remove")){ CriAtom.RemoveCueSheet("PinballMain"); } if(GUILayout.Button("Add")){ CriAtom.AddCueSheet("PinballMain","PinballMain.acb",""); } ACBを動的に切り替えたいなどの特殊用途に使用します。 具体例をいくつか ダウンロードコンテンツ(DLC) キャラクターダウンロード(読み上げる声優の切り替え) アイテムのダウンロード プログラム上の差し替えでリクエストに対する音が切り替わる等を表現したい場合など。 対戦格闘におけるキャラ選択後のパンチやキックの音の変化 レースゲーム等で車選択による音の切り替え 音ゲーでの楽曲選択による音の切り替え ステージ切り替えによるアンビエント変化等 なお、あらかじめInitializerオブジェクト、CriAtomオブジェクトが必要です。 CRIAtomオブジェクトを用意する CRI Atomのインスタンスが無い状態で、関数を呼び出そうとするとnullアクセスになります。 // CRI Atom作成 var criAtom = new GameObject("CRIAtom"); criAtom.AddComponent CriAtom (); といった感じで、CriAtomのコンポーネントを先に作っておくと良いです。 参考:ADX2Cursor https //github.com/tatmos/ADX2Cursor/blob/master/ADX2Loader.cs より簡単にStreamingAssets以外のパスから読む方法(New) AddCueSheet関数にフルパスを指定するだけ。 if(GUILayout.Button("Add")){ CriAtom.AddCueSheet("PinballMain","C /PinballMain.acb",""); } AddCueSheetはパスが相対パスの時はStreamingAssetsから読むようです。 ACFの登録をスクリプトから行う CriAtomEx.RegisterAcf CriAtomEx.UnregisterAcf を使う。 イニシャライザとか別オブジェクトだけど、スクリプトからできない? Unityは初期化順序や、永続性がGameObjectに依存するので、 CRI Initializerを別オブジェクトで追加するのが簡単です。 もし何らかの理由で、自前で行いたい場合は、CRI Initializerの中と同様の処理を行うことでできますが、 初期化順序や破棄なども注意深く行う必要がでてきます。 例えば、 Unity Execution orderで初期化を早めに呼ぶ。 セットアップシーンを用意して、初期化を済ませておく。 ADX2LEはApplication.temporaryCachePath等に保存してあるオーディオファイルを再生する・・・的な事は出来ますか? Assets以下のフォルダにあるACBをロードして、再生するサンプルの動画作ってみました。 ここでは、無関係なゲームジャムのELISEのacbを読み込んで再生しています。http //www.youtube.com/watch?v=DyhujH43ozI feature=youtu.be 通常のCriAtomSourceで指定したキューシート名のロード先はStreamingAssets以下から読み込みますが 外部デバイス(SDカード)、URLでサーバーからACBをダウンロードなど、 UnityのAsset管理外のフォルダから直接acbファイルを指定して再生する場合に使用します。 CriAtomExACB acb = null; void LoadACB(string loadAcbPath) if(acb != null){ acb.Dispose(); // ロード前に既にあったら破棄 acb = null; } acb = CriAtomExAcb.LoadAcbFile(null,loadAcbPath,null); // ロード } void OnDestroy() { if(acb != null){ acb.Dispose(); // 破棄 acb = null; } } スクリプト【サウンド関連パラメータ変換】 MIDIノートNoから音程を設定(0~127 - cent値) static public void SetMidiNote(float note) { atomSourceSe.pitch = (note-69)*100; // cent(100で半音,ベースノート A4=69) } セント値への変換 MIDIベロシティから音量を設定(0~127 - 0.0~1.0) static public void VelocityToVoluem(float velocity) { atomSourceSe.volume = velocity/127f; // 0.0~1.0の正規化ボリューム指定 } 周波数からMIDIノートの変換(Hz - MIDINoteNo) static public float Ftom(float freq) { return (69f + (1f/.057762265f) * Mathf.Log(freq/440f)); } (MIDIノート)から周波数の変換(MIDINoteNo - Hz) static public float Mtof(float note) { return (440f * Mathf.Exp(.057762265f * (note - 69f))); } CRI Pitchから再生速度へ変換(cent値 - 0.0~4.0) static public float PitchToSpeed(float pitch) { return Mathf.Pow(2,pitch/1200.0f); } BPMから一拍の長さ(msec)に変換 beat per minute 1分で何拍打つかという指定なので、 BPM120は1分(60*1000msec)で120回。 一拍の長さは、60000/120で求められる。 beatLength = 60000/bpm BPMから再生速度に変換 ピッチの変化を上記の再生速度にしてしまえば、1.2倍速とかの指定ができる感じになります。 (目的のBPM/元のBPM)をスピードとして指定するといったBPM変換も可能です。 speed = DstBpm/SrcBpm; // 元のBPMが100で、120にしたい場合、120/100 = 1.2倍 再生速度からCRI Pitchへ変換(0.0~4.0 - cent値) //pitch = 1200.0f*logf(ratio)/logf(2.0f); pitch = 1200.0f*Mathf.Log(ratio)/Mathf.Log(2.0f); dBからCRI Volumeに変換(-96dB~+6dB - 0.00 ~ 2.00) volume = Mathf.Pow(10.0f,dB / 20.0f); CRI VolumeからdBに変換(0.00 ~ 2.00 - -96dB~+6dB ) db = 20.0f * Mathf.Log10(volume); インゲームプレビュー(他のマシンへ接続) MacでParallelsなど使用している場合、MacのIPを「ツールメニュー>プロパティ>ターゲット>PC>リモートPC IP アドレス」に指定し、チェックします。 Unity側「CriWareLibraryInitializer」のUses In Game Previewのチェックも忘れずに。 Unityの動作がバックグラウンドで止まってしまう場合は、PlayerSettingsの「Run In Background」をチェックすると良いです。 AtomCraft早見表.jpg PCでオーディオデバイスを切り替える関数 criAtom_SetDeviceId_WASAPI を使う エフェクトパラメーターを直接いじる SetEffectParameterと UpdateEffectParameterを使う。 https //game.criware.jp/manual/native/adx2/pc/contents/cri__atom__asr_8h.html バス1につけたリバーブの残響時間を操作 CriAtomExAsr.SetEffectParameter("BUS1", CRIATOMEXASR_I3DL2_REVERB_NAME , CRIATOMEXASR_I3DL2_REVERB_PARAMETER_DECAY_TIME, 3 ); エフェクトの設定を取得する // バスの数を得る CriSint32 dspSettingNum = criAtomExAcf_GetNumDspSettings(); //DSP設定の数だけループ for(int dspSettingNo = 0; dspSettingNo dspSettingNum;dspSettingNo++){ const CriChar8* dspSettingName = criAtomExAcf_GetDspSettingNameByIndex(dspSettingNo); { CriAtomExAcfDspSettingInfo setting_info; // DSP Setting情報の取得 criAtomExAcf_GetDspSettingInformation(dspSettingName, setting_info); } } // スナップショット情報 CriAtomExAcfDspSettingSnapshotInfo settingSnapshotInfo; criAtomExAcf_GetDspSettingSnapshotInformation(snapShotIndex, settingSnapshotInfo); // バスリンク情報 CriAtomExAcfDspBusLinkInfo criAtomExAcfDspBusLinkInfo; criAtomExAcf_GetDspBusLinkInformation(startBusLink+num_buslink, criAtomExAcfDspBusLinkInfo); // FX情報 criAtomExAcf_GetDspFxType(bus_infoList[num_buses].fx_indexes[num_fxes]); スクリプトでACFからとれる情報 https //game.criware.jp/manual/native/adx2/pc/contents/group__ATOMEXLIB__ACF.html スクリプトでACBからとれる情報 https //game.criware.jp/manual/unity_plugin/jpn/contents/classCriAtomExAcb-members.html その他 ADX2Web版でありそうな対処 他のサーバーからロードする場合 CORSの設定も必要 AACエンコーダが別AddOnで別パッケージになっている Mac版UnityEditorなら以下の手順でAACもならせる。 1.CriWareLibraryInitializer Initialize Atom Max VirtualVoicesを増やす。(32- 64など) 一部のエフェクトが機能しない。リバーブやディレイは実装が少し異なる(音が変わる場合がある) ACFやACBのLoadを完了してから呼ぶ UnityのResourcesからロードもできる(サーバーにacf,acbを置かない方法もある) Loadしたデータもガベコレされないようにしておく ``` byte[] raw_dataAcf; byte[] raw_dataAcb; IEnumerator Start () { // ---- // テキストアセットとしてACFを読み込む。NewProject.bytesはResourcesフォルダに配置する。 // ---- TextAsset text_assetAcf = Resources.Load TextAsset ("NewProject"); raw_dataAcf = text_assetAcf.bytes; // ---- // テキストアセットとしてACBを読み込む。CueSheet_0.bytesはResourcesフォルダに配置する。 // ---- TextAsset text_assetAcb = Resources.Load TextAsset ("CueSheet_0"); raw_dataAcb = text_assetAcb.bytes; // ---- // ACF登録 // ---- CriAtomEx.RegisterAcf(raw_dataAcf); // ---- // CriAtomを作成しゲームオブジェクトに追加 // ---- this.gameObject.AddComponent CriAtom (); // ---- // キューシートを追加 // ---- var cuesheet = CriAtom.AddCueSheet("CueSheet_0", raw_dataAcb, null); // ---- // キューシートのロード完了まで待つ WebGL版はロードに時間がかかる(ロード前にAtomにアクセスしないようにここで待つ) // ---- while (cuesheet.IsLoading) { yield return new WaitForEndOfFrame(); } // ---- // DSPバス設定 // ---- CriAtom.AttachDspBusSetting ("DspBusSetting_0"); } ``` ブラウザの開発メニューからエラーメッセージなどが確認できる ご意見はこちら 名前 コメント
https://w.atwiki.jp/anirowakojinn/pages/2649.html
【天道総司】1 012 新世界の神と神に立ち向かう者達 【加賀美新】1 035 怪物戦線、移動中
https://w.atwiki.jp/83452/pages/690.html
1 律澪 2009/08/05 http //yutori7.2ch.net/test/read.cgi/news4vip/1249460245/ 戻る 名前 コメント すべてのコメントを見る ムギちゃん人間か? -- (名無しさん) 2013-11-23 19 05 06 ムギに吹いたwwやっぱり律澪はいいな -- (おすし!) 2012-08-22 21 05 51 律澪イチャイチャ 紬暴走中 梓不在(入学前?) この様な状態の中いつも通りに生活出来る唯に脱帽。 -- (名無しさん) 2012-08-22 15 33 48 こんな状況で平然と過ごせる唯すげぇなww -- (名無しさん) 2012-08-22 14 06 13 何かポテトの所かわいいな -- (名無しさん) 2012-07-20 12 37 50 やっぱり律澪は最高の カップルだね。 -- (名無しさん) 2012-03-25 00 59 46 ムギwwwwww -- (名無しさん) 2012-03-24 18 10 59 もっとやれ -- (名無しさん) 2011-12-18 17 54 21 みんな可愛いな 部屋にフジツボwwww ムギwwwwwwww -- (名無しさん) 2011-10-08 14 14 00 耳からフラフープ想像したらやばいwwww -- (名無しさん) 2011-09-24 11 11 56