見出し画像

【Twitch配信者向け】 配信サポートツール"SAMMI"の魅力と使い方について

この記事ではTwitch配信者向けの配信サポートツールSAMMIをほとんど、あるいは全く知らない方に向けて、SAMMIというツール自体の解説と、利便性や具体的にどのようなことができるのか といった事例について、まとめています。

SAMMIとは?

SAMMIは、Windows上で動作するバーチャルなストリームデック(StreamDeck)です。

ストリームデックとは?

ストリームデックとは、配信周りのコントロールをサポートする、画像のような機器のことを指します。

elgatoが販売している「Stream Deck」
ボタンがたくさんついており、それぞれのボタンに機能が割り振られている。

ストリームデックの便利なところは、ボタン1つ1つに好きな機能を割り当てることができることです。

よく使う機能をストリームデックのボタンにあらかじめ登録しておくことによって、配信中にワンプッシュで操作を済ませられる!便利!!というのがストリームデックの基本的な使い方となります。

SAMMIはアプリケーション版ストリームデック

このストリームデックを、実際の機器ではなくアプリケーションとして再現したものがSAMMIです。

SAMMIの操作画面では、通常のストリームデックと同じようにボタンがたくさん並んでいます。

SAMMIの操作画面の一例

通常のストリームデックと同じく、それぞれのボタンに機能を割り振り、クリックすることで実行、という使い方になります。




SAMMIの何がすごいのか

SAMMIは、「ストリームデック」というワードだけでは括れないほど非常に高機能なツールとして知られています。

【トリガー】 何をキッカケに機能を実行するか

まず、SAMMIは「ボタンを押す」以外にも様々なトリガー(キッカケ)で機能を実行させることができます。

・チャンネルポイント報酬を引き換えてもらったら、○○する。
・特定のチャットをされたら、○○する。
・フォローしていただいたら、○○する。
・ビッツ / サブスクライブしていただいたら、○○する。
・レイドをしていただいたら、○○する。
・特定のキーを入力したら、○○する。
・一定時間ごとに、○○する。

トリガーのほんの一例。他にも様々なトリガーがあります。


【コマンド】 組み合わせによってできる複雑な処理

トリガーによって実行される機能は、あらかじめ準備された何百種類ものコマンド(処理)を組み合わせて作ることができます。

この組み合わせシステムによって、他のツールでは実現できないような複雑な処理をさせることが可能です。

たとえば、

・ランダムな数値を生成する。
・OBS上の特定のソースの表示・非表示を切り替える。
・効果音を鳴らす。
・もし○○だったら、△△する。そうでなければ、××する。
・5秒待つ。
・10回繰り返す。

コマンドのほんの一例。他にも山のようにコマンドの種類があります。

これらのコマンドを組み合わせると…

まず、0~1000のランダムな数値を生成する。

もし、ランダムに生成された数値が0から300だったら…
▶︎ OBS上で「アタリ!」の画像を表示し、アタリの効果音を鳴らす。
そうでなければ…
▶︎ OBS上で「ハズレ!」の画像を表示し、ハズレの効果音を鳴らす。

5秒待ち、OBS上で「アタリ!」と「ハズレ!」の画像を非表示にする。

そして、ここまでの処理を10回実行する。

といった、いわゆる10連ガチャを作ることもできます!

処理をどれだけでも複雑に作り込めるので、
・アタリやハズレに種類を増やしたり……
・誰が何回アタリを引いてハズレを引いたのか記録を取れたり……
・隠しコマンドを入力してから引いたら、絶対にアタリが出るガチャを作ったり……

なんてこともできますね…!

他にも、
・自動VIP付与、自動shoutout
・チャンネルポイント賭博の現在の状況を配信画面に表示する
・ハイプトレインが来たら配信画面にエフェクトを表示する
・初めてのチャットが来たら効果音を鳴らす(ドアベル)
・特定のチャットが来たら反応する完全自前botを作る
・配信するカテゴリによってチャンネルポイント報酬の表示/非表示を自動で切り替える
・OBS上のテキストソースに現在時刻を表示し、時間帯によって文字色を変える

などなど…

これも組み合わせでできることのほんの一部で、組み合わせやアイデア次第でどれだけでも面白いことができてしまいます。

既存の類似サービスではできなくて断念していたあんなことやこんなことも、このSAMMIを使えばできそうな気がしてきませんか…!???


スマホやタブレットでも使える

