じみなブログ

検索しても見当たらないゲームや配信についてのtipsを書き留めておく場所

Windowsのスリープ阻害するもの

特に新しいドライバやプログラムを入れたわけでもないけどスリープしなくなってたので、powercfgを叩くと例の「レガシーカーネルの呼び出し元」。

だいたいこうなると外付けの機器が原因にはなるけど、別にその辺も付け替えたりしていないし…と思ってキャプチャーカード外すと消えたのでこれ確定…

よく思い出すとキャプチャーカードの音声入力デバイスに「このデバイスを聴く」設定したのがいけないのでは?と思ってチェック外したらビンゴだった。

自分くらいになるともうpowercfgは日常的に使うのでいちいちキーボードで叩くの面倒だからバッチファイル作ってクリックしています…

AMD Noise Suppressionが効かない時~!

先日何か長年のモヤモヤからとうとうRADEON RX6650XTをお買い上げになったんですが、ゲーム以外にもそういえばノイズキャンセル機能を試したかったのを思い出して、やってみましたらなんと音が出ない!というかマイクを拾わない!

でやっぱりお前には期待外れだ、今後もASUSにノイズ消してもらうって一回なったんですけど

「デバイス名に問題あると駄目」という報告がよくあるので、自分は日本語を含まないようにしているけど「M-AUDIO M-TRACK SOLO &DUO」というデバイス名が長すぎるんぢゃないの?という気が…そこでメーカードライバーをアンインストールしてUSB汎用デバイスドライバに戻したところ、ノイキャンに使えるようになりました。

こういうことなんでM-AUDIOを使っている人は気をつけてください。(DTMに使ってる人はASIOドライバ消したくないと思いますが…)

 

(追加)

仮想オーディオデバイスをいくつか入れてみて、ミキサーなどを使ってマイクの音をそっちに出力→AMDノイキャン、という騙し技も思いついてやってみましたがダメですね~

Twitch APIで取得した情報をOBSで表示する

最近はまたTwitchを使うようになって、

「配信開始からの経過時間とか、視聴者数とか、ゲームタイトルを配信画面内にも入れられないだろうか。」と、なんとなく思っていたんですが。

視聴者数についてはStreamlabsのウィジェットがあります。(あんまり利用しない方がいいようですが…)

特定のチャンネルの配信情報を文字列として取得するにはTwitch APIを利用する方法があるんですが、OBSに取り込む方法を考えようとするとこれまではなかなか手が出なかったわけです。

ところがつい最近になってこのようなプラグインが出ているのを発見しました

obsproject.com

簡単に説明するとAPIにリクエストして帰ってくる内容をOBSにソースとして表示するものです。まだ出たばかりなので日本語で解説しているページがない。

とりあえず自分がやってみたことを記録しておきます。

まずは、APIでチャンネル情報を取得する方法を調べます

https://dev.twitch.tv/docs/api/reference/#get-channel-information

curl -X GET 'https://api.twitch.tv/helix/channels?broadcaster_id=141981764' \
-H 'Authorization: Bearer 2gbdx6oar67tqtcmt49t3wpcgycthx' \
-H 'Client-Id: wbmytr93xzw8zbg0p1izqyzzc5mbiz'

↑ここで事前に必要になるのが

・配信者ID

・アクセストーク

・クライアントID

の3つです。

以下の記事を見てやりました。

qiita.com

qiita.com

qiita.com

Windows10以降のコマンドプロンプトでは標準でcurlコマンドが使えるんですが、

¥ は ^ に、' は " に置き換える必要があります。

準備できたらOBSでURL Sourceを追加します

Setup request→

で、返ってくるデータは以下のようになってるんですが

{
  "data": [
    {
      "broadcaster_id": "141981764",
      "broadcaster_login": "twitchdev",
      "broadcaster_name": "TwitchDev",
      "broadcaster_language": "en",
      "game_id": "509670",
      "game_name": "Science & Technology",
      "title": "TwitchDev Monthly Update // May 6, 2021",
      "delay": 0,
      "tags": ["DevsInTheKnow"],
      "content_classification_labels": ["Gambling", "DrugsIntoxication", "MatureGame"],
      "is_branded_content": false
    }
  ]
}

この中から目的の項目を取り出したいわけです。

今回はゲームタイトルを取ります

JSON Pointerの欄に/data/0/game_name と書きましたがこれは

dataとして返ってきた配列の最初の項目内にあるgame_nameの値を指しているわけですね。

この例だと一個しか無いのになんでdataが配列の形式なのか最初よくわかんなかったけど、複数の配信者の情報を一度にリクエストできるかららしいです。

Test requestを押して間違いがなければこのようになります(ちょっとでも間違っていると赤字でエラーが出ます)(スクショは僕の例なのでTwitch公式のAPIヘルプとは違っています)

