音声合成の排他制御について

このQ&Aのポイント
  • 音声合成ソフトウェアOpen JTalkを使用してPCに音声合成をさせる取り組みをしているが、音声合成の内容を排他制御することは可能か?
  • Open JTalkは事前に用意したテキストファイルの内容を読み上げる構成であり、一つの音声を発している間に別の音声発話を始めてしまった場合に重なりが生じることがある。
  • 排他制御を実装することで、音声合成が重なった場合には以前の内容を停止して新しい内容を発話することができる。
回答を見る
  • ベストアンサー

音声合成の排他制御について

音声合成ソフトウェアOpen JTalk を使用してPCに音声合成をさせる取り組みをしているのですが、 音声合成の内容を排他制御することは可能なのでしょうか? Open JTalk は事前にテキストファイルに用意していた内容を読み上げる構成になっており、 一つの音声を発している間に別の音声発話を始めてしまった場合に音声に重なりが出来てしまいます。 これを、音声合成が重なった場合は以前から発話していた内容の発話を辞めるように制御させることは可能なのでしょうか? <例> 「おはようございます。」と発話する場合に「おはようござ」で内容を停止し、 次の「おはようございます」の発話を始める どうか、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hoge1914
  • ベストアンサー率100% (1/1)
回答No.1

あまりエレガントな方法ではありませんが、 taskkill /f /im open_jtalk.exe することでOpen JTalk自体を止めることができます。