SAMMIはスマートフォンやタブレットのブラウザからアクセスし、ボタンを表示することができます。

iPad AirのSafariで表示したSAMMIの画面
ブラウザさえ使えればどんなデバイス・プラットフォームでも表示できる

これなら配信中に指でポチッとボタンを押すだけで機能を実行することができます。通常のストリームデックと同じように運用できますね…!

ボタンサイズも自由に変えられるので、頻繁に使う機能はボタンを大きめに配置することができますし、あまり使わないボタンは小さく隅の方に置いておくなど、レイアウトの自由度が高いのも利点です。




既存の類似ツールとの使い分けについて

SAMMIと類似した既存のツールはいくつかありますが、既存のツールでできること、得意としていることは基本的に既存のツールでやってしまった方が楽です!

特に大量のメディアファイルを同時に再生する系の処理は、ブラウザソースを使ってメディア表示できる TriggerFyreたぬえさ などの類似ツールに頼るべきでしょう。

それらのツールでできないような処理を、SAMMIで補うという使い分けがオススメです



SAMMIのセットアップについて

ここからは、ここまでの内容を読んでいただいた上で「とりあえず触ってみたい!」と感じた方に向けて、SAMMIの導入方法について簡単に解説していきます。

(公式のチュートリアル記事や動画もありますので、最新の情報を確認したい場合はこれらを参考にしながら、導入を進めてください。)


1. OBSのバージョン確認

まず、インストール済みのOBSのバージョンがv28以上であることを確認してください。

2. SAMMIをダウンロードする

SAMMIは完全無料で使用できるアプリケーションです。
以下のGitHubページから最新版のReleaseをダウンロードしてください。

SAMMIはインストーラーを使ってインストールする必要がありません。
適当なフォルダにダウンロードしたzipファイルを展開し、"SAMMI Core.exe"を開いてSAMMIを起動してください。

3. OBSとSAMMIを連携する

OBSを起動し、
[ツール] -> [Websocket サーバー設定] を開きます。

[WebSocketサーバーを有効にする] にチェックを入れます。
[サーバーポート] が [4455] であることを確認してください。
[認証を有効にする] のチェックを外します。

このようになっていれば大丈夫です

SAMMIの画面下部にある [OBS Connections] をクリックします。

[OBS Connections]をクリックした時に出てくる画面。
基本的に設定を弄る必要はない。

[Connect] の下の [Auto Connect] にチェックを入れます。
画面右下の [Save and Close] をクリックして画面を閉じます。

少し待って、SAMMIの画面左下の [Main OBS] が、緑色に変わったらOBSとの接続は成功です。

丸が赤色のままで、[Failed to connect to MAIN OBS]と黄色い文字で警告が出たら、
接続がうまくいっていないため、再度設定を確認しよう。


4. TwitchとSAMMIを接続する

SAMMIの画面下部にある [Twitch Connections] をクリックします。
新しく画面が開くので、下部にある [Link Streamer Account] をクリックします。
画像のような警告ダイアログが出現するので、[Yes]をクリックします。

ブラウザを使って認証するから、絶対にこのそのURLや画面を他の人に見せたりするなよ!
といった内容の警告が出てきます。

ブラウザで新しくページが開くので、[許可] をクリックします。
(Twitchにログインしていなければ、ログインしてください。)

[All good, you can go back to SAMMI now] とブラウザに表示されるので、ブラウザページを閉じ、SAMMIの画面に戻りましょう。

画面にアカウントに関する情報が表示されていればOKです。
[Auto Connect to Twitch] にチェックをいれ、
画面右下の [Done] でウィンドウを閉じます。

問題なければ、[Twitch Pubsub]と[Twitch Chat]の丸が緑色になり、
Twitchとの接続が完了します。


これで、SAMMIを使う最低限の準備が整いました!やった〜!


SAMMIの使い方: ボタンを作ってみる

ここからはSAMMIを使って、実際にボタンを作って機能を実行するまでのチュートリアルになります。
公式サイトでは手順を動画でも確認できます(Part8以降)ので、ぜひそちらも見てみてください。


1. Deckを作成する

Deckとは、ボタンを配置するための画面そのものを指します。
初期状態ではDeckがなく、ボタンを配置することができないので、まず最初にDeckを作成する必要があります。

左のメニューから [Add New Deck] をクリックします。

右側の[+]と書かれたボタンからも新しくDeckを作成できます。


新しくDeck 1という名前のDeckが作成されました。
[Deck 1] にカーソルを合わせ、ダブルクリックしてください。