このソースだけでも表示可能ですが、別途テキストソースを用意してその内容をここで取得した文字列に置き換える、という事もできます(現在バグ多めなのであまりおすすめしません)。

問題として、シーンコレクションなど切り替えた際に表示がバグります。ソースのプロパティを開いて何らかの変更を(例:アップデートタイマーの数字を変えて戻す、cssに何か書いてすぐ消すなど)すると直ります。バグってる状態で配信情報を変更したとしても反映されません。

(↑ v0.1.0で直っています。また配信情報更新への反応やテキストソースとの連携が完全に安定しているのでオススメ)

(↑ v0.1.2まで出ていますが最新バージョンにするとHeaderに設定した箇所が吹っ飛んだ上に入れ直してもClient-IDがmissingだよとか言われてしまうので0.1.0に戻しました)

今回はここまで試しましたがいずれ他にもこのプラグイン使ってやってみようと思います。というか割りと忙しいはずなのにしょうもないことに時間を浪費してしまった…

PCを新しくしたらBluestacksが起動しなくなった件と解決法

最近HaswellおじさんからRyzenおじさんになったんですが、起動ドライブそのまんまクローンして何の問題もなくOSが継続使用できたのでビビっていたんですよね。ついでにWindows11にもして。

ところがBluestacksだけ起動しようとしたらブルスク食らうのでアンインストールして入れ直したりしたんですが、やっぱりだめ。原因はbios(UEFI)のデフォルトで仮想化(SVMモード)が無効になってたからで、これを設定したらちゃんと動きました。

Linuxサーバーで動くDiscord BOTの導入(Python編)

Discordサーバーに自前でbotを導入したメモ - じみなブログ

tech-cci.io

前回紹介したbotrubyで書かれていましたがこちらはPythonで書かれています。

実行にはDiscord.pyが必要なため手順をメモしておきます。

 

・必要ライブラリのインストール

https://discordpy.readthedocs.io/ja/latest/intro.html

Discord.pyを使用するために必要なライブラリがあります、今回Pythonのインストールにはソースコードからのビルドを行うため開始する前にこれを入れておく必要があります。

notemite.com

apt install libffi-dev libnacl-dev python3-dev
でOK

Pythonのインストール

www.python.jp

時間はかかりますが特に問題なくできると思います。

・Discord.pyのインストール

python3 -m pip install -U discord.py

・実行

nohup python3 bot.py &

 

【おまけ・重要】

smhn.info

Xbox Game Bar とSpotifyアカウントのリンク(ログイン情報入力)が出来ない時

detail.chiebukuro.yahoo.co.jp

実はこれ、キーボード入力は受け付けており、画面上に入力した文字は出ないのですが

ログインはできるのです。

メモ帳などに書いたものをコピーしてきて右クリ→貼り付けでもOK。

どっちにしろバグですが…

Discordサーバーに自前でbotを導入したメモ

以下、Linux系OSについての初歩的な知識を要します。

qiita.com

こちらのコードをお借りしてbotを作成し常駐させたいと考えました。

まずはDiscord側でbotを登録し、トークンとクライアントIDを取得

cod-sushi.com

取得したキーをソースの該当部分に置き換えます。

botは自宅のPCでも稼働させることができますがPCが動いていない時はbotも止まるので、Google仮想マシン上で動作させますが、条件を満たせば無料でずっと使えるので合うように作成します。OSはubuntuを選びました。

qiita.com

ソースはrubyで書かれていますので、まずrubyをインストール→discordrbのインストールですが、ここで注意。linuxではapt installというコマンドで自動的にパッケージをインストールすることが出来ますがこれを使った場合rubyのバージョンが最新にならず、discordrbが使えるのはruby 2.5以降となるため引っかかります。

回避のために以下の記事を参考にします。
(.bashrc  .bash_profile の編集にvimを使います。使い方がわからない場合調べてください)

qiita.com

更に注意。単にここに書かれていることだけをそのまま実行しても止まります。
なので予めGCCとzlibをインストールします。GCCに関しては普通にapt install build essential と打つと一通り入ります。zlibの場合、エラーメッセージでサジェストされたコマンドをコピペしたのですが失念しました。やってみて止まったら同じようにしてください()
(追記)apt-get install -y libssl-dev zlib1g-dev

その上で改めて、上記記事の通りにruby最新版をインストールし成功したらgem install discordrbして、これでbotを動かす準備ができました。

なお一個、動作のためこちらでソースコードの一行目辺りに
require 'discordrb'
を追加しました。

実行する際には、接続を切ってもプログラムが停止しないよう
nohup ruby bot.rb &
と打ちます。