0%

何でノイズフィルター?

OBS を使った配信環境を整えていますが、スマブラや太鼓の達人をやるときに遅延があると不利(太鼓の達人に至っては結構シビア)
な事がわかったので、OBS 上やソフトウェア上の映像を見ずに、モニターに映した画面を収録することにしました。
モニターのイヤホンジャックから、ミニプラグで音を取り、オーディオミキサーでPCの音とゲームの音を結合してみると、モニターからの音にノイズが乗っていました。(あるあるなんですけどね。)

そこでこうしました

old-haisinkankyou

sin-haisinkankyou

導入したノイズフィルター


1200円くらい、安い。

フェライトコアも試したが、、、効果無し

Sound Engine で音量を見ながらテストしましたが、フェライトコア (6ターン) はほとんど効果がありませんでした。

ノイズ対策 - なし

taisaku-nasi
60 くらいを上下してました

ノイズ対策 - フェライトコア 6 ターン

taisaku-feraitocore
60 くらいを上下してました(ただなんとなくノイズの質は変わった気がする)

ノイズ対策 - グランドループアイソレーター

taisaku-grandloopisolator
66 くらいを上下してました

このノイズの原理について調べた

逆流&ループが起きる場合があるそうです。
この動画を見て、なんとなく理解ができました。
フェライトコアではこの逆流とループは防げなそう。

image

https://www.youtube.com/watch?v=arYvWHUuX_Y

何で必要になったのか

VPS でも良いけど、固定費用やスペック等考えると
自宅のマシンに建てたい、でもサーバーの脆弱性(Minecraft の log4j 問題だったり)のリスクヘッジや
管理が面倒なのでホストOS ではなくて、仮想マシンに立ててネットワークもわけたい

外部ネットワークスイッチじゃだめなの?

Hyper-V で 外部ネットワーク のインターフェースを作る事で、
ホストマシンと同じネットワークの ローカル IP アドレスを得られます。
このIPを持った上で、ルーターの設定画面からポートフォワーディング(ポートマッピング)設定をするだけでもサーバー公開は可能
最初はこれでも良いと思っていましたが、外部ネットワークのスイッチを作成すると次の問題が発生しました。

  • 仮想マシンの上りの速度が激落ちしてた
  • ホストOS も 下りの速度が激落ちしてた
  • いつだって脆弱性のあるかもしれないサーバーがホストとネットワーク同じっていうのもちょっと怖い

改善策として 仮想ネットワーク アダプタ の offload を無効化する方法も色々な所に書いてあるが、解決しない

参照

手順

内部ネットワークのスイッチを作る

New-VMSwitch -SwitchName vnat -SwitchType Internal

この時に出てくる InterfaceIndex が次のコマンドで必要

作った内部ネットワークの IPレンジを指定

New-NetIPAddress -IPAddress 172.16.2.1 -PrefixLength 24 -InterfaceIndex 57

NAT ネットワークの作成

New-NetNat -Name vnat-nat -InternalIPInterfaceAddressPrefix 172.16.2.0/24

ポートフォワーディング(ポートマッピング)設定

Add-NetNatStaticMapping -NatName vnat -ExternalIPAddress 0.0.0.0 -InternalIPAddress 172.16.2.22 -ExternalPort 80 -Protocol TCP -InternalPort 8080

ホストのポート80 宛の通信が来た場合、172.16.2.22 のポート 8080 に送信する

この ネットワークは dhcp サーバーはないので、Windows のネットワークアダプタ設定や、
最近の ubuntu なら netplan による固定IP設定が必要

インターネットからアクセスできる様にするには、これだけではなくてルーターから ホストマシンへのポートフォワーディングも設定しておく必要がある

ノイズキャンセルが可能なツール

Krisp

他に知っているのは Krisp ですが、
こちらは基本有料。

しかし、Discord には Krisp が使える機能が搭載されているので、
Discord で使用する場合は特に難しい設定無く恩恵を受ける事が可能です。

https://krisp.ai/

RTX Voice

https://www.nvidia.com/en-us/geforce/guides/nvidia-rtx-voice-setup-guide/

こちらは RTX グラフィックボードが搭載されている場合に使用可能なツールとして公開されました。
しかしながら、RTX グラフィックボードを必要とするため、利用要件が高かった様です。
ただ、GTX シリーズを搭載している場合にも使用可能な使用方法や、
GTX シリーズでも使用可能になったという情報があります。

また、こちらも、再生デバイスが再生する音のノイズキャンセルも可能です。

使い方

https://www.nvidia.com/en-us/geforce/guides/nvidia-rtx-voice-setup-guide/

  1. 上記ページ内部の “For NVIDIA GeForce GTX GPUs, download RTX Voice.” からダウンロードし、インストールする

  2. RTX Voice の設定画面では、今現在使っているデバイスを選択しておく。

  3. 通話時にデバイス選択ができないツールを使う場合には、RTX Voice を既定のデバイスにしておくことで使用可能。

