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に取り込む方法を考えようとするとこれまではなかなか手が出なかったわけです。
ところがつい最近になってこのようなプラグインが出ているのを発見しました
簡単に説明すると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つです。
以下の記事を見てやりました。
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に戻しました)
今回はここまで試しましたがいずれ他にもこのプラグイン使ってやってみようと思います。というか割りと忙しいはずなのにしょうもないことに時間を浪費してしまった…
Linuxサーバーで動くDiscord BOTの導入(Python編)
Discordサーバーに自前でbotを導入したメモ - じみなブログ
前回紹介したbotはrubyで書かれていましたがこちらはPythonで書かれています。
実行にはDiscord.pyが必要なため手順をメモしておきます。
・必要ライブラリのインストール
https://discordpy.readthedocs.io/ja/latest/intro.html
Discord.pyを使用するために必要なライブラリがあります、今回Pythonのインストールにはソースコードからのビルドを行うため開始する前にこれを入れておく必要があります。
apt install libffi-dev libnacl-dev python3-dev
でOK
・Pythonのインストール
時間はかかりますが特に問題なくできると思います。
・Discord.pyのインストール
・実行
nohup python3 bot.py &
【おまけ・重要】
Xbox Game Bar とSpotifyアカウントのリンク(ログイン情報入力)が出来ない時
実はこれ、キーボード入力は受け付けており、画面上に入力した文字は出ないのですが
ログインはできるのです。
メモ帳などに書いたものをコピーしてきて右クリ→貼り付けでもOK。
どっちにしろバグですが…
Discordサーバーに自前でbotを導入したメモ
以下、Linux系OSについての初歩的な知識を要します。
こちらのコードをお借りしてbotを作成し常駐させたいと考えました。
まずはDiscord側でbotを登録し、トークンとクライアントIDを取得
取得したキーをソースの該当部分に置き換えます。
botは自宅のPCでも稼働させることができますがPCが動いていない時はbotも止まるので、Googleの仮想マシン上で動作させますが、条件を満たせば無料でずっと使えるので合うように作成します。OSはubuntuを選びました。
ソースはrubyで書かれていますので、まずrubyをインストール→discordrbのインストールですが、ここで注意。linuxではapt installというコマンドで自動的にパッケージをインストールすることが出来ますがこれを使った場合rubyのバージョンが最新にならず、discordrbが使えるのはruby 2.5以降となるため引っかかります。
回避のために以下の記事を参考にします。
(.bashrc .bash_profile の編集にvimを使います。使い方がわからない場合調べてください)
更に注意。単にここに書かれていることだけをそのまま実行しても止まります。
なので予めGCCとzlibをインストールします。GCCに関しては普通にapt install build essential と打つと一通り入ります。zlibの場合、エラーメッセージでサジェストされたコマンドをコピペしたのですが失念しました。やってみて止まったら同じようにしてください()
(追記)apt-get install -y libssl-dev zlib1g-dev
その上で改めて、上記記事の通りにruby最新版をインストールし成功したらgem install discordrbして、これでbotを動かす準備ができました。
なお一個、動作のためこちらでソースコードの一行目辺りに
require 'discordrb'
を追加しました。