安定した取引システム

オシレーター後編

オシレーター後編
UIのスクリーンショット

Web Audio APIでシンセサイザーを作って遊ぶ(前編)

田中 慎一

本記事 (前編) と続編記事 (後編) ではシンセサイザーの仕組みに入門します。シンセサイザーは電子的な仕組み等を用いて音を出すもので音楽を奏でるのに用いられるものです。そのシンセサイザーの仕組みを手で作りながら体験しようというのがこの記事の目的です。シンセサイザーを作るのに必要な知識は都度解説していきいますのでご安心を。また、本記事ではJavaScriptとWeb Audio APIを用いてブラウザ上にシンセサイザーを構築するので電子部品やはんだごての用意は不要です (ただしChromiumあたりの最新のブラウザをご用意ください)。

シンセサイザーとは

タブレットと音楽に関連するメディアの図

あなたはシンセサイザーと聞いて何を思い浮かべましたか? Yellow Magic Orchestraでしょうか。もしかしたらKraftwerkであったり、あるいはレトロ携帯ゲーム機のピコピコとしたサウンドやアーケードゲームの倍音豊かなFM音源の音楽を思い浮かべた方もいたかもしれません。近年は至るところでシンセサイザーの音色を聞く機会があります。駅のホームで流れる発車メロディもシンセサイザーで演奏されたものがありますね。音は聞いたことがあるけど、実際に見たことはないという方も多いと思います。シンセサイザーってどんな楽器なの何でしょうか。

シンセサイザー (synthesizers) は「合成するもの」という意味です。従来の楽器 (アコースティック楽器) では息を吹き込んだり指などで弾いたり叩いたりすることで楽器本体を響かせて音を鳴らします。一方でシンセサイザーは、音や音楽を物理的振動を伴なうことなく合成するものです (ちなみにエレキギターは物理的な振動をコイルで電気的振動に変換しています)。1920年ごろに発明されたテルミン以降、誕生してから長い間それは電子回路技術を用いて音の信号を合成していましたが、現在ではソフトウェア単独で音を合成することが可能になったため、電子回路技術ではなくコンピュータプログラムで音を合成するものもシンセサイザーと呼ばれています。

この記事の目標

この記事では、音を鳴らすのに用いるブラウザの技術、Web Audio APIについて概要と使用方法を述べます。後編の記事ではシンセサイザーアプリケーションを作って遊ぶので、それに必要な基礎知識をまずは手に入れましょう。

概要

ノートパソコンとノートパソコンを操作する手の図

Web Audio APIはW3Cが標準化を進める、ブラウザで音を扱うためのAPIです。Web Audio APIによって、音声ファイルをスピーカーから再生したり、マイクから入力された音声信号をWebサイトに反映させたり、Web Audio APIの提供する仕組みに則って (既存の音声ファイルに頼ることなく) 音を合成したりすることができます。Webサイトを音で演出したり、音に反応させたりといった用途で用いられるようです。