注意

再生デバイスが再生する音のノイズキャンセルは特にいらなかったので、
サウンドコントロールパネルから、再生 の RTX Voice は無効化していました。
すると、次回以降RTX Voice の起動に失敗する様になるので、おすすめしません。

JVC HA-XC90TSHURE AONIC 215 を購入したので感想を書いておきます。

Aonic 215

操作マニュアル

マニュアル

感想

  • 音が素直、とにかく綺麗です!
  • 加工されてない感じの音を聞きたい時、おすすめです!

Soundcore Liberty 2 Pro

操作マニュアル

マニュアルはここにあります

感想

  • バッテリー持ちがとてもいいです。
  • 一日中通話を行う可能性があるなど、長時間の使用をするときに重宝しています。
  • 音は高音寄り・・・?(一度洗濯してしまって)

AirPods Pro

操作マニュアル

マニュアル

感想

  • ペアリング時のタイムロスがほぼほぼないので、iPhone を使用する場合、一番気軽に楽に使えます。
  • 音質もバランスよく、どの音もよく聞こえます。

JVC HA-XC90T

操作マニュアル

マニュアル

感想

  • 低音強いです。
  • Bass Boost を有効化しても違いがわからない。。
  • ただ、音の広がりがよく、遠くや近くで音が鳴っているのがよくわかります。
  • この中では一番好きな音かも

aliaz 100g とは

キースイッチの購入前の比較は上記動画を参考にしています。
Gateron の 静音赤軸 を買っていましたが、こちらもかなり静音なキースイッチだなと思っていました。
静音を求めていましたのでこちらにも注目していました。

ここで買えます。

なんで買ったのか

HHKB から ssph に一時的に以降し、Gateron 静音赤軸 を付けて使っていました。
ただ、なんとなくミスタイプが多かったんですね。
押したいキーと隣のキーを押してしまう。
これは押下圧が軽すぎるせいなのでは?という理由を付けて
押下圧 100g の aliaz 100g を買って試しました。

使ってみてどうか

やはり静かです。
ただ、キーを押すのに必要な 100g は相当なもので、
HHKB は 65g です。
Gateron Silent Switch は 45g です。
最初に使った時は指が吊るかと思いました。
実際に使ってみるとそんなことはないですが、本当に指が吊る方も居るかも知れません。
ミスタイプはそこまで減りませんでした。
静音を求める方にはおすすめです。
そのうち Gateron Silent Switch に戻すと思います。

Details

Application Insights や Log Analytics ワークスペースにログが全く収集されていない状況でも、
1クエリ内でテーブルとログの定義を行い、
任意のデータが存在する事を想定し、クエリをテスト実行する事が出来ます。

テーブルとログの定義を行うクエリ

1
2
3
4
5
datatable (Date:datetime, Event:string)
[datetime(1910-06-11), "Born",
datetime(1930-01-01), "Enters Ecole Navale",
datetime(1953-01-01), "Published first book",
datetime(1997-06-25), "Died"]

上記クエリを使用する事でリソース内のログデータの有無に関わらず、検索結果に表示する事ができます。
1

使用例

比較演算子 !~ ってどんな挙動になるか調べたい

以下の様なクエリを実行する事で確認できます。

検証1

  • クエリ

    1
    2
    3
    4
    5
    6
    datatable (Date:datetime, Event:string)
    [datetime(1910-06-11), "Born",
    datetime(1930-01-01), "Enters Ecole Navale",
    datetime(1953-01-01), "Published first book",
    datetime(1997-06-25), "Died"]
    | where Event !~ "born"
  • 結果
    1

検証2

  • クエリ

    1
    2
    3
    4
    5
    6
    datatable (Date:datetime, Event:string)
    [datetime(1910-06-11), "Born",
    datetime(1930-01-01), "Enters Ecole Navale",
    datetime(1953-01-01), "Published first book",
    datetime(1997-06-25), "Died"]
    | where Event !~ "Born"
  • 結果
    1

Log Analytics のデモ環境

実はサンプルのログが入っている環境も用意されています。ここでも色々テストできそう
https://ms.portal.azure.com/#blade/Microsoft_Azure_Monitoring_Logs/DemoLogsBlade

色々よくわからん

HHKB って何

多くのプログラマを虜にしている、独特な配列のキーボードです。

英語配列、日本語配列、無線、有線、両対応など
いくつか種類がありますが、わたしは 日本語配列 Hybrid Type-S (静音モデル) を使っています。

sphh jp って何

ホームページより引用

sphh jp は、多くのプロが支持する日本語配列 をベースにした「分割」キーボードです。
あの使い心地を、より快適に、さらに自分好みに。

何で sphh jp を買ったのか

既に数年、HHKB を使っています。
HHKB を使い初めてからは、独特なキー配置には慣れ、慣れただけではなく、この完成されたキー配置に中毒性さえ感じています。
ただ、自身の ホームポジション、キーフォームは 綺麗ではなく、改善したいなとずっと思っていました。(右手はほぼ人差し指と中指のみ稼働)

