コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
MeiMei ◆o9mi.FpHF5Xx
2019/9/10 18:57
質問
talk命令中にMMLって流せます?
そのとおり。

コメント

アバター
Na 2019/9/10 20:10 ◆QoELVrBXBQCI
TALK命令の後にBGMPLAYしたらだめなんですか?
アバター
RU-RA 2019/9/11 21:18 ◆WXDJqyOv9yBK
TALKの前にMMLを置くかあとに置くかです。
どちらにしよ、MMLの前にWAITを置かない限りはそこまで代わりはないです。
(語彙力がどうしようもないので例えを。)
BGMPLAY "~~"
TALK "~~"
WAIT ~~ 'TALK 命令分の遅延を行う。
的な?
アバター
ツララ 2019/9/11 22:29 ◆ArUdBYOYME1V
タイミング取りだったら実際にTALK命令で喋らせて時間計って
BGMPLAY命令を実行する前のWAIT命令に渡す引数を計算するとか
MML文字列の前部分に休符を追加するとか。

それとも
TALK命令にMML文字列を渡した場合に、ちゃんとMMLとして認識するような方法ないですか?
ってことかな?

MeiMeiさん的には用途としてはどんな感じを想定してます?
アバター
MeiMei 2019/9/12 6:46 ◆o9mi.FpHF5Xx
普通に話してる途中にBGMみたいにしたいと思ってます
アバター
ツララ 2019/9/12 11:53 ◆ArUdBYOYME1V
リファレンス見たら普通にTALKCHK()っていうTALK命令で喋らせ中かどうかを判別する命令ありますね。
セリフを編集して、BGMを流したい直前で区切って
REPEAT:UNTIL !TALKCHK()
で待って、残りのセリフとMMLを流す処理を入れればいいんじゃないんです?

って思ったけど、区切るとどうしても喋り始めの遅延が入るから不自然ですね…
となると、セリフ読み上げを
T=MILLISEC:TALK "セリフ":REPEAT:UNTIL !TALKCHK():?MILLISEC-T
みたいな処理で実測してMMLを流すタイミングを取るか
セリフの句読点のタイミングで区切って、句読点代わりにするついでにMMLも流すか…
MeiMeiさんは解決策のサンプルを何か作ったりしてみました?
アバター
Na 2019/9/12 18:28 ◆QoELVrBXBQCI
TALK実行したら話し終わるまで他の命令は実行できないとか、そういうことはないので、普通にTALK命令の後にBGMPLAYを書けば話しながらBGMが鳴ると思うのですが。
アバター
MeiMei 2019/9/12 21:09 ◆o9mi.FpHF5Xx
できたー!

ついでに質問。
なんか普通にtalk命令やってるんだけど話してくれない。これどうすりゃいい?
アバター
高原のな 2019/9/12 21:13 ◆bY8RViwvoODw
音声合成にとても時間がかかっている可能性があるかもしれません
TALKCHK()と「細切れにした」読み上げさせたい文字列を用意して,順にTALK命令に渡すと解決するかもしれません

(追記)
New3DS LL上で文章の途中まで入力してテストした限りではきちんと音声合成が行われていました.一度途中までの文字列を読み上げさせるように少しプログラムをいじってみるのはどうでしょうか.
アバター
MeiMei 2019/9/12 21:37 ◆o9mi.FpHF5Xx
いじり方がわからぬ
アバター
高原のな 2019/9/12 22:09 ◆bY8RViwvoODw
動作テストのためのいじり方というよりは細切れにして順に読ませる方法ですが,そのお手軽な方法としては,
WHILE TALKCHK()WENDの行の後に新たにTALK文を置き,元のTALKに渡すメッセージの途中からを切り貼りしてみるのはどうでしょう
これにより,先に実行されるTALK文の中身を言い終わった後に次のTALK文の内容を言わせることができます.ポーズ(間)を取りたかったらTALK文の前に「WAIT (待たせるフレーム数)」を追加するのもよきかな
さらに,新たなTALK文を置く度にWHILE TALKCHK()WENDをTALK文の次の行に追加していきます

あるいは,DATA文や配列を用いる方法もあります.拡張性云々を考えるとこちらが良い気がしますが大改造が必要なので面倒です.

どんな方法でも動けば勝ちなので,今のところのプログラムのバックアップを忘れずにした上で,様々な方法を試してみてくださいな.
アバター
takumi 2019/9/15 14:41 ◆Ce3Q40uXWJjn
へいへい
僕の作成したREDフォーマットをオススメしますぜ〜

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -