kazasiki's blog

プログラミングとかVRゲームとか

Elgato Sound Capture(ミキサー)はどのように動いているのか?

最近こんな記事を見ました。

note.com

物理的なミキサーを使わずに、パソコン上で音を混ぜる(ミックスする)のは複雑で、ゲーム実況のときなどにも結構混乱します。

さて、ここでは一つのミキサーソフトの例としてElgato Sound CaptureのPC Gaming機能を紹介します。基本的にはElgato Game Captureを使用する人向けのソフトですし、 Windows専用ですが、なにかの参考までに聞いていただけると幸いです。少なくともZoomに効果音を入れる参考にはなりません。

また、Elgato Game Captureを使用されている方は理解の一助になればと思います。ちなみに公式のマニュアルはこちらです。

help.elgato.com

Elgato Sound CaptureのPC Gaming機能は何をするのか

Elgato Sound Captureはまず、仮想の音声出力デバイスを構築します。

f:id:kazasiki:20200517183527p:plain:w300

これを勝手に自動でWindowsの音声出力の規定のデバイスにします。なのでWindowsから見れば普段の出力デバイス(スピーカーとか)と別のデバイスに出力を向けることになります。

この時点でユーザは混乱します。マニュアルには上記のことは一言も書いてません。Windowsは出力デバイス毎にミキサー設定(アプリ毎の音量の設定)が保存されてます。なので、必然的にいつもの音量で音が出なくなります。スピーカー(Elgato Sound Capture)向けの音量を必要に応じて設定しましょう。

次にElgato Sound Captureの設定を見に行きます。

f:id:kazasiki:20200517184058p:plain:w300

ここにある2つの質問は言葉のとおりです。Elgato Sound Capture ここで選択された出力デバイススピーカー(Elgato Sound Capture) の入ってきた音をそのまま流します。

つまりこういうことです。

f:id:kazasiki:20200517185733j:plain:w500

ゲーム以外にBGM再生やその他なアプリケーション(棒読みちゃんなど)を動かしても同じように動作します。

ミュージック機能について

一旦上の画像のイメージが持てれば他の機能もわかってきます。要するに仮想デバイスを置いて、ほしい音をそこに取り込み、いい具合に振り分けてるのです。

例えばミュージック機能は、BGMをPCで再生し、ゲームが別の環境(PS4など)で動いてキャプチャしている前提です。上の図からゲームとElgato Game Captureデバイスを外した状態になっています。音声はデバイスには出さずに録画時にElgato Game Captureソフトウェア上でミキシングされます。コメンタリーと似たような扱いです。もちろん録画画面上では別に音量設定やミュート設定ができます。

f:id:kazasiki:20200517191431p:plain:w300

(チームチャット機能は使ったことがないのでよくわかりません。。。少なくとも音声通話の出力をミュージック機能と同じ要領で録画に取り込んでるんだとは思います。マイク入力も指定できるのですが、コメンタリーよりもElgato Sound Captureの設定が優先されるんでしょうか?)

おまけ話

前述したとおりElgato Sound Captureは勝手に規定のデバイス設定を奪うのですが、これの理由を簡単に説明すると、WindowsMacも基本的にはアプリケーションごとに音声を入出力するデバイスを選ぶ機能がないからです。なので、全部まとめて奪うというのが基本スタンスになります。

以上です。結論として、音声のミキシングは色々面倒くさい。

Bluestacksを使ってPC(Windows)からInstagramに写真や動画を投稿する

つい最近Instagramを使い始めましたkazasikiです。なんで今更?という感じがしますが、最近は音楽アーティストやDJなどもInstagramにどんどん参入しており興味を持った次第です。

で、使い始めて気づいたんですが、Instagramは基本的にPCから写真や動画を登録する方法がないんですね。PCブラウザ向けのInstagramには投稿機能がありません。GooglePhotoから適当にピックアップした写真を上げたり、ゲームを録画した動画を上げたりするのに不便です。なので良い方法を編み出しました。

Webブラウザからやる方法(写真のみ)

ネットでググるChromeInstagramを開いて、デバッグモードでスマホモード(ユーザエージェントの変更)にすれば、モバイル向けのUIになるからそこから投稿できる、という記事が出てきます。が、少なくとも自分の環境では投稿するファイルで写真しか選べませんでした。逆に言えば写真ならばこの方法で行けます。(確認済み)

developers.google.com

Bluestacksを使う方法

自分は動画も投稿したいのでBluestacksを使うことにしました。

www.bluestacks.com

Bluestaksは簡単に言うと、PC(Windows)上で動くAndroidエミュレータです。エミュレータですが、Androidはそもそもオープンなものなので権利上の問題はありません。Bluestacks上のGooglePlayからInstagramアプリをインストールして動かします。Windows上のファイルはドラッグ&ドロップでbluestacks上のAndroidのストレージに移動できます。

あとは普通にAndroidInstagramを操作する感覚で投稿できます。

ちなみにWindows向けの公式のInstagramアプリは存在します。が、これはブラウザ版のInstagramと同じ仕様なので入れるだけ無駄です。レビュー欄も荒れてます。

www.microsoft.com

以上です。

GoogleHomeで決まった時間に超ラジオ体操を流す

在宅勤務が始まって一ヶ月以上過ぎましたが皆さんいかがお過ごしでしょうか?運動不足になりがちな方も多いだろうと思います。

そこで、我が家では毎朝今話題の超ラジオ体操をすることにしました。

でも、毎朝Youtubeの動画を再生するのは面倒くさいです。また、何回かやったらだいたい動きも覚えられるので、動画じゃなくて音声だけで良いと思うようになりました。

ということで、GoogleHomeで決まった時間に流すことにしました。

やり方

  1. なにかしたらの方法でYoutubeから音声(mp3)を抜く
  2. 抜いた音声(mp3)をGooglePlayMusicに登録
  3. GoogleHomeのルーティン機能で決まった時間にGooglePlayMusicに登録した曲を再生する。

1番のYoutubeから抜くのは権利/Youtubeの規約的にはグレーですが、まぁ個人利用の範囲だし大目に見てもらいましょう。本当はYoutubeMusicをGoogleHomeから呼び出すことで実現したかったのですが、そもそも該当の動画がYoutubeMusicでは再生できないようです。楽曲ではないですし仕方ないですね。

2番は流石に説明不要でしょう。3番はルーティン機能を知っていれば十分だと思うので、私の過去の記事か、GoogleHomeのドキュメントを御覧ください。

kazasikipg.hatenablog.com

support.google.com

細かい工夫

前述の3番でルーティンに登録するときに気をつけるべきことやちょっとした工夫を書きます。

まずは、私が実際にしているルーティン設定を箇条書きします。

  1. メディアの音量調整 30%
  2. カスタムメッセージ「ぽぽぽーんぽーん。超ラジオ体操を始めます。」
  3. お天気情報の読み上げ
  4. メディアの音量調整 60%
  5. GooglePlayMusicで超ラジオ体操を再生
  6. メディアの音量調整 30%

まず気をつけるべきはいきなり音源の再生を始めないことです。決まった時間に始まるとは言え、いきなり始まっても対応できません。慌ただしくなるのも嫌です。なので、まず何が始まるのかを宣言させます。メッセージ自体は適当です。メッセージだけでもまだ短いな〜と思ったので、天気も読み上げさせてます。これくらいゆったりとした準備時間がある方が良いと思います。

次は音量です。1番でメッセージや天気情報にふさわしい音量に変えます。超ラジオ体操の音源自体の音量が若干小さめなので4番で大きめの音量に変えます。ラジオ体操後にそのままだと音量が大きすぎるので終わった後にもう一度音量を下げます。

以上です。皆様も良い在宅勤務ライフを!

iBUFFALOの有線フルキーボード BSKBM01WH をMac OSX 10.15 Catalinaで使う

自宅で作業することが増えたので、自宅で使うようのキーボードを買いました。

今まではmacbookの標準のキーボードを使ってたのですが、自宅のスタンディングデスクにはキーボードトレーがあるので、せっかくならここにキーボードを入れたいなと思ったのが理由です。(MacbookProのEscキーがtouchバーになったのにずっと不満を持ってたのもある)

自宅にあるWindowsではフルキーボードを使ってるので同じ感じでMac用のフルキーボードを探しましたが、今はApple純正のフルキーボードは無線のやつしかなくてなんと値段が¥14000くらいします。

Apple Magic Keyboard - 日本語(JIS)

Apple Magic Keyboard - 日本語(JIS)

  • 発売日: 2015/10/14
  • メディア: Personal Computers

それは流石に高いなと思ってAmazonで探したらなんと¥2000以下で見つかったので、ポチりました。

で、実際に届いて使ってみたんですが、なんとファンクションキーがまるごと効きません。ドライバの問題かなと思ったらそもそもBSKBM01WHはMac OS X 10.4.1~10.6.8でしか、ファンクションキーが対応しておらず、そもそもサポートもMac OS X 10.13で打ち切られています。なので、公式サイトで配布されてるドライバはそもそも入りません。

対応方法としてkarabinerを入れることにしました。

karabiner-elements.pqrs.org

少なくとも私の手元では、ファンクションキー(明るさ変更やメディアボタンなど)はkarabinerをインストールするだけで使用できるようになりました。ただ、まだFnキーが全く効きません。Excelでセルが編集できないんですよね〜これでわ。

で、karabinerのEventViewerでFnキーを押したときのイベントを見てたんですが、完全にInsertキーを押したときのイベントが出てました。商品を見てみるとわかりますが、たしかにFnキーがあるところはWindowsのキーボードだとInsertキーがあるところなんですよね。

f:id:kazasiki:20200417151152p:plain:w300
iBUFFALOのキーボード

f:id:kazasiki:20200417151234p:plain:w300
一般的なWindowsのフルキーボードの配列

ということで、karabinerの設定で、insertキーをFnキーに割り当てました。これで機能的な問題は全て解決です。

とはいえ、当然にキーボードが変われば微妙にキーの配置が変わるので結構苦戦してます。

具体的には左下のcommandキーの位置がApple純正よりもかなり左にあります。CapsLockキーが無い分だけ左にずれてきてます。これがめっちゃ打ち間違いにつながってます。

f:id:kazasiki:20200417151757p:plain:w300
iBUFFALOのキーボード

f:id:kazasiki:20200417151815p:plain:w300
Apple純正のキーボード

あと、スペースキーが異常に長くて「かな」キー以降のキーがかなり右にずれてます。

f:id:kazasiki:20200417152109p:plain:w300
iBUFFALOのキーボード

f:id:kazasiki:20200417152120p:plain:w300
Apple純正のキーボード

逆に言えばそれ以外のキーは特にそんなに違和感なく押せてます。普段からWindowsのフルキーボードを使ってる恩恵ですかね。慣れるまでは少し掛かりそうですが、値段も手頃ですし満足してます。普段からMacを使ってる方でフルキーボードを安く探してる方は購入を検討してみたらいかがでしょうか。

Google Homeで自宅のPC(Windows)をシャットダウンする

自宅のPC(Windowsのみ)をGoogle Home/Alexaから簡単にシャットダウンできるようになりましたので、やり方をご紹介します。

今まではそれらしいワードで検索しても、プログラミングが必要だったり、専門的なソフトウェアをいれる必要があったりと結構面倒でした。しかも、ちゃんと動かない時もありました。

そんな悩みも Assistant Computer Control を使えば簡単に解決します。

assistantcomputercontrol.com

一応、アシスタントはGooleHome/Alexa、クラウドストレージはGoogleDrive/DropBox/OneDriveに対応するようです。筆者はGoogleHome、GoogleDriveのユーザなのでその場合だけ説明させていただきます。

設定方法

↑のリンクを見ていただければ全て書いてあるんですが、基本的にはIFTTTでの設定とAssistant Computer Controlをインストールするだけです。IFTTTの設定がデフォルトで英語になってるのでそこだけ日本語に修正しましょう。

f:id:kazasiki:20200406122845p:plain:w300

また、GoogleDriveに専用のフォルダを用意する必要があったり、PCにGoogleDriveの自動同期を入れたりしますが、アプリケーションのインストーラに従ってやっていきましょう。

仕組み

単に使うだけなら仕組みまで知ってる必要はないのですが、素朴で良い仕組みだと思ったので簡単に説明しておきます。

まず簡単に処理の順番を説明します。GoogleHome、GoogleDriveを使う例です。

  1. GoogleHomeにフレーズ「コンピュータをシャットダウンして」を言う。
  2. IFTTTの処理が呼び出され、GoogleDriveの指定のフォルダにコマンドファイルを保存する。
  3. GoogleDriveデスクトップアプリが自動同期でPC内にファイルをsyncする。
  4. Assistant Computer ControlがPC内の指定のファルダを監視してコマンドファイルに従って実行する。
  5. 実行されると同時にコマンドファイルを削除する。

コマンドファイルというのは、「シャットダウンする」「スリープする」などwindowsで行う様々な処理を定義できる簡易スクリプトのようなものです。定義できる処理は以下です。公式サイト内にもいろいろなプリセットがあります。

acc.readme.io

全体としてはGoogleHomeからPCを操作するアプリケーションですが、Assistant Computer Control自身が行っているのはPC内の特定のフォルダを監視してコマンドファイルに書いてある処理を実行するだけです。その間をIFTTT、GoogleDriveなどを上手く使って埋めています。

まとめ

IFTTTやGooleDriveの安定性はさることながらAssistant Computer Controlも非常に安定して動作してくれており、1ヶ月使っていても今のところは全然問題ありません。みなさまもぜひAssistant Computer Controlを使ってよいGoogleHomeライフを!

よく分かるリーダーの辞め方!

一度リーダーorリードorマネージャという名前が付く役職になってしまうと、調整作業に忙殺されて二度とコーディングができなくなる。そう思っている方は結構多いんじゃないでしょうか?

そこまで行かなくても調整作業、もしくはリーダーとしての業務負担が大きいからどうにかしたいと思ってる方は多いと思います。

この記事では主にリーダーとして作業を効率化させるor分担する方法、もしくはその基本的な考え方をいくつか提案します。

大項目は以下の6つです。

  • とにかく自動化する
  • 作業を易しくして人に頼む
  • メンバーのために良いダッシュボードを作る
  • 何かを決めるなら会議体にする
  • 後継者を育てる
  • 面接も人に頼む

とにかく自動化する

退屈な作業はコンピュータにやらせましょう。これはリーダーとしての仕事でも例外ではありません。逆に、処理する情報量が多い作業が多いので自動化しがいがあるでしょう。

上司に報告するレポートの生成や承認作業などは全体は無理でも部分的に自動化できることが多いです。自動化するということはソースコードになるということなので何をやってるのかの共有にもなります。

作業を易しくして人に頼む

完全な自動化は出来なくても、ある程度手順書を用意すれば人にやってもらえる可能性があります。もしくは部分的な自動化によって誰でも出来るレベルになるかもしれません。誰でもとはいかなくてもチーム内で1~2人出来るようになれば頼むこと自体は出来ます。

チームとしての冗長化にもなるので勇気を持って人に頼んでいきましょう。

また、リーダーが承認フローに組み込まれてるのは権威的なものであまり意味がない場合があります。メンバでも同じレベルの判断が出来るならメンバの誰かが承認すればOKとしても良いでしょう。

メンバーのために良いダッシュボードを作る

意思決定に属人性が生まれるのは見ている情報に差があるからです。逆に言えば、他のメンバも同様の情報を整理された状態で見ることが出来ればその属人性は下げられます。自分がどのように情報を整理して意思決定をしてるかを振り返ってみましょう。

ダッシュボードはリーダーだけが見るものというイメージがありますが、メンバのためにこそ見やすいダッシュボードを作りましょう。メンバにチームの状況を分かりやすく伝えることは意欲の向上にも繋がります。

何かを決めるなら会議体にする

リーダーが適宜決めて適宜連絡するよりは、定例のMTGにしましょう。チャットツール上でも構いません。

アクションアイテム、スケジュールの調整、担当の調整を前述した 良いダッシュボード を見ながら10分程度で済ませられるのがベストです。とはいえ何かを調整する場合は関係するメンバの合意が必要だと思うので、数分でも集まる時間があった方が良いです。自分の経験上、適宜相談とするとほとんど全ての話題に関係するリーダーがかなり時間を取られることになります。

MTGは悪だと思われているフシがありますが、チームにとって重要なことを決めるなら議論と合意は必要です。リーダーが勝手に決めてメンバーがただ受け入れるような体制ではいつまでもリーダーを辞められません。

後継者を育てる

リーダーとしての作業を減らしても依然リーダーは必要です。特にチームとしてのビジョンを考える役割はなかなか代えがたいでしょう。とはいえ、一人でやらなければ行けないというわけではありません。チーム全員では難しくても1~2人に一緒に考えてもらうことは出来るでしょう。

実際にリーダーを引き継ぐかどうかはさておき、少しでもリーダーとしての仕事に興味を持っている人がいれば、日頃から巻き込んでおくことをおすすめします。

面接も人に頼む

そも、リーダーの仕事か??という気持ちがありますが、面接に現場の人間が関わるのは非常に重要です。とはいえリーダー(の役職)でないといけないという理由はあまりないはずで、現場のメンバに協力してもらえるように人事も含めて話しましょう。

社歴が長いほうが良いとか現場について知ってることが多いほうが良いとかありますが、面接が属人化してるのは会社としても良くないはずです。質問内容や採用基準が文章化されてないとかそういう話につながるので。

以上、悩めるリーダーの方々のためになれば幸いです。

