ページ

2014/02/09

osu!のニコニコ生放送で曲名やARを表示させる方法

2014/4/13追記:もうちょっとわかりやすい記事を作りました。


こんにちは、osu!のforeheadと申します。
今回は、osu!のニコニコ生放送で曲名やARを表示させる方法を紹介します。

結果としては、以下のような放送画面になります。

(画面上部に、曲名とアーティスト名、難易度、クリエイター、ARが表示されています。)

今回使ったツールは、こちらです。
  • osu!np
    • プレイ中の曲について、自動的に情報を出力してくれるソフトです。
    • テキストファイルに書き出すことや、WebサーバにPOST処理することが可能です。
    • 好きなフォーマットで書き出せます。



ちなみに・・他に放送中に利用しているツールは、こちらです。
  • Niconico Live Encoder (NLE)
    • エンコードし、ニコ生サーバへ放送を送信してくれます。
  • 美速プリセット
    • NLEのカスタムプリセット集。デフォルトのプリセットよりも高画質で低負荷な配信が可能になります。(ちなみにlevel4を利用しています。)
  • SCFH DSF
  • USBカメラ
    • 手元配信したければ適当に用意する(安物でも可)
  • Flashコメントジェネレーター
    • 画面上にコメントを表示させるソフトです。各種コメビュと連携が必要です。
    • XsplitやNLE等と組み合わせて使います。
  • やります!アンコちゃん
    • コメントビューアーです。棒読みちゃんと連携が可能。
  • 棒読みちゃん
    • テキスト読み上げソフトです。アンコちゃんと連携でコメントを読み上げてくれます。
  • FMEAutomator
    • 本来はFlash Media Live Encoderの支援ソフトですが、NLEやアンコちゃんと連携が可能です。自動枠取りもできるので超便利。
  • nleautostart
    • NLEの配信のスタート・ストップをしてくれるソフトです。FMEAutomatorと組み合わせることで、自動枠取り→自動配信 が可能になります。

さて、本題のosu!のプレイ中の曲名とARを表示させる方法について説明します。

仕組みとしては、次のようになります。
  1. osu!で適当な曲をプレイする。
  2. osu!npが曲を検知、テキストファイルにプレイ中の曲名などが書き出される。
  3. そのテキストファイルを、NLEが読み込んで表示させる。
  4. NLEは一定間隔でテキストファイルを読みに行く。
こんな感じです。

まず、osu!npをダウンロードします。
解凍したら1個のファイル、osu!np.exe が出てきます。
どこかわかりやすい場所に解凍しておきましょう。

次に、osu!np.exeを起動してみましょう。
起動し、Configボタンを押し、現れたウィンドウのOutputタブをクリックします。
すると、以下のような画面になるかと思います。
上部ウィンドウにテキストボックスが2つあります。
上は、選曲中に出力されるテキスト、
下は、プレイ中に出力されるテキストとなっております。
2つのテキストボックスの内容を編集しておきましょう。
([tu]や[au]などフォーマットについては、osu!npのページのFeaturesを参照しましょう。)

また、Config画面のOutput Primaryにチェックが入っていることも確認しましょう。

(ちなみに私はARや難易度、マップのクリエイターなどの情報も表示させたく、
1行だと長すぎるので、上記の画面下部にあるConfigのOutputで2個目のテキストファイルの
出力内容を設定しました。
この場合、Output Secondaryのチェックも忘れずに。)

次に、Config画面のDirectoryタブをクリックします。

一番上のテキストボックスにosu!へのパスを、
上から二番目の左のテキストボックスには、テキストファイルの出力先を設定しましょう。
(2個テキストを吐き出させる場合は、右のテキストボックスにも設定しましょう。)

最後に、上部ウィンドウのStartを押し、osu!を起動して適当にプレイしましょう。
うまくいけば、出力先にテキストが吐き出されているはずです。

さて、ここまで来ればあと一息です。
このテキストをNLEで表示させる方法についても紹介します。

まず、NLEを立ち上げ、 映像ソースにテキストを追加しましょう。

次に、出てきたウィンドウに次のように設定します。
  • Remote Urlの欄に、テキストファイルの出力先を入力
    • C:\(省略)\osu!np\np.txt のように
  • Remote text updateをチェック、Refresh Intervalに好きな秒数を入力
  • Show Embedded Fonts Onlyのチェックを外し、フォントを好みの物に設定


こんな感じになるかと思います。
(なお、Scrollingにチェックを入れるとスクロールもしてくれるようになります。)

これで、NLEでosu!の曲目などを表示させることができるようになりました。


しかし・・自分はここで満足できませんでした。
フォントを正しく設定しても汚い・・気がする。
というか好みのフォントにしても表示が荒い・・気がする。

なので、
osu!npから曲名などの情報をサーバにポスト→PHPで画像を生成
→その画像を定期的に自動的に取得し表示するフラッシュ(swfファイル)を作成
→NLEにドラッグアンドドロップで完成。
ということもしてみました。

その件については、後日また別の記事で投稿しようと思います。
(忘れていなければ。)

0 件のコメント:

コメントを投稿