そこで、キーフォームを強制するために分割キーボードがいいのでは?と思い探してみたところ、
sphh jp を見つけました。

これが日本語配列の HHKB を使っていて、分離式キーボードを試したいと思っていた自分にとって、完全にぴったりだったからです。

購入からその他部品の調達

自作キーボードの部類であるこのキーボードは、購入したら即使える、という物ではありません。
そのため、以下に記載する様な各パーツを揃える必要がありました。

キーボードの基盤と組み立てサービス

スイッチソケットや組み立て作業を自身で行う事が可能な場合には、キット本体(\14850)のみの購入で大丈夫です。

キースイッチ

静音が好きなので静音赤軸というものにしました。

sphh jp は 70 キーなので 10x7 個購入する必要があります。

また、キースイッチは以下の様な動画を見てある程度好みの物を探す事ができます。

この動画を見て、Aliaz 100g も気になったので購入しています。

キーキャップ

以下の白、無刻印を二つ購入しました。

ただ、ali express で、外国からの発送という事もあり、
なかなか届くのが遅かった(今も2週間近く経過しているが国内にすら到着していません)ので Amazon でも以下を購入しました。

このキーキャップも最下段のキーが足りていないため、二つ購入する事が好ましいのですが、
テンキー分を割り当ててなんとかキーキャップは足らせています。段数により若干、キーキャップの形が違うのでよく見ると違和感があります。

micro usb ケーブル

これを使用して、PCに接続します。
大好きな Anker さんのケーブルを買いました。

micro usb to micro usb ケーブル

分離されたキーボード同士を接続します。

カール化しました。

割りばしに巻いて、沸騰したお湯に数分付ける -> 冷やす という事を行います。

  1. 巻く
    1
    1

  2. 加熱する
    1

  3. 冷やす

完成

1

使ってみた感想

メカニカルキーボードは壊れるから、煩いから、という理由で
購入を避けていましたが、静音赤軸の効果は素晴らしく、HHKB Type-S よりも静かなキーボードができました。
また、メカニカルキーボードはキースイッチもはんだ付け作業はおろか、ネジも不要で取付出来るパーツだったんですね。
壊れたメカニカルキーボードを捨ててしまっていたので、ちょっともったいなかったなと思います。

まだ数日しか使用してませんが、右手で叩いていた、T キー、G キー、B キーが左側に行ってしまいました。
現時点ではかなり違和感がありますが、この違和感は成長するために必要な物だと思って、しばらく使ってみたいと思います。

Webサーバーの負荷を高くした検証をする時などに

出力を消す

1
$ curl -s -o /dev/null https://***.com

繰り返す

1
$ while [ 1 == 1 ];do curl https://***.com;done

キャッシュを使わない

1
$ while [ 1 == 1 ];do curl -H 'Cache-Control: no-cache' https://***.com;done

出力を消して繰り返し、キャッシュは使わない

1
$ while [ 1 == 1 ];do curl -s -o /dev/null -H 'Cache-Control: no-cache' https://***.com;done

出力を消して繰り返し、キャッシュは使わずバックグラウンド実行

1
$ while [ 1 == 1 ];do curl -s -o /dev/null -H 'Cache-Control: no-cache' https://***.com;done &

何度も何度も実行するとその分多くリクエストが行われる。

経緯

hexo が node v14 でうまく使えないのは hexo 3.9 が古すぎる事が原因の様で、
アップデートを試みました。

手順

ncu コマンドをインストール

1
$ npm install npm-check-updates

必要に応じて -g をつけましょう

ncu でアップデート

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ npx ncu -u
Upgrading /sakkuntyo.github.io/package.json
[====================] 16/16 100%

hexo ^3.9.0 → ^5.4.0
hexo-asset-link ^1.2.1 → ^2.1.0
hexo-deployer-git ^2.0.0 → ^3.0.0
hexo-directory-category ^1.0.7 → ^1.1.4
hexo-generator-archive ^0.1.5 → ^1.0.0
hexo-generator-category ^0.1.3 → ^1.0.0
hexo-generator-index ^0.2.1 → ^2.0.0
hexo-generator-seo-friendly-sitemap 0.0.25 → 0.2.1
hexo-generator-tag ^0.2.0 → ^1.0.0
hexo-renderer-ejs ^0.3.1 → ^1.0.0
hexo-renderer-marked ^1.0.1 → ^4.0.0
hexo-renderer-stylus ^0.3.3 → ^2.0.1
hexo-server ^0.3.3 → ^2.0.0
netlify-cms ^2.10.13 → ^2.10.148

hexo ブログ の プロジェクトだと上記の結果になった

node_modules の再生成

1
2
$ rm -r node_modules/
$ npm i

正常に動くか試す

1
$ npx hexo server -D

1

このプロジェクトの場合、まだまだ課題はあるみたいです。
恐らく使用しているテーマ Next が追従できていません。