Deckの名前は後から自由に変更できます。


これで、Deck 1の中身を操作する画面に移ります。


2. ボタンを作成する

適当なマスにカーソルを合わせ、ダブルクリックしてください。新しくボタンが作成されます。

右クリックから [Create Button] でもボタンを作成できます。


3. サイズを変更する

作成されたボタンは赤い枠で囲われ、選択状態であることがわかります。
枠の角をクリックしながらカーソルを移動すると、ボタンのサイズを変更することができます。

角にカーソルを合わせると、拡大縮小できそうなカーソルに切り替わります。


4. コマンドを作成する

ボタンを押したら「何が起きるか」の中身を作っていきます。
今回は、「自分のTwitchチャンネルに"Hello World!"とチャットをする」ボタンを作ってみたいと思います。

作成したボタンをダブルクリックし、コマンド編集画面を開いてください。

右クリックから [Edit Commands] でも開けます。


画面上部に [+] と書かれたまるいボタンがあるので、クリックします。
[Twitch Commands] -> [Twitch: Send Chat Message] を選択します。

[Twitch Commands] にはTwitchに関係する機能がたくさん用意されています。

1行目に新しく [Twitch: Send Chat Message] コマンドが追加されました!

コマンド内の [Chat Message] 欄に [Hello World!] と入力します。
(Hello World! 以外のお好きな文字列を試してみるのもいいでしょう。)

画面右下の [OK] をクリックし、コマンド編集画面を閉じます。

[Channel] はチャットの送信先を指定する欄になっています。
空欄にしておけばデフォルトで連携したtwitchチャンネルとなります。

これで、「自分のTwitchチャンネルに"Hello World!"とチャットをする」ボタンの完成です!


5. トリガーを設定する

すでにボタンを押すとコマンドは実行される状態ですが、せっかくなので自分のTwitchチャンネルに [!test] とチャットした場合にもこのボタンが動作するようにトリガーを設定してみましょう。

先ほど作成したボタンを右クリックし、[Edit Triggers] をクリックします。

トリガーを追加したい場合は [Edit Triggers] から。

トリガー編集画面が表示されます。

コマンドを追加した際と同じように、[+]と書かれたまるいボタンをクリックします。
メニューの中から [Twitch Chat] を探し、選択します。

[Twitch Triggers] の中に、Twitchに関連したトリガーが用意されています。

[Twitch Chat] トリガーが追加されます。

[Message] 欄に書かれている [*] を削除し、[!test] に書き換えます。
(!test 以外のお好きな文字列を試してみるのもいいでしょう。)

画面右下の [Save] を押し、トリガー編集画面を閉じましょう。

[Twitch Chat]トリガーは、[Message] 欄の内容と合致するチャットが来た場合に
トリガーが実行されます。


6. ボタンの見た目を変更する

このボタンが何のボタンなのかを後から見ても理解できるようにするため、ボタンの見た目を変更します。

ボタンを右クリックし、[Edit Appearance] を選択します。

ボタンの見た目を変更する場合は [Edit Appearance] から。

アピアランス編集画面が表示されます。

[Display Text] の欄で、ボタンに表示されるテキストを編集できます。
画面左側のカラーピッカーや数値入力で、ボタンの色を編集できます。
お好みのテキストやボタンの色に変更してください。

完了したら [Save] をクリックし、アピアランス編集画面を閉じましょう。

[Display Text] に日本語を打ち込むことはできますが、
ボタン編集画面などで文字が表示されないバグがあります。
実際のDeck上では表示されるので、問題はあまりありません。


最後に、右上の [Save] をクリックし、Deckの編集を完了します。

ボタンもDeckも編集したら忘れずに [Save] すること。


7. ボタンの動作を確認する

実際に作成したボタンが正しく動作するかを確認しましょう。

画面左側のメニュー内にある
[SAMMI Panel] -> [Open Panel] をクリックします。

[SAMMI Panel] から、実際にボタンが操作できるパネルを表示できる。

初回起動時に、EULAの同意確認が出現しますので、内容を確認の上、同意してください。

[Agree]にチェックを入れ、[Continue] をクリック。

[Connect] と表示された画面が出た場合は、
[Auto-Connect][Keep Awake] にチェックを入れ
[Connect] -> [Select Deck]  をクリックします。

問題なければ、Deck 1の内容が表示された画面が出現します。