まず、Web Audio APIの基本的なコンセプトを説明します。

    • テレビを外付けのスピーカーに繋ぐ
    • マイクに話す内容をパソコンやスマートフォンに入力する

    オーディオ・ノードの説明の図

    Web Audio APIでは音の生成や入力・出力を音の処理単位オーディオ・ノードを繋げたグラフ構造として表現します。ギターの例を模擬的にオーディオ・ノードで表現してみた図が以下です。

    またWeb Audio APIではスピーカーやマイクといった外部のデバイスの詳細も抽象化してくれます。つまり、そのスピーカーは (正確にはサウンドカードは) どのような種類の音データを受けとることができるのか (サンプルのデータ型や量子化ビット数など) や、マイクが複数刺さっているときにどのマイクを利用するのか、といったことをラップしてくれます。このデバイスの設定等を抽象化したWeb Audio APIのインターフェースをオーディオ・コンテキスト (オシレーター後編 AudioContext)といいます。

    ざっくりした使い方

    音楽を聴く人の写真


    まずは一度、Web Audio APIでピーッと音を鳴らしてみましょう。Web Audio APIは以下の手順で利用します。

    1. AudioContext オブジェクトを用意する
    2. AudioNode オブジェクトを必要なぶんだけ作成し接続する
    3. 入力側にある AudioNode の start() オシレーター後編 メソッドを呼び信号生成を開始する
    4. (止めるとき) AudioContext オブジェクトの close() メソッドを呼ぶ

    もし鳴っている途中で音の高さを途中で変えたくなったときは osc の frequency フィールドを書き換える方法は成功しません。 AudioNode のパラメータフィールドには初期値から生成されたAudioParamオブジェクトが入っており、 AudioParam のやりかたに従って値の変更を伝える必要があります。 AudioParam が表現する現在の値を変更するには AudioParam.value フィールドに値を設定します (n秒後に値を変更する、というような場合には AudioParam.オシレーター後編 setValueAtTime() メソッドを利用します)。

    おわりに

    本記事ではブラウザで音を扱う方法としてWeb Audio APIの概要と基本的な使用方法を述べました。この記事で得た知識を利用しながら、後編ではシンセサイザー入門を進めていきます。ご期待ください。

    Web Audio APIでシンセサイザーを作って遊ぶ(後編)

    田中 慎一

    メロディとはもっとも単純には、時間が刻々と進むになかで音の高さが変わったり、音が鳴ったり止まったりすること、と捉えることができるでしょう。音楽の授業ででてきた楽譜を想像してください。楽譜の上には、さまざまな種類の音符がに並べられています。このうち縦方向の位置が音の高さを表していることはご存知の通りです。では横方向はというと、音符のある位置がその音の開始位置です。終了位置は、開始位置がわかっていることと、音符の種類つまり音の長さが決まっていることから導き出せます。1小節分の長さを全音符で表現し、長さが半分になると2分音符、さらに半分で4分音符、……といった具合です。音符の並びを先頭から読んでいくことで、逐一音の開始と長さが指示されることによって、いつ音を鳴らし、いつ音を止めればよいかがわかるというしくみになっています。

    では、4分音符1個分の時間は何秒間でしょうか。楽譜は音楽の速さが違っても同じ記法が使えるよう、「小節の何分の一」といった相対的な長さをもつ音符で記述します。ですが、テンポ (beats per second) というものがあります。テンポは演奏の速さを指定するもので「4分音符を1分間にいくつ打つか」の数で表現されます。テンポが120のとき、4分音符1個分の長さは 60秒 / 120回 = 0.5秒 となります。このように、テンポを指定することですべての音符の実際の長さを決めることができます。

    例: メトロノームを実装する

    指定の時間にイベント処理を実行するには本来、OSのイベントタイマ等を用いて定期的にイベントの有無を調べてあったら対応する処理を実行するというプログラミングが必要なのですが、Web Audio APIではイベント処理がわりと簡単に実現できるようになっています。AudioParamのsetValueAtTime()メソッドは、AudioParamの値を変えるメソッドなのですが、なんと値を変える時間 (AudioContextを開始してからの秒数) を指定することができます。

    ここではこの AudioParam.setValueAtTime() を用いてメトロノームを作ってみることで、イベント処理の基本を学びましょう。

    音楽を記述する

    さて、いよいよタイトルにあるようにシンセサイザーを作って遊んでいきます。音楽をテキストで記述するためには何かしらの言語をつくる必要がありますが、ここではいわゆるMML (Music Macro Language)ふうの言語を実装しそれを解釈・演奏するという方針をとります。ただしMMLをまじめにパースしようと思うとパーサのコード量が増えて大変なので、本記事ではパーサを超簡単にするためトークンを空白区切りで並べるMMLっぽい言語 (以下、本記事プログラム用の言語をMMLと呼びます) を用意します。

    インターフェースを決める

      • parse(str) : MML文字列をパースし、AST (Abstract Syntax Tree) を返す
      • make_player(ast) : ASTに基づいてAudioNodeのグラフを構成し、プレイヤーオブジェクトを返す
      • play(player) : プレイヤーオブジェクトを再生開始する
      • stop(player) : プレイヤーオブジェクトを停止する

      構文の定義

      要素の整理

      まず音符 (高さと長さ)の指定をできる必要があります。音高の指定には音名の英語表記 (cdefgabc = ドレミファソラシド)とオクターブの表記を同時に記述し、オクターブ部分は省略できません (本物のMMLではできる)。MIDIノートナンバーの69、つまり440Hzのラの音をオクターブ数4とします。また、ドのシャープなど半音上げ下げを表現するためにシャープとフラットのような記号も用います。休符 (発音しないが時間は進む) も用意しておく必要があるでしょう。音の長さは4で4分音符、2で2分音符というように音符の数字で指定します。

      構文

      要素 構文 (正規表現) 説明
      音符情報 [cdefgab][0-9][+-]?:[0-9]+ 最初のアルファベットは音名。次の数字でオクターブを指定し、オプションで + か - をつけて半音上下させる。 : の後ろは音の長さを「4分音符」の「4」などの数値で指定する。
      休符または同音の音符 [r=]:[0-9]+ 最初の記号で休符か同音の音符かが分かれる。 r の場合は休符、 = の場合は直前の音符と同じ音高の音になる。 : の後ろは音の長さを指定する。
      トラック区切り --- トラックの境界を表す。前のトラック区切り (あるいは文字列先頭) からこの記号の直前まであるいは文字列終端までが1つのトラックになる。
      パラメータ設定 @[^[email protected]]+=-?[0-9]+(.[0-9]+) @param=123 のように書く。 オシレーター後編 = の前はパラメータの名前、 = 以降は設定値。

      パラメータ名 説明
      sys.bpm テンポを設定する。
      pan -1.0 ~ 1.0でトラックのパンを設定する。-1.0で左、0が中心、1.0で右。
      volume 0.0 ~ 1.0でトラックの音量を設定する。
      pitch 浮動小数点でピッチを指定する。単位は(実装の簡単化のため)周波数であることに注意。

      パーサを書く

      個々の情報にはその種類を表す type スロットを付けておきます。

          1. 文字列を空白文字で String.prototype.split() し、空の文字列は取り除く
          2. 得られた文字列配列の要素についてループし、文字列から正規表現マッチで情報を取り出す

        まず1を行うコードですが str に入力の文字列が入っているとして、これでできます。

        tokens オシレーター後編 に入っている各トークンについてループを回し、以下のコードでトークンの種類を判別します ( syntax_xxx には前節で述べた正規表現が入っています)。

        判別した結果によってswitchし、情報を取り出した結果をJSのオブジェクト型に格納して配列にまとめます (コードはindex.jsの parse_tokens() を参照)。

        そうして得られた配列はトークンのパース結果の配列でありトラックごとに分離されていません。そこで以下のように token.type が "track_separator" のところで配列を切って、トラックに分離します。

        AudioNodeのグラフを構成する

        • トラックについてループ
          • トラックのノードを初期化し結線
          • トラック内の時間等を初期化
          • トラック内のイベントについてループ
            • 現在の時間に基づいて音量やイベントを対象ノードに設定

            現在の時間に基づいて音量やイベントを対象ノードに設定 の部分は AudioParam.setValueAtTime() を用いて時間つきで設定します。こうすることでイベントの発生時間を指定しておけばWeb Audio APIのほうでススケジューリングしてくれるのでイベントスケジューリングについてなにも考えなくてよいです。イベントを処理するコードの例としてトークンが note の場合の処理を見てみましょう。

            音符 ( オシレーター後編 note ) の場合音名などから周波数を計算する必要がありますので calculate_note_number() や convert_to_frequency() などこれまでに登場したユーティリティを用いて計算します。また音符の場合はその長さが秒換算で必要なのでこれも calculate_length() 。そののちに音を鳴らす瞬間に音高を設定し音量を1にします。音符の時間だけ経過したところで音量を0に設定することで、音符の処理を実現します。詳細についてはコードの make_player() 関数の定義をご確認ください。

            ユーザインターフェースをつくる

            MML Player

            UIのスクリーンショット

            利用例

            拡張

                    を実装・MMLで指定可能にし、音量変化によりやわらかな音等を実現する
                  • オシレータの波形選択機能をMMLより指定可能にする
                  • AM変調やFM変調、フィルターをパラメータも含めてMMLより指定可能にする
                  • 現在演奏されている音を表示する機能を実現する (TiMidity++の鍵盤表示のように)
                  • 再生情報等を表示する
                  • テキストで譜面を入力したくない! ピアノロールを実装してやる! おわりに

                  本記事ではこれまでの総括として音楽を記述し解釈実行することを考え、ブラウザで動く音楽演奏プログラムを作成しました。また前編・中編・後編を通してシンセサイザーのしくみやそれをWeb Audio APIを用いて実現する方法を述べてきました。この記事がシンセサイザーやコンピュータ上で行う音楽への興味をもつきっかけになれたら幸いです。

                  オシレーター後編

                  ☆☆オンライン株式投資セミナー開催中!詳しくはこちら☆☆

                  ファンダメンタル分析とテクニカル分析

                  テクニカル分析を一言で表現するならば、「株価チャートの過去の値動きパターンから将来の値動きを予測する」ということです。投資しようと思っている銘柄の過去の値動きをチャートで確認し、その傾向(クセとも言う)がわかれば、ある程度将来の値動きを予測することができ、投資成績にも良い影響を与える可能性が高くなります。

                  トレンド系指標

                  トレンド系指標に共通していることは、「株価が上昇基調もしくは下落基調にあるかを示している」ことであり、「株価の方向性」を見るうえで活用されている投資家が多いと思います

                  オシレーター系指標

                  オシレーター系指標に共通していることは、「株価の強弱(売られ過ぎや買われ過ぎ)を判断する」ことであり、「株価の反転ポイント」を探るときに活用されている投資家が多いと思います

                  【動画公開】今月のモジュラー・シンセ:HATAKEN's LIVE Set(後編) 〜第19回 Patch The World For Peace

                  f:id:rittor_snrec:20220118202447j:plain

                  先月のおさらいから! 今回のライブ・システムは3つのパートで構成しています。キック、ベース、トップ・メロディ、MUTABLE INSTRUMENTSの物理モデリング音源RingsはXAOC DEVICES Pragaというミキサーに。キックとベースを除くリズム・セクションの最終アウトはMUTABLE INSTRUMENTS Beadsに。バッキング、サンプラーはMAKE NOISE QPASとMimeophonに送り、効果音を鳴らします。

                  f:id:rittor_snrec:20211223152319j:plain

                  MALEKKO HEAVY INDUSTRY Varigate 8+で打ち込んだリズムは、テンポをグニグニと変化させて雰囲気を変えたり、あるいはランダム・インにトリガーを送りパターンをどんどん崩していき、リロードで元のパターンに戻してみたりして演奏します。ベースに使ったCWEJMAN BLDとシーケンサーMAKE NOISE Reneでは、ワンノートのキックのようなベース・パターンはもちろん、任意のステップ数でホールドしたミニマルなループも作れます。各ステップのピッチ・ノブによって、クオンタイズされたアナログ・シーケンサーのようなベース・ラインへも随時変更できます。

                  CVサンプラーのMUTABLE INSTRUMENTS Marblesで鳴らす物理モデリング・オシレーターのデュオINTELLIJEL PlonkとRingsもパワフル。それぞれ別のオーディオ・セクションに分けているので、別々のエフェクトがかかります。Plonkをピッチ低めの弦的な音にして、高めのピッチのRingsとアンサンブルさせたり、ジャズ的なグリッドからシフトした演奏にすることで、場面演出に一役買ってくれました。次々出現するモジュラーの電子的な音の動き、美しい変化は、時間を忘れて演奏させてくれます。

                  コントローラーを4つのCVバンクとして使用

                  今回のシステムにおいて特筆すべきパッチングについてお話ししましょう。まずはランダム・ソースMAKE NOISE Richter Wogglebug関連のパッチングで、Stepped OUTのCVをINTELLIJEL Scalesでピッチ・クオンタイズしてメロディを演奏させています。さらに、同じルートにしたQU-BIT ELECTRONIX Chordに使っているQPASのレゾナンスをSmooth OUTのCVで操作し、Woggle OUTのCVはQPASのメインFreqに入れてフィルターの開き具合をビリ付かせます。QPASのメインFreqにはもう1つ入力端子があるので、そこにはMALEKKO HEAVY INDUSTRY Voltage Blockのch8のCVを送り、Woggle オシレーター後編 オシレーター後編 OUTのビビり具合と組み合わさるようにします。

                  f:id:rittor_snrec:20220118202648j:plain

                  これにより、HIKARI INSTRUMENTSのオシレーターSineのメロディの昇降にシンクし、和音とメイン・メロディが共通した動きをして、不思議な一体感が生まれます。その一体感の度合いをライブで調整して“演奏”するわけです。そのときにChordの演奏するコード・タイプ(quality)をMAKE NOISE Pressure PointsのchBで制御し、ボイシングをchCで、Scalesのスケールの切り替え(SHIFT)をchAで制御して、Pressure Pointの3chを生かした4つのCVバンクとして使います。タッチ・パネルで選んで任意のコードを演奏させ、メイン・メロディのスケールもそれに合わせて切り替わるようにしてみました。

                  オシレーター後編

                  OSC営業時間について

                  OSC営業時間について

                  イチロクグルメ(経常)

                  イチロクグルメ(経常)

                  大阪駅新駅ビル計画 2024年秋開業予定

                  大阪駅新駅ビル計画 2024年秋開業予定

                  • 2022.04.06 お知らせ うまプラポイントカード終了のお知らせ

                  EVENT/TOPICS

                  @cosme STORE SPECIAL WEEK

                  06月01日~06月07日 ルクア イーレ

                  05月25日~06月07日 ルクア イーレ

                  目的別に探す

                  【字幕】エデンの東 4Kマスター版 余命10年 映画クレヨンしんちゃん もののけニンジャ珍風伝 【字幕】ファンタスティック・ビーストとダンブルドアの秘密 【吹替】ファンタスティック・ビーストとダンブルドアの秘密 名探偵コナン ハロウィンの花嫁 劇場版 Free!-the Final Stroke- 後編 劇場版ラジエーションハウス ホリック xxxHOLiC 【字幕】ドクター・ストレンジ マルチバース・オブ・マッドネス 【吹替】ドクター・ストレンジ マルチバース・オブ・マッドネス 【字幕】オードリー・ヘプバーン バブル 銀河英雄伝説 Die Neue These 激突 第三章 大河への道 シン・ウルトラマン 【字幕】フォーエバー・パージ ハケンアニメ! 鋼の錬金術師 完結編 復讐者スカー 【字幕】ワン・セカンド 永遠の24フレーム 【字幕】帰らない日曜日 【字幕】トップガン マーヴェリック 【吹替】トップガン マーヴェリック 【字幕】エデンの東 4Kマスター版 余命10年 映画クレヨンしんちゃん もののけニンジャ珍風伝 【字幕】ファンタスティック・ビーストとダンブルドアの秘密 【吹替】ファンタスティック・ビーストとダンブルドアの秘密 名探偵コナン ハロウィンの花嫁 劇場版 Free!-the Final Stroke- 後編 劇場版ラジエーションハウス ホリック xxxHOLiC 【字幕】ドクター・ストレンジ マルチバース・オブ・マッドネス 【吹替】ドクター・ストレンジ マルチバース・オブ・マッドネス 【字幕】オードリー・ヘプバーン バブル 銀河英雄伝説 オシレーター後編 Die Neue These 激突 第三章 大河への道 シン・ウルトラマン 【字幕】フォーエバー・パージ ハケンアニメ! 鋼の錬金術師 完結編 復讐者スカー 【字幕】ワン・セカンド 永遠の24フレーム 【字幕】帰らない日曜日 オシレーター後編 【字幕】トップガン マーヴェリック 【吹替】トップガン マーヴェリック 【字幕】エデンの東 4Kマスター版 映画クレヨンしんちゃん もののけニンジャ珍風伝 【字幕】ファンタスティック・ビーストとダンブルドアの秘密 名探偵コナン ハロウィンの花嫁 劇場版 Free!-the Final Stroke- 後編 劇場版ラジエーションハウス ホリック xxxHOLiC 【字幕】ドクター・ストレンジ マルチバース・オブ・マッドネス 【字幕】オードリー・ヘプバーン バブル 大河への道 シン・ウルトラマン 【字幕】フォーエバー・パージ ハケンアニメ! 鋼の錬金術師 完結編 復讐者スカー 【字幕】ワン・セカンド 永遠の24フレーム 【字幕】帰らない日曜日 【字幕】トップガン マーヴェリック 【吹替】トップガン マーヴェリック 機動戦士ガンダム ククルス・ドアンの島 太陽とボレロ 冬薔薇(ふゆそうび) 【字幕】オフィサー・アンド・スパイ 【字幕】エデンの東 オシレーター後編 4Kマスター版 映画クレヨンしんちゃん もののけニンジャ珍風伝 【字幕】ファンタスティック・ビーストとダンブルドアの秘密 名探偵コナン ハロウィンの花嫁 劇場版 Free!-the Final Stroke- 後編 劇場版ラジエーションハウス ホリック xxxHOLiC 【字幕】ドクター・ストレンジ マルチバース・オブ・マッドネス 【字幕】オードリー・ヘプバーン バブル 大河への道 シン・ウルトラマン 【字幕】フォーエバー・パージ オシレーター後編 ハケンアニメ! 鋼の錬金術師 完結編 復讐者スカー 【字幕】ワン・セカンド 永遠の24フレーム 【字幕】帰らない日曜日 【字幕】トップガン マーヴェリック 【吹替】トップガン マーヴェリック 機動戦士ガンダム ククルス・ドアンの島 太陽とボレロ 冬薔薇(ふゆそうび) 【字幕】オフィサー・アンド・スパイ 【字幕】エデンの東 4Kマスター版 映画クレヨンしんちゃん もののけニンジャ珍風伝 【字幕】ファンタスティック・ビーストとダンブルドアの秘密 名探偵コナン ハロウィンの花嫁 劇場版 Free!-the Final Stroke- 後編 劇場版ラジエーションハウス ホリック xxxHOLiC 【字幕】ドクター・ストレンジ マルチバース・オブ・マッドネス 【字幕】オードリー・ヘプバーン バブル 大河への道 シン・ウルトラマン 【字幕】フォーエバー・パージ ハケンアニメ! 鋼の錬金術師 完結編 復讐者スカー 【日本語字幕付】鋼の錬金術師 完結編 復讐者スカー 【字幕】ワン・セカンド 永遠の24フレーム 【字幕】帰らない日曜日 【字幕】トップガン マーヴェリック 【吹替】トップガン マーヴェリック 機動戦士ガンダム ククルス・ドアンの島 機動戦士ガンダム ククルス・ドアンの島 太陽とボレロ 冬薔薇(ふゆそうび) 【字幕】オフィサー・アンド・スパイ 【字幕】エデンの東 4Kマスター版 映画クレヨンしんちゃん もののけニンジャ珍風伝 【字幕】ファンタスティック・ビーストとダンブルドアの秘密 名探偵コナン ハロウィンの花嫁 劇場版 Free!-the Final Stroke- 後編 劇場版ラジエーションハウス ホリック xxxHOLiC 【字幕】ドクター・ストレンジ マルチバース・オブ・マッドネス 【字幕】オードリー・ヘプバーン バブル 大河への道 シン・ウルトラマン 【字幕】フォーエバー・パージ ハケンアニメ! 鋼の錬金術師 完結編 復讐者スカー 【日本語字幕付】鋼の錬金術師 完結編 復讐者スカー 【字幕】ワン・セカンド 永遠の24フレーム 【字幕】帰らない日曜日 【字幕】トップガン マーヴェリック 【吹替】トップガン マーヴェリック 機動戦士ガンダム ククルス・ドアンの島 太陽とボレロ 冬薔薇(ふゆそうび) 【字幕】オフィサー・アンド・スパイ 【字幕】エデンの東 4Kマスター版 オシレーター後編 映画クレヨンしんちゃん もののけニンジャ珍風伝 【字幕】ファンタスティック・ビーストとダンブルドアの秘密 名探偵コナン ハロウィンの花嫁 劇場版 Free!-the Final Stroke- 後編 劇場版ラジエーションハウス ホリック xxxHOLiC 【字幕】ドクター・ストレンジ マルチバース・オブ・マッドネス 【字幕】オードリー・ヘプバーン バブル 大河への道 シン・ウルトラマン 【字幕】フォーエバー・パージ ハケンアニメ! 鋼の錬金術師 完結編 復讐者スカー 【字幕】ワン・セカンド 永遠の24フレーム 【字幕】帰らない日曜日 【字幕】トップガン マーヴェリック 【吹替】トップガン マーヴェリック 機動戦士ガンダム ククルス・ドアンの島 太陽とボレロ 冬薔薇(ふゆそうび) 【字幕】オフィサー・アンド・スパイ 【字幕】エデンの東 4Kマスター版 映画クレヨンしんちゃん もののけニンジャ珍風伝 【字幕】ファンタスティック・ビーストとダンブルドアの秘密 名探偵コナン ハロウィンの花嫁 劇場版 Free!-the Final Stroke- 後編 劇場版ラジエーションハウス ホリック xxxHOLiC 【字幕】ドクター・ストレンジ マルチバース・オブ・マッドネス 【字幕】オードリー・ヘプバーン バブル 大河への道 シン・ウルトラマン 【字幕】フォーエバー・パージ ハケンアニメ! 鋼の錬金術師 完結編 復讐者スカー 【字幕】ワン・セカンド 永遠の24フレーム オシレーター後編 【字幕】帰らない日曜日 【字幕】トップガン マーヴェリック 【吹替】トップガン マーヴェリック 機動戦士ガンダム ククルス・ドアンの島 太陽とボレロ 冬薔薇(ふゆそうび) 【字幕】オフィサー・アンド・スパイ 【字幕】エデンの東 4Kマスター版 映画クレヨンしんちゃん もののけニンジャ珍風伝 【字幕】ファンタスティック・ビーストとダンブルドアの秘密 名探偵コナン ハロウィンの花嫁 劇場版 Free!-the Final Stroke- 後編 劇場版ラジエーションハウス ホリック xxxHOLiC 【字幕】ドクター・ストレンジ マルチバース・オブ・マッドネス 【字幕】オードリー・ヘプバーン バブル 大河への道 シン・ウルトラマン 【字幕】フォーエバー・パージ ハケンアニメ! 鋼の錬金術師 完結編 復讐者スカー 【字幕】ワン・セカンド 永遠の24フレーム 【字幕】帰らない日曜日 【字幕】トップガン マーヴェリック 【吹替】トップガン マーヴェリック 機動戦士ガンダム ククルス・ドアンの島 太陽とボレロ 冬薔薇(ふゆそうび) 【字幕】オフィサー・アンド・スパイ 義足のボクサー GENSAN PUNCH

                  関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次
閉じる