【SmileSound】アドレスを喋る機能

デコーダに電源が投入されると、アドレスを喋る機能をSmileSoundで実現しました。対応ファームウェアは、20230926以降となりますので、ご注意ください。それより前のファームでは、0000としかしゃべりません。

アドレスを喋るテスト版SmileSound用サウンドデータ

LAVxx.wavというファイルと、アドレス発音.csvというファイルで構成されています。main.csvで、callしてあげると、アドレスを喋るという仕組みです。ファンクションに紐づけないのは、アドレスが分からないとファンクションは操作できないものなので、詰むからです・・・。

サウンドフローは以下となります。addr変数と%の剰余算を追加しましたが、それ以外は従来の機能のままです。

DESKTOPSTATION,SOUNDLOW,SMILESOUND
play,LAV_IN.wav,1,0
wait,500,,
let,local2=0,,
let,local1=addr,,
label,ADR1000,,
let,local1=local1/10,,
label,ADR100,,
let,local1=local1/10,,
label,ADR10,,
let,local1=local1/10,,
label,ADR1,,
let,local1=local1%10,,
if,local1==0,A0,
if,local1==1,A1,
if,local1==2,A2,
if,local1==3,A3,
if,local1==4,A4,
if,local1==5,A5,
if,local1==6,A6,
if,local1==7,A7,
if,local1==8,A8,
if,local1==9,A9,
label,A0,,
play,LAV_0.wav,1,0
goto,JUDGE,,
label,A1,,
play,LAV_1.wav,1,0
goto,JUDGE,,
label,A2,,
play,LAV_2.wav,1,0
goto,JUDGE,,
label,A3,,
play,LAV_3.wav,1,0
goto,JUDGE,,
label,A4,,
play,LAV_4.wav,1,0
goto,JUDGE,,
label,A5,,
play,LAV_5.wav,1,0
goto,JUDGE,,
label,A6,,
play,LAV_6.wav,1,0
goto,JUDGE,,
label,A7,,
play,LAV_7.wav,1,0
goto,JUDGE,,
label,A8,,
play,LAV_8.wav,1,0
goto,JUDGE,,
label,A9,,
play,LAV_9.wav,1,0
label,JUDGE,,
let,local2=local2+1,,
let,local1=addr,,
if,local2==1,ADR100,
if,local2==2,ADR10,
if,local2==3,ADR1,
wait,500,,
play,LAV_OUT.wav,1,0
exit
,,,

このCSVは、起動時にコールする必要があります。そこで、main.csvでcall(フロー呼び出し)してあげます。このサウンドフローではファンクション操作は一切しない(見ない)ので、ファンクション番号は何を与えても何も起きないダミー扱いとなりますが、ここではF0として配置しました。

読んでいただければ、どうやってアドレスを発音しているかはわかるかと思います。それほど難しいことはしていませんが、うまく1/10や剰余算を使って、ループを回していることがご覧いただけると思います。

ファームウェア側は、アドレス発音を前提に、通信関係を勝手に省電力モードに遷移しないように細工するなど、いくつか機能を調整しています。よって、動きが怪しいことがあるかもしれませんので、何かあればサポートまでご報告ください。

タイトルとURLをコピーしました