#はじめに
ADX2ロボット機能で、
自動再生するようなスクリプトを作ってみた。
今回は、CSV形式の情報を読みつつ再生しています。
##用途は
- とりあえず登録したデータを音で聞いて変なところが無いかとかチェック
- テキストの内容をあっているかをざっくりと確認する
- 流して聞いておかしなことが無いか(音質が他と違うなど)
といった時に使えるかもしれない。
スクリプトを使わなくてもツリーやリスト上で再生していけばよかったりもしますが、
CSVで再生内容とかも同時に表示してあげているので、よりチェック力があがるかもしれません。
やっていること
選択しているキューシートの
キューを集めて
csvを読み込んで
ログも表示しつつ
キュー名と同じものがあれば、
CSVのフォーマット
こんな感じで、
最初のところに番号(これがキュー名)
英語のテキスト、日本語のテキスト
といったCSV(今回はカンマじゃなくてタブ区切りですが)を用意しました。
スクリプト
PreviewVoice.py
# --Description:[tatmos]ボイスの内容を表示しつつ再生する
import sys
import cri.atomcraft.project
import cri.atomcraft.project as acproject
import cri.atomcraft.debug as acdebug
import cri.atomcraft.preview as acpreview
import csv
# 選択しているキューシートを得る
selected_CueSheets = acproject.get_selected_objects("CueSheet")["data"]
if not selected_CueSheets :
acdebug.warning("生成するキューシートを選択してください.")
sys.exit()
cues = list()
#キューを取得
for cusheet in selected_CueSheets:
acdebug.log("cusheet Path:\"{0}\"".format(acproject.get_object_path(cusheet)["data"] ))
#キューを集める
cues = acproject.find_objects(cusheet, "Cue")["data"]
#csvを読む
with open('C:/MyDearest/UranusSenarioText.csv', 'r', encoding="utf_8") as f:
reader = csv.reader(f, delimiter='\t')
for row in reader:
acdebug.log("{0},{1},{2}".format(row[0],row[1],row[2]));
for cue in cues:
cue_name = acproject.get_value(cue, "Name")["data"]
if cue_name == row[0]:
# キューを再生
acpreview.start_playback_cue(cue)
break
#実行すると
ログにCSVの内容を表示しつつ音を再生していきます
#改善点としては
- UIをつけて、一時停止や、任意送りできるようにする
- 再生が終わるまで待ってから次のものを再生する
- テキストIDを入れたら、それだけを再生する
など、UIをつけると良さそう。(現状だとUIはリモート型にする必要があるので今回はパス)
#おわりに
現状のADX2ロボットでできることは、キューの再生・停止のみなので、
今後もっと拡張されていくといろいろできるようになると思う。