スマホデータ通信量の最強節約術。1ヶ月1GB未満にして生活してる話。

私はスマホauで契約してます。昨年末になんとなく料金プランを見直してたんですが、 何もかも面倒くさくなって一番安そうなプランにしました。

f:id:kazasiki:20200303191657p:plain:w300
ギガが減るイラスト

1ヶ月1GB未満で最も安くなるとのことで、実際にそうなるように様々な工夫をしてみました。 結果として1月と2月は1GB未満で生活できましたので、どんな工夫したのか、あと思わぬメリットがあったのでそれをご紹介します。

やったこと

音楽を予めダウンロードする

私はスマホでの音楽再生は主にGooglePlayMusicを使っています。今まではそれ以外にもsoundcloudnicoboxをよく使っていました。そこをバッサリやめてGooglePlayMusicに一本化した感じです。Wifiがあるところでは相変わらずsoundcloudも使ってます。

GooglePlayMusicにはダウンロード機能があるので、聴きたい曲を多めにダウンロードしておきます。結構容量を使うので、Androidの人は容量が大きいmicroSDを買っておくことをおすすめします。最低でも32GBはあったほうが良いと思います。iPhoneの人は本体から買い直すか、Androidに乗り換えてください。

本を予めダウンロードする

私は読書は基本的に電子書籍派です。主にkindleを使いますが、BookWalkerを使うこともあります。Webtoonニコニコ漫画で漫画を見たりもします。だいたいの読書(?)アプリにはダウンロード機能があるのでそれを使います。無料のマンガアプリはダウンロード機能がないものもありますが、そういったアプリはWifiがあるところでだけ使うようにします。

また、ニュースアプリは基本的にダウンロードの機能がなく、Wifiがないところでは見れません。自分はGoogleNewsを見ることが多かったのですが見れなくなりました。ただ、個人的にはニュースアプリはスキマ時間で読むのだと思うので、kindleで本を読んでてもそんなに体験は変わらないなと思うようになりました。時間が細切れになっても案外読書はできるものです。

Twitterのメディアを非表示にする

Twitterは画像/動画をTLに表示しない設定にしました。メニューの「設定とプライバシー」→「ディスプレイとサウンド」→「メディアのプレビュー」をオフにすればTLに画像や動画は出ません。画像や動画を見たい場合はツイート詳細で見れます。これによって通信量が大幅に削減できます。タイムラインもスッキリします。(個人的にはめっちゃ快適になったのでもっと早く知りたかった)

データセーバーの設定でメディアの画質に関する設定も出来ます。Wifi時だけ高画質ってやつです。自分はこれも設定してます。

Webブラウザは広告をブロックしてメディアも非表示にする

私はスマホ(Android)では主にFirefoxを使ってます。なんとAndroidFirefoxではuBlock originがPCとほぼ同様に動きます。なので、それを使って広告が一切表示されないようにしてます。

uBlock originってなに?って方はこちらの記事をどうぞ。

appli-world.jp

また、FirefoxではWifi時のみメディアを表示する設定があるのでそれを使ってます。「設定」→「高度な設定」→「データセーバー」の画像表示オプションで設定できます。Wifiがない場合は一切Webページ上の画像が表示されません。ちょっとした記事くらいであれば案外問題なく見れます。ただ、ちゃんと動かない不徳なサイトもかなりあるので、おすすめはしません。

GoogleMapはオフラインマップを使う

移動するときにGooleMapsのナビ機能を使うことが多いので自分の行動圏の地図をダウンロードしてます。

support.google.com

想定外のメリット

もともとは料金を安くするためにやったことですが、他にも色々メリットが有りました。

まずはスマホの動作が軽くなったことです。通信に時間がかからなくなったのでその分快適に端末が動作するようになりました。

電池もかなり減りにくくなりました。通信ってかなりバッテリーを消費するんですね。試しにデータ通信をきると本当にびっくりするほど電池が減らなくなります。その気になればデータ通信を切ってもそんなに困らないので、電池が切れそうになったらそうしてます。

あと、ニュースサイトを見なくなって読書に集中できる時間が増えました。

Q&A

Q: てかLINEやってる?
A: やってます。通信的には微量なので普通に使ってます。

Q: てかfacebookやってる?
A: ほぼやってません。一応データ節約モードはあるようなのでONにしてますが、挙動は確認してません。

Q: Youtubeとか動画サービスは?
A: スマホではあまり動画は見ません。極稀にNetflixやAmazonPrimeで見る場合もダウンロードしておきます。