関連するQ&A

  • Oracleの排他制御について教えてください

    質問内容は結論から言うと、 INSERT文の時の排他制御について 知りたい。 以下の私の認識を踏まえた上で、 INSERT文の排他制御について 質問させてください。 なお、私の認識に誤りがあれば 指摘してください。 ### 私の認識 start ###### 1)Oracle では、select文の時に for updateを 書かなければ、なんのロックもかからず、 読み取り専用リソースへのアクセスで ない限り、 ダーティーリードの可能性がある。 2) select文で for update を指定した場合は 該当行について 共有ロックがかかる。 行単位の共有ロックがかかる。 その際、 他のトランザクションが for updateつきで selectしてきても、 共有ロック同士なので、 互い排他制御しない。 (3) update 文の場合は 該当行について、 占有ロックがかかる 行単位の占有ロックがかかる。 (4) INSERT文の時には、 ロックをかけようにも INSERT前の段階では、 ロック対象行は存在しない。 複数のトランザクションが INSERTした行のPK の値が偶然同じであった場合 ロストアップデートの危険があるので 私の創造では、INSERT文の時は テーブル全体をロックしないと、 うまくいかないように思えます。 (5) update, insert文については、 Oracleでは、自動的に該当行について 占有ロックを行う。 なお、INSERT文については、 下記の質問事項における疑問点 が解消されていないため、 行単位なのかどうか、私の中では 自身がもてないのが現状です。 ### 私の認識 end ###### ### 主な質問内容 start ### 私の認識の(4)を踏まえた上で INSERT文の時のはいた制御 の範囲や挙動について、 教えてください。 ### 主な質問内容 end ### 以上です。

  • Excelファイルのマクロによる排他制御

    A.xlsというExcelファイルの内容を更新するのですが。 更新しにいくのは、複数のExcelのマクロで作成したツールです。 その複数のツールから同時にA.xlsの更新にいくと当然タイミングによって更新内容が上書き等され壊れてしまいます。 そこで、お互いのツールで排他制御を行おうと思っているのですが、A.xlsを開くopen文での記述が解りません。 どなたか教えていただけないでしょうか。 使用している構文は、こんな感じです。 Workbooks.Open Filename:="A.xls" on errorで重複openのエラーになるかと思ったのですが、エラーになってくれず、重複エラーを検知できません。 よろしくお願いします。

  • ファイルの排他制御について

    こんにちは。 Visual Studio 2005 のC#を使って、ファイルを加工するアプリを書いていますが、 ファイルの排他制御についてよく分らなくて困っています。 プログラムの構成としては、以下の通りです。 1:プログラムAがファイルXYZを作成します。 2:プログラムAとは別々に動く、プログラムBが、このファイルXYZを読み込んで データベースに書込む処理をします。 この処理で、もしもプログラムAがファイルXYZの作成中の時に、 プログラムBが同じタイミングでファイルXYZを開いてしまった場合、 ファイルが中途半端な状態で開いてしまうのではないかと思ってます。 こういう状態を回避するためにはどういう処理にすればよいのでしょうか? よろしくお願いいたします。

  • トリガに排他制御をかけたいのですが

    トリガに排他制御をかけたいのですが Oracleのトリガで、 トリガ内の処理に対して排他制御をおこないたいのですが、 どのように設定すればよいのでしょうか? トリガの内容は以下となります。 CREATE OR REPLACE TRIGGER TRI_TEST after update of (トリガの実行条件その1) on ORG_TBL FOR EACH ROW begin if (トリガの実行条件その2) THEN begin insert(実行される処理その1) EXCEPTION update(実行される処理その2) end; end if; end; / 上記の条件において、 「実行される処理その1」 「実行される処理その2」 を行っている最中に他からのアクセスをブロックをさせたく思っております。 本件の理由は 他からのアクセスで行われる処理が 「select(トリガによってデータが投入されてるテーブル)」 「truncate(トリガによってデータが投入されてるテーブル)」 を連続して行う処理のため、 排他を実行しなかった場合、 他からのアクセスの「select」と「truncate」の処理間に トリガによってレコードがinsertされた際に、 そのレコードがselectされなくなることを危惧しているためです。

  • Sambaで排他制御状態の確認方法について

    Windowsサーバーでは共有ファイルを現在使用しているユーザーを確認することができますが LinuxのSambaにCIFSでアクセスしている場合、共有ファイルを現在使用しているユーザーを 確認することはできますでしょうか。 Windowsのように排他制御の状態(共有ファイルにアクセスしているユーザー、ロック、オープンモードなど)を確認する方法はりますでしょうか。 ------------------------------------------------------------------------------------- 共有ファイルを現在使用しているユーザーを特定する方法 http://www.atmarkit.co.jp/fwin2k/win2ktips/083opened_net_file/083opened_net_file.html -------------------------------------------------------------------------------------

  • 閉じるボタン「×」を制御したい

    PHPを使って作業している者です。 windowの閉じるボタンが押された場合、イベントを起こす方法はありませんか? どうしたいのかを具体的にいいますと、 ユーザーのログイン、ログアウトの情報をPHPを介してMysqlのデータベースで管理しています。 閉じるボタン「×」を押した場合、データベース内にあるユーザー情報を削除したいのです。 ログアウトボタンを押されずに退席し、データベース上にユーザー情報が残ったままになってしまうことを避けたいのです。 javascriptを併用してもかまわないので何とかならないでしょうか? 排他制御の一環として今回の質問内容を模索しているので、もっと別で効率のいい方法が有るとは思いますが、排他ロックをいまいち理解できないためデータベース上にユーザー情報の有無で制御してしまおう考えてのことです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • SPMSMモーター センサレスベクトル制御について

    現在、勉強&開発を兼ねてインバータで表記制御を行おうとしています。 あるインバータキットを使用おり、制御部を自在に組み込めるというものを使用してテストしています。 センサ情報はU相とV相の電流センサです。 モータの速度起電力を得るために、ある回転数までオープンループでd軸電流に一定の強い電流を流し、q軸は0[A]に制御して回します。 (位置推定がオープンループで、厳密には電流センサからd,q軸電流のPI制御はあります) ある回転数まで到達したら、位置推定の計算を開始し、センサレス制御に切り替えています。 位置推定には電流推定誤差を用いた手法で計算しています。 (dq軸とδγ軸の角度誤差を0にするように制御、モータの速度起電力を元に計算) 今困っているのが、オープンループ制御で回してセンサレス制御に切り替えた時にモーターがなぜか逆転してしまいます。 もちろん逆転するときにはモーターは一旦0[rpm]で停止して逆転を開始します。 ですので引き込みきれず、脱調する場合も多々あります。(ゲイン調整が悪い可能性もあるかと思いますが・・・) 考え付くのはIPMへのPWM信号がどこかで逆転している、電流センサの読み取りが反転しているorU相、V相が振り変わっている?? ただ、これらの場合はオープンループ制御と呼んでいますが、d,q軸のPI制御があるので仮にどこか振り変わっていたらとても始動しないのでは?と思っています。 乱文申し訳ありませんが、原因、考えられることをご教授いただきたく、よろしくお願いします。 (専門の方が見られたら情報が足りない、表現がわからない等あると思いますのでご指摘下さい)

  • [PHP] AITalkの音声合成APIで困った

    file_get_contents の返り値が false で困っています!! Docomoさんがエーアイさんの音声合成APIを提供しています. エーアイの音声合成APIの中でも,「SSML」を利用しようとしています. ・ドコモさんのHP https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_docs_id=70 ・SSMLについて https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_docs_id=71#tag01 SSMLを利用しようとPHPで実装して実行するも file_get_contents でエラーになってしまいます. (エラー:failed to open stream: HTTP request failed! ) コードは以下のように記述しました. <?php // コード書く際に参考にしたサイト // http://www.d-labo.net/laboratory/php/7001.php // http://stackoverflow.com/questions/9412650/how-to-fix-411-length-required-error-with-file-get-contents-and-the-expedia-xml function post($url, $data) { if (!ini_get('allow_url_fopen')) throw new Exception("Not Allowed URL Open!"); //headersは仕様通りに記述したつもり $headers = array( 'Content-Type:application/ssml+xml', 'Accept:audio/L16', 'Content-Length:'.sprintf("%d",strlen($data)) ); //methodは必ずPOSTと仕様書にあった $stream = stream_context_create(array('http' => array( 'method' => 'POST', 'header' => implode("\n",$headers), 'content' => $data ))); //XXX: file_get_contentsの返り値が必ず false になってしまう return file_get_contents($url, false, $stream); } ////// usage sample ////// 申し訳ないのですが,APIKEYを第三者に提供することはできません. try { $url = 'https://api.apigw.smt.docomo.ne.jp/aiTalk/v1/textToSpeech?APIKEY=XXXXXXXXXX'; $xml = '<?xml version="1.0" encoding="utf-8" ?><speak version="1.1"><voice name="nozomi">エーアイの音声合成エンジンによる音声です。</voice><break time="1000ms" /><voice name="seiji">エーアイの音声合成エンジンによる音声です。</voice></speak>'; $hoge = post($url,$xml); var_dump($hoge); } catch (Exception $e) { var_dump($e); } ?> 以上のコードが記述されたファイル(text_to_voice.php)をターミナルで実行 $ php text_to_voice.php Warning: file_get_contents(https://api.apigw.smt.docomo.ne.jp/aiTalk/v1/textToSpeech?APIKEY=XXXXXXXXX): failed to open stream: HTTP request failed! in text_to_voice.php on line 26 bool(false) 以上になります.どうやったら file_get_contents の返り値が false じゃなくなるのか知りたいです. よろしくお願い致します. 画像にはリクエストヘッダーの内容とAPIのURLが記述されており, 画像にあるのを参照しました.

    • ベストアンサー
    • PHP
  • サーボモータを使った押し付けトルク制御について

    自動機の制御設計(電気・シーケンサ)をしている者です。 φ200mmのゆっくり回転している円筒(塩ビ管)に、比較的粘度の高い接着剤が10mm位塗布されていて、それをヘラで平らにならす工程の制御についての質問です。 サーボモータとロードセルを使って、接着剤に触れる付近までヘラの位置決め制御を行い(予め決めておいた座標に位置決めし)、その後はシーケンサのアナログユニット(A/D変換)に入ってくるロードセルからの信号(DC0~5V)を見ながら、ヘラの圧力がタッチパネルで予め指定した値になるようサーボモータを制御したいです。質問内容は下記になります。 ?上記の構成で制御する場合、A/D変換された値を使ってサーボモータを追従させるラダー回路を教えて下さい。シーケンサの構成は三菱電機でCPUがQ03UDV、位置決めがQD77MS2、A/DがQ64ADです。 ?色々と調べていたら、参考URLにある三菱電機の「押当て制御」のページを見つけましたが、今回の仕様に使えますか? 以上になります。宜しくお願い致します。 押当て制御について http://www.mitsubishielectric.co.jp/fa/products/cnt/ssc/pmerit/control/press.html

  • 加減速を行う箇所のモータ速度制御

    加減速制御を頻繁に行う箇所の駆動構成、モータ選定を考えています。 モータイナーシャが加減速制御にどのように影響するかがよくわかりません。 角運動方程式(T=J×ω/t)で考えれば良いのでしょうか。 ・モータトルクが同じ場合、モータイナーシャを含めたイナーシャが2倍になれば、起動時間も2倍になる。 モータが低イナーシャなので加減速に優位という内容の記述はよく見かけます。実際、加減速を行う箇所には低イナーシャのモータが使われているケースが多いようにも感じています。 モータトルクの大きなモータを選択すれば、低イナーシャモータのように制御できるのか。 速度制御にあたり大切なことに気づいていないのか。 教えてください。

専門家に質問してみよう