先ほど作ったボタンが表示されたウインドウが出現する。

[My test button] をクリックし、Twitchの自分のチャンネルのチャット欄に「Hello World!」と投稿されていればOKです。

また、自分のチャンネルのチャット欄に [!test] と打ち込んだ場合にも、同じく「Hello World!」と投稿されるはずです。


Ex. スマートフォンやタブレットなどの外部デバイスで動作確認する

もしお手持ちのスマートフォンやタブレットをSAMMIのストリームデックとして運用する場合は、少し設定が必要になります。

まず、SAMMIの画面左側のメニューから
[SAMMI Panel] -> [Get LAN IP (for other devices)] を選択します。

その後、どこでもいいのでテキストを貼り付けられるところで [Ctrl + V] キーを押し、文字列を貼り付けて、その文字列を控えてください。
(大体の場合、[192. 168. X. X] という4つの数字で構成される文字列になっていると思います。)

次に、スマートフォン・タブレット側で以下のURIを開きます。

初回時のみEULAの同意確認が出現しますので、内容を確認の上、同意してください。

[Agree]にチェックを入れ、[Continue] をクリック。

その後、[IP] の欄に入力されている [127.0.0.1] の文字列を削除し、
先ほど控えた文字列を [IP] の欄に入力。

[Auto-Connect] [Keep Awake] にチェックを入れ、
[Connect]
をタップします。

[Connect] で接続完了すると、表示が緑色に変化する。

最後に、 [Select Deck] をタップします。
Deck 1の内容がスマートフォン・タブレットに表示されます。

[My test button] をタップし、Twitchの自分のチャンネルのチャット欄に「Hello World!」と投稿されていればOKです。




SAMMIを上手く使ってあげるためには…

ここまで極めて初歩的なSAMMIの使い方を解説していきました。
手順を踏んでいただいた方には察していただいているかと思いますが、SAMMIはできることの幅が広い分、取り扱いもシンプルではありません。

UIや文献のほとんどが英語という点でも、辟易する方もいらっしゃるかもしれません。そんなSAMMIと仲良くするためには……

日本語の文献もある

日本語の文献を探したい方は、SAMMIの前身となるアプリ「LioranBoard」「LioranBoard 2」文献のほとんどを流用することができます。

たとえば、kurocha氏のブログはLioranBoardに関する文献が豊富で、わかりやすい解説も多く、非常に有用です。
わからないことがあれば、まずこちらの記事を参考にしてみてください。

特にコマンドや変数周りの処理に関しては、こちらの記事に大変お世話になりました。

他にわからないことがあれば、LioranBoard というワードを絡めて検索エンジンを利用するのも良いでしょう。


公式ドキュメントが充実している

SAMMIの公式ドキュメントは全編英語で組まれているものの、まず必要となるであろうコマンドやトリガーに関する情報はほとんど網羅されており、情報が大変充実しています。

良い文献が見つからない場合も、大概公式ドキュメント内を探せば解決しますので、ひたすら睨めっこしながらコマンドを組み上げてみましょう。

このコマンド or トリガーってどう動作するんだろう…?と気になった場合は、その名前を [Search Docs] に入力すればまず情報が見つかります。

ドキュメント内検索機能も優秀でたすかる

英語が苦手な方も翻訳機能を駆使すれば、なんとなく理解しながら使っていけるはずです!
(自分はバリバリDeepLの拡張機能で翻訳かけながら利用しています)


公式Discordサーバーでサポートを募る

SAMMIには公式のDiscordサーバーがありますので、文献・公式ドキュメントを探ってもわからないことがある!!という場合は、ぜひ利用してみてください。

サーバー内で検索をかければ、過去に似たような状況に陥り、質問をした人のログが残っている場合もしばしばあります。

質問がある人専用のフォーラムも用意されているため、解決しない問題があればぜひ投げかけてみましょう。開発者も含め、SAMMIを使い込んだプロユーザーの方々が対応してくれるはずです。




おわりに

SAMMIというツール自体の解説と、利便性や具体的にどのようなことができるのか といった事例についてまとめました。

SAMMIの取り扱いはやや難しいものの、できることの幅が凄まじく広いので、配信で複雑な処理をしてみたい!配信周りを楽にしたい!という方に強くオススメしたいツールです。

SAMMIには作成したボタンを共有する機能もあるので、汎用性の高いボタンを共有するためのnote記事を作ってみてもいいかもしれないですね!

必要だと思う情報は、適宜追記していきます。