私のメモ書き知った事、やった事の備忘録です。コピー2015.12.25サンプル読みながら書きました。ボカロはほぼ知らないです。目次Playbackモードの処理フローYVF.YVFStartupメソッドYVF.YVFSetStaticSettingメソッドYVF.YVFOpenSongメソッドYVF.YVFLoadVSQXFileメソッドYVF.YVFFindTempoInMasterメソッドYVF.YVFFindPartメソッドYVF.YVFSetSingerInPartメソッドYVF.YVFSetupMidiEventsToEONInPartメソッドYVF.YVFGetTotalFrameByPartメソッドYVF.YVFBeginRenderメソッドYVF.YVFRenderメソッドYVF.YVFEndRenderメソッドYVF.YVFClearMidiEventsInPartメソッドYVF.YVFCloseSongメソッドYVF.YVFShutdownメソッドとりあえずこんなところでPlaybackモードの処理フローボカロエンジンには2種類あって1つが譜面通り歌うタイプ、もう1つがリアルタイムで発声するタイプ。今回は前者のPlaybackモードを使用します。YVFクラスのメソッドを順番に実行しながら音声を合成するのが基本の流れ。//3に戻ったりするYVFShutdown()4番がプログラム的にはやること多いんですが、今回は.vsqxファイルを読み込んでしまおうかと。サンプルプロジェクト(PlayBackシーン)を見ながらざっくりと使用メソッドをとりあげていきます。だいたいリファレンスから引っ張ってます。path)YVFクラスの初期化を行うメソッド。targetNameは”personal”で固定、pathはボカロが使用するDB_iniフォルダのパスです。通常であればAssets>StreamingAssets>VOCALOID>DB_iniにあるかと。戻り値はYVFResultという列挙型です。length)Playbackモードでエンジンを起動するメソッド。lengthで起動する歌声合成エンジンの数を指定します。これがそのままエンジンハンドルNo.になります。3なら0~2ですね多分。戻り値はYVF.YVFStartupメソッドと同じなので省略。後もたくさん出てきますがそれも省略します。YVFOpenSong()ソングをオープンします。(原文ママ)よくわかりませんがソングハンドルを返してくれます。ソングハンドルは後のメソッドでたくさん使用します。filePath)VSQXファイルをロードしてくれる神メソッドです。handleで上のYVFOpenSongで取得したソングハンドルを指定、ファイルパスはフルパス。複数のVSQXファイルを読み込んで合掌したいとかいう場合はそれぞれ新しいソングをオープンする必要があるということですね。我が家にはボカロエディタが無いので詳しい事がわからないのですが、適当に拾ってきた.vsqxファイルでテストしたいときはwavPartの記述があると読み込みエラーが発生するので、その場合はコメントアウトしておくとよいかと。最初のテンポを検索します。いうか検索位置のBPMを返すと思うんですけど。VSQXファイルを読み込むなら記載あると思うから要らない気がするんですが。partHead)パートを取得するメソッド。handleはソングハンドル、trackはトラックナンバー、timeは検索開始時間(tick)。YVFPartHead構造型で取得。singer)シンガーを設定するメソッド。YVFPartHead.partHandleから取得できます。YVFSinger構造型を参照渡し。シンガーの設定が入ってますが今はunityちゃんしか選べないですね。MIDIデータを元に、フレームインデックスとの対応データをセットアップします。startTick)フローの本筋に戻ってきてこのメソッド。なにを言ってるのかわからないですね。handleはソングハンドル、partHandleはパートハンドル(パートヘッダのメンバから取得)、startTickはセット時間でしょうか。partHandle)指定パートをレンダリングした時の総フレーム数を取得するメソッド。BPMとTickからなんかいろいろしてくれてそうな気がします。engineHandle)レンダリング準備を行うメソッド。engineHandleで指定したエンジンでレンダリング準備します。renderedSamples)レンダリングするメソッドです。partHandleはパートハンドル、renderingDataは取得データの先頭ポインタ(????)、ターゲットサンプルは総サンプル数(1フレーム256サンプルらしい)、engineHandleはエンジンハンドル、renderdeSamplesは処理したサンプル数。わけがわかりませんのであとまわし。engineHandle)Playbackモードのレンダリング終了メソッド。partHandle)指定パートのフレームインデックスとの対応データをクリアするメソッド。引数はソングハンドルとパートハンドル。handle)ソングをクローズするメソッド。handleはソングハンドルですね。YVFShutdown()YVFを終了するメソッドです。こんなところでまるで意味が分からんのが幾つかありましたが、とりあえずplaybackモードで.vsqxファイル読み込んで再生するってのは何とかなりそうですね。適当に組んでみたいと思います。コピーらくてとをフォローするらくてと私のメモ書き関連記事MySQLWindows10環境でMySQLをインストールする必要になったので覚え書きです。unityはインストールしているものとします。以下からMySQLのインストーラーをダウ...MySQLUnityでMySQLを操作する覚え書きunityからMySQLに作った名簿表からデータ取得と、データ書き込みをします。SQL文でいうSELECTとINSERTですね。コードの解説などもして行こうかと。前回の記事...FaceRigFaceRigでキャラクターを拡大するアップにしたり角度を変えたりする方法です。キーバインドが特殊なので最初はわかりにくいですね。デフォルトの設定だとaltキーと右ドラッグで拡大縮小できます。FaceRigで出力映像の色情報がおかしくなってたのでその修正方法をば。スカイプや配信ソフトで色がおかしくなってます。インストール直後からラスカルが青くなってたので割とある現象なのかな?...FaceRigFaceRigでLive2Dモデルを導入するFaceRigおもしろいですね。2015年12月9日にLive2Dのモデルを動かすモジュールが追加されていますのでそれのモデル導入テストをば。FaceRigにLive2Dを...MySQLUnityからMySQLに接続するおぼえ書きUnityからMySQLに接続する際のおぼえ書きです。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。(1)らくてと雑に生きている人間です。手品、ジャグリング、ゲームやWeb周りに触れる事があります。(1)らくてと雑に生きている人間です。手品、ジャグリング、ゲームやWeb周りに触れる事があります。フォローするタイトルとURLをコピーしました。