• どどんとふログ抽出スクリプト試作品

    2017-05-20 06:03





    【前置き】
    どどんとふのログ保存には、[全タブ]という便利な保存機能があります。
    全てのタブの発言が時系列に並んで出力され、行の頭にはどのタブでの
    発言だったかが記載されます。
    この機能、便利なので多用しています。


    【開発経緯】
    にもかかわらず今回このようなスクリプトを作った経緯なのですが、
    自分がセッションをしているGM持ち回りのオンラインセッション環境では
    担当したセッションのログをGMがアップするというお約束になっています。
    その中で、セッションログをタブ別と全タブで欲しい、という声があがったため
    じゃあ、全タブから欲しいタブだけ抽出しちゃおうという発想に至りました。

    まだまだ試作品ではありますが、一応の完成を見ることができましたので、ここに公開いたします。
    良かったら使ってみてください。

    【スクリプト作成の振り返り】
    どどんとふの全タブ機能では、ダイスボット使用などで発言の中に改行が発生した際、

    [メイン]06:07:テスト:2d6
    DiceBot : (2D6) → 6[5,1] → 6

    と表示され、先頭行が[~~~]の行を抽出するだけでは不十分で
    次の[~~~]が発見されるまで途中の行を抽出し続けるロジックを組む必要がありました。
    今回のコードでは該当の[~~~]が付いている行を出力した後、付随する行を出力するループに入ることで処理しています。


    【使用方法】

    1. どどんとふのログをHTML形式全タブで保存し、以下のコードを<body>タグのすぐ下に張り付けてください。
    2. ログファイルをHTMLファイルとしてブラウザ等で開くと、テキストボックスとボタンが表示されます。
    3. テキストボックスに抽出したいタブ名を入力し、エンターキーか[抽出]ボタンを押します。
      (タブ名の前後に [ や ] は不要




    <form name="ext_form">
    <input type="text" name="textbox" value="" onKeyPress="ext_tab_onkey();">
    <input type="button" value="抽出" onclick="ext_tab()">
    </form>
    <script>
    <!--
    function ext_tab_onkey(){
    if( window.event.keyCode == 13 ){
    ext_tab();
    }
    }
    function ext_tab(){
    var target = ext_form.textbox.value;
    if(target==""){
    alert("値が入力されていません。");
    }else{
    alert(""+ target +"を抽出します。");
    var reg0 = new RegExp("^\\["+target+"\\]");
    var reg1 = new RegExp("^\\["+".*"+"\\]");
    var textArray = document.body.innerHTML.split(/\r\n|\r|\n/);
    for (var i = 0; i < textArray.length;) {
    if(textArray[i].match(reg0)=="["+target+"]"){
    document.write( textArray[i] );
    i ++ ;
    for(; i < textArray.length;i ++){
    var tA = textArray[i].match(reg1);
    if(tA==null){
    document.write( textArray[i] );
    }else{
    break;
    }
    }
    }else{
    i ++;
    }
    }
    }
    }
    -->
    </script>



    【注意】
    スクリプトの追加位置はわかりやすさ優先で<body>タグのすぐ下としています。
    ブロマガの仕様上字下げが十分にされていません。


  • 広告
  • ニコ生でも使えるOBS最強?ノイズカット法

    2017-04-26 17:215

    今回はスペクトル調整によるノイズ除去法をご紹介します。
    この方法では様々な種類のノイズを取り除けるのが特徴です。
    高周波、低周波、ホワイトノイズ、ピンクノイズ、etc.種類を問わず除去できます。
    もちろん、自分が除去したいノイズの種類を知っている必要はありません

    【メリット】
    OBSで配信できるすべての配信サイトで使える。
    様々な種類のノイズを強制的に除去することができる。

    【デメリット】
    音質が変化する場合がある。
    PCのCPUを使用する可能性がある。(最近のPCなら無視できる程度)
    音声に処理分の遅延が発生する。(最近のPCなら無視できる程度)


    【用意するもの】
    配信できるPC(今回はWindows向けの解説です)
    OBS Studio
    (OBS Studioの導入は他所をご参照ください。)


    今回はReaPlugsというツールのReaFIRという機能のSubtractモードを使います。
    ReaPlugsはREAPERというツールのプラグイン集です。
    別にREAPERを導入しなくてもこれ単体で使うことができます。

    どのくらいノイズが減るかというと・・・
    過去に実証してくださった方の動画があるのでご紹介します。




    上の動画はこの記事から約7年前の動画になります。
    なんでこんなに便利なノイズカットが流行らなかったかというと、
    VSTプラグインの敷居の高さからです。

    しかし、今まで敷居の高かったVSTプラグインが、
    OBS Studioを使うことでお手軽導入できるのです。


    今回はその方法をご紹介します。

    その1.プラグインの入手


    まずはREAPERのHPに行きダウンロードページからReaPlugsを入手します。
    ↓ダウンロードページ
    http://www.reaper.fm/reaplugs/
    お使いのPCに合わせて
    Download: ReaPlugs VST v2.36 32-bit (January 2 2016)
    または
    Download: ReaPlugs VST v2.36 64-bit (January 2 2016)
    をクリック。ダウンロードします。





    ダウンロードしたファイルを実行します。
    同意文書が出てくるので、同意なら【I Agree】をクリック。






    次はインストールする物の選択ですが、ReaFIR以外は必要ないです。
    よくわからないという方はチェックはそのまま【Next】をクリック。






    保存場所を選んで※【Install】をクリック。
    ※32bit版の場合は
    C:\Program Files\VSTPlugins\ReaPlugs\x86
    としてください





    Close】をクリックしてインストールは終了です。






    その2.OBS Studioの設定


    続いてOBS Studioの設定を行います。

    OBS Studioを起動し、マイクのところの歯車マークをクリックし
    フィルタ】をクリックします。
    (画像予定)



    プラス(+)のところをクリックし、【VST 2.x プラグイン】をクリックします。
    (画像予定)



    名前を適当に付けて、OKをクリックします。
    {Please select a plug-in}
    と書いてあるドロップダウンボックスから【reafir_standalone】を選択します。
    (画像予定)


    その下の【プラグインインターフェイスを開く】をクリックし、Reafirの画面を開きます。
    (画像予定)

    Mode: と書いてある横のドロップダウンボックスで【Subtract】を選択します。






    【注意】ここで、"環境ノイズ"をReafirに入力する必要があります。余分な音が入らないよう注意してください。

    Automatically build noise profile (enable during noise)
    と書いてあるチェックボックスをONにし、すぐOFFにします。

    ※このON OFFの間に入力された音域を今後すべてカットします。

    バツ印(×)を押して閉じてください。
    OBSのフィルタ画面も【閉じる】をクリックしてください。

    マイクが拾っていた邪魔なノイズがほとんど消えたはずです。


  • HPゲージ追加スクリプト

    2016-02-27 12:59




    どどんとふのチャットパレットを編集して

    HP:{HP}/{/HP} MP:{MP}/{/MP}
    と書き込み、発言すると
    HP:113/113 MP:97/97
    のようになってくれます。

    ボスなどの現在値をログに残せるので、ログを見返すときに便利です。

    今回、これにさらにHPゲージを追加するJavaScriptを作ってみました。

    ログ内のHP:**/**という表記を拾ってきて、後ろにゲージを付け足してくれます。

    使い方は、どどんとふのログをHTMLで保存し、
    <head>の後に


    <script type="text/javascript">
    <!--
    window.onload = function(){
    document.body.innerHTML=document.body.innerHTML.replace(/(HP:)([0-9]+)\/([0-9]+)/gi,'$1$2\/$3 <meter value="$2" max="$3" optimum="0" low="0.1" high="0.5" class="hpmeter"></meter>');focus();
    document.body.innerHTML=document.body.innerHTML.replace(/(MP:)([0-9]+)\/([0-9]+)/gi,'$1$2\/$3 <meter value="$2" max="$3" class="mpmeter"></meter>');focus();
    }
    // -->
    </script>


    と足すだけ!


    【注意】
    IE非対応です。IEではゲージ部分は詰めて表示されます。
    meterタグの正しい使い方とはいえません。
    スクリプトの追加位置はわかりやすさ優先で<head>の後としています。
    画像はのChromeでの動作イメージです。