SyncSing Studio
Developers

拡張機能 API 1.1 一覧(メソッド・イベント・権限ごと)

このファイルは schemas/api-1.1.json と同じ内容を表にしたものです。引数と戻り値は API_REFERENCE_JA.md、 権限の意味は PERMISSIONS_JA.md を見てください。★ は注意が必要な権限(要審査)、NC Lite の ○ は SyncSing NC Lite でも使えるものです。

メソッド 92 個・イベント 17 個・権限 26 個。

1. メソッドの一覧(拡張機能 → アプリ)

引数の * は必須。型・範囲・戻り値の形は ../schemas/api-1.1.json(JSON Schema)。

メソッド権限段階NC Lite引数できること
api.capabilities—(権限なし)○—このアプリで呼べるメソッド・イベントの一覧
app.info—(権限なし)○—アプリの種類(Studio / NC Lite)・版・言語
audio.capture.startaudio.capture★ 要審査○rateマイクの声(ノイズ除去などの処理をした後)を受け取り始める
audio.capture.stopaudio.capture★ 要審査○—マイクの声を受け取るのをやめる
audio.close—(権限なし)○—声の窓口をすべて閉じて元に戻す
audio.inject.cancelaudio.inject★ 要審査○id乗せる音・作りかけの VOICEVOX の文を取り消す
audio.inject.openaudio.inject★ 要審査○rate配信に音を乗せ始める(音のパイプで送る)
audio.inject.voicevoxaudio.inject★ 要審査○style_id*・text*・intonation・pitch・speed・volume文章を VOICEVOX の声で少しずつ作って配信に乗せる
audio.mic_route.setaudio.mic_route★ 要審査○to_mix*・monitor_originalマイクの声を配信に乗せない/戻す(止まると必ず戻る)
audio.open—(権限なし)○—音専用のパイプを開く(SDK の audio() / Audio() が呼ぶ)
audio.set_output_gainaudio.output★ 要審査gain*仮想マイクの出力音量を変える
audio.stats—(権限なし)○—捨てた音・貯まっている音の量・置き換え中か
audio.voicevox.voicesaudio.inject★ 要審査○—使える VOICEVOX の声とスタイル(入っているか)
bgm.getstate.read標準—BGM の状態を読む
bgm.nextbgm.control標準—BGM を次の曲へ
bgm.setbgm.control標準auto_duck・duck_level・enabled・monitor・volumeBGM の ON/OFF・音量・自動で下げる・モニターを変える
bgm.togglebgm.control標準—BGM の ON/OFF
chat.historychat.read標準limit・since受信済みのコメントを読む
chat.postchat.write★ 要審査text*・platformチャットへ投稿する(利用者が選んだ配信先・アカウントで)
devices.liststate.read標準○—入力・モニター・参照の機器の名前を読む
dictionary.getstate.read標準—読み方辞書を読む
dictionary.previewstate.read標準text*辞書を当てた読み方を試す(保存しない)
dictionary.remove_entrydictionary.write標準entry_id*自分が足した辞書の項目を消す
dictionary.set_entrydictionary.write標準source*・enabled・entry_id・match_type・priority・replacement読み方辞書に項目を足す・自分の項目を変える
editfx.deleteeditfx.manage標準video_id*Edit FX のテンプレートを消す
editfx.enableeditfx.manage標準enabled*Edit FX の ON/OFF
editfx.getstate.read標準video_idEdit FX のテンプレートを読む
editfx.previeweditfx.manage標準on・video_idEdit FX のテンプレートを試す
editfx.saveeditfx.manage標準template*・overwriteEdit FX のテンプレートを保存する
effects.add_favoriteeffects.control標準name今の設定をお気に入りに足す
effects.getstate.read標準—エフェクトの設定・プリセット・お気に入りを読む
effects.load_preseteffects.control標準preset*エフェクトのプリセットを読み込む
effects.next_favoriteeffects.control標準—次のお気に入りへ
effects.seteffects.control標準effects*エフェクトの設定を変える
effects.set_favoriteseffects.control標準cycle・orderお気に入りの順番・切り替え対象を変える
effects.simple.getstate.read標準—エフェクトの「簡単」ダイヤルを読む
effects.simple.seteffects.control標準dials・onエフェクトの「簡単」ダイヤルを変える
effects.toggle_currenteffects.control標準—今のエフェクトの ON/OFF
entry.actionentry.control標準action*エントリーの受付切替・確定・スキップ
entry.getstate.read標準—エントリーの受付・待機列を読む
events.subscribe—(権限なし)○events*・metersイベントを受け取り始める
events.unsubscribe—(権限なし)○events*イベントの受け取りをやめる
hello—(権限なし)○plugin*・token*・api・capabilities・sdk最初の 1 通。認証して、許可された権限・設定・フォルダを受け取る
loadtest.beginloadtest.run★ 要審査max_duration_s・mode・profile負荷テスト・計測を始める
loadtest.endloadtest.run★ 要審査—負荷テスト・計測を終えて集計を受け取る
loadtest.statusloadtest.run★ 要審査—負荷テスト・計測の状態を読む
log.write—(権限なし)○message*・level自分のログに書く
lyrics.getstate.read標準—今の歌詞の曲名・表示状態を読む
lyrics.load_textlyrics.control標準lyrics*・artist・duration・title歌詞の文を渡して読み込む
lyrics.searchlyrics.control標準track*・album・artist歌詞を検索する
lyrics.selectlyrics.control標準track*検索した歌詞を選ぶ
lyrics.set_offsetlyrics.control標準seconds*・video_id歌詞のずれを補正する
lyrics.togglelyrics.control標準—OBS の歌詞表示の ON/OFF
meters.getmeters.read標準○—音量メーターを読む
mic.chain.getstate.read標準○—マイク音質の設定を読む
mic.chain.setmic.control標準○enabled・input_gain_db・presetマイク音質の ON/OFF・プリセット・入力の音量を変える
mic.presets.liststate.read標準○—マイク音質のプリセット一覧を読む
mic.presets.selectmic.control標準○preset*マイク音質のプリセットを選ぶ
mic.setmic.control標準○denoise・latency_mode・lean_buffer・loudness_guard・monitor・strength・voice_tone_dbノイズ除去の強さ・ON/OFF・声の補正・モニター・遅延モードを変える
mic.simple.getstate.read標準○—マイク音質の「簡単」ダイヤルを読む
mic.simple.setmic.control標準○auto・dials・onマイク音質の「簡単」ダイヤルを変える
notify.dismissnotify標準○notification_id・proposal_id自分の通知・提案を取り下げる
notify.proposenotify標準○title*・items・summary見せるだけの提案を出す(利用者が「わかった」「却下」)
notify.shownotify標準○body・level・titleアプリの画面に通知を出す
obs.propose_changesobs.write★ 要審査changes*・note・titleOBS の設定変更を提案する(適用は利用者が押す)
obs.requestobs.read標準requestType*・requestDataOBS の情報を読む(読めるものだけ)
obs.snapshotsobs.write★ 要審査—適用前に保存した OBS の設定の一覧
obs.statusobs.read標準—OBS の接続・配信・録画の状態を読む
overlay.clearoverlay.draw★ 要審査overlay統合配信UI の拡張機能用の表示を消す
overlay.set_itemsoverlay.draw★ 要審査items*・overlay*・title統合配信UI の拡張機能用の表示を書き換える
overlay.set_pageoverlay.draw★ 要審査overlay*・url*・title統合配信UI に、拡張機能がこの PC の中で配るページを埋め込む(kind: page の overlay)
panel.update—(権限なし)○blocks*・panel*自分のパネルの中身を差し替える
ping—(権限なし)○—生きているかの確認(ホストからも 15 秒ごとに来る)
player.pauseplayer.control★ 要審査—内蔵 YouTube を一時停止する
player.playplayer.control★ 要審査—内蔵 YouTube を再生する
player.seekplayer.control★ 要審査seconds*内蔵 YouTube の再生位置を変える
player.setplayer.control★ 要審査backing_gain・mixback・pitch_buffer_ms・pitch_enabled・pitch_semitones・sync_trim_ms・youtube_gain動画・伴奏の音量・ミックス・キー・同期の微調整を変える
processing.startprocessing.control★ 要審査○—音声処理を開始する
processing.stopprocessing.control★ 要審査○—音声処理を停止する
processing.toggleprocessing.control★ 要審査○—音声処理の開始・停止を切り替える
recording.setrecording.control標準ceiling_db・export_stems・target_dbfs録音の設定を変える
recording.startrecording.control標準—録音を開始する
recording.stoprecording.control標準—録音を停止する
recording.togglerecording.control標準—録音の開始・停止を切り替える
settings.get—(権限なし)○—自分の設定を読む
settings.set—(権限なし)○settings*自分の設定を変える(manifest で宣言した項目だけ)
state.getstate.read標準○—今の状態(処理・曲・歌詞・配信の接続など)を読む
tts.getstate.read標準—読み上げの状態を読む
tts.reader.stop_alltts.control★ 要審査—読み上げを全部止める
tts.reader.toggletts.control★ 要審査—読み上げの ON/OFF
tts.speaktts.speak★ 要審査text*・interrupt_own・priority読み上げに文章を渡す
tts.stoptts.speak★ 要審査utterance_id自分が渡した読み上げを止める

2. イベントの一覧(アプリ → 拡張機能。events.subscribe で受け取る)

イベント権限段階NC Lite内容
metersmeters.read標準○音量メーター(決めた間隔ごと)
state.changedstate.read標準○状態が変わった
processing.changedstate.read標準○音声処理の開始・停止
settings.changed—(権限なし)○利用者が自分の設定を変えた
events.dropped—(権限なし)○読まなかったので捨てたイベントの件数
broadcast.changedstate.read標準配信の接続・OBS の配信状態が変わった
obs.changedobs.read標準OBS の状態が変わった
loadtest.sampleloadtest.run★ 要審査負荷テスト・計測の 1 秒ごとの値
loadtest.endedloadtest.run★ 要審査負荷テスト・計測が終わった(集計)
chat.messagechat.read標準コメントを受信した
player.changedstate.read標準曲の切替・再生/停止
effects.changedstate.read標準エフェクトが変わった
entry.changedstate.read標準エントリーの人数が変わった
proposal.resultnotify標準○提案の結果(適用・却下・元に戻した など)
audio.released—(権限なし)○声の窓口が元に戻された(止めた・処理の停止・利用者が押した など)
audio.silent—(権限なし)○声を置き換え中なのに音が届いていない
audio.voicevox.done—(権限なし)○audio.inject.voicevox の文を言い終えた・失敗した

アプリからの要求(返事が要る): ping・plugin.activate・plugin.shutdown・command.invoke・tool.run・settings.changed。権限は要りません。

3. 権限ごとの表

権限段階NC Liteできることメソッドイベント
(権限なし)—○接続・自分の設定・パネル・ログapi.capabilities<br>app.info<br>audio.close<br>audio.open<br>audio.stats<br>events.subscribe<br>events.unsubscribe<br>hello<br>log.write<br>panel.update<br>ping<br>settings.get<br>settings.setsettings.changed<br>events.dropped<br>audio.released<br>audio.silent<br>audio.voicevox.done
state.read標準○今の状態を読む(曲・エフェクト・マイクの設定・エントリーの人数・配信の接続状態)bgm.get<br>devices.list<br>dictionary.get<br>dictionary.preview<br>editfx.get<br>effects.get<br>effects.simple.get<br>entry.get<br>lyrics.get<br>mic.chain.get<br>mic.presets.list<br>mic.simple.get<br>state.get<br>tts.getstate.changed<br>processing.changed<br>broadcast.changed<br>player.changed<br>effects.changed<br>entry.changed
meters.read標準○音量メーター・処理時間・音切れの数を読むmeters.getmeters
chat.read標準受信したコメントを読む(視聴者の ID はそのまま渡さない)chat.historychat.message
chat.write★ 要審査チャットへ投稿する(連携タブで選んだアカウント=配信者本人か Bot の発言として出る)chat.post—
mic.control標準○ノイズ除去の強さ・マイク音質・声の補正・遅延モードを変えるmic.chain.set<br>mic.presets.select<br>mic.set<br>mic.simple.set—
audio.output★ 要審査仮想マイクの出力音量を変える(0 にすると配信が無音になる)audio.set_output_gain—
processing.control★ 要審査○音声処理を開始・停止する(停止すると配信の声が止まる)processing.start<br>processing.stop<br>processing.toggle—
recording.control標準録音を開始・停止し、録音の設定を変えるrecording.set<br>recording.start<br>recording.stop<br>recording.toggle—
effects.control標準エフェクト・プリセット・お気に入りを切り替えるeffects.add_favorite<br>effects.load_preset<br>effects.next_favorite<br>effects.set<br>effects.set_favorites<br>effects.simple.set<br>effects.toggle_current—
editfx.manage標準Edit FX のテンプレートを読み書きするeditfx.delete<br>editfx.enable<br>editfx.preview<br>editfx.save—
player.control★ 要審査内蔵 YouTube を操作する(再生・一時停止・シーク・キー変更)player.pause<br>player.play<br>player.seek<br>player.set—
bgm.control標準BGM の再生・音量・自動で下げる・次の曲bgm.next<br>bgm.set<br>bgm.toggle—
lyrics.control標準歌詞を検索・選択・読み込み・表示切替・補正するlyrics.load_text<br>lyrics.search<br>lyrics.select<br>lyrics.set_offset<br>lyrics.toggle—
entry.control標準エントリーの受付切替・確定・スキップentry.action—
tts.speak★ 要審査読み上げに文章を渡す(配信の音に乗る)tts.speak<br>tts.stop—
tts.control★ 要審査読み上げを ON/OFF・全停止するtts.reader.stop_all<br>tts.reader.toggle—
dictionary.write標準読み方辞書に項目を足す(自分が足した項目だけ消せる)dictionary.remove_entry<br>dictionary.set_entry—
overlay.draw★ 要審査統合配信UI のプラグイン用レイヤーへ表示する(配信の映像に出る)overlay.clear<br>overlay.set_items<br>overlay.set_page—
notify標準○アプリの画面に通知・提案を出すnotify.dismiss<br>notify.propose<br>notify.showproposal.result
obs.read標準OBS の状態・統計・設定の一部を読む(SyncSing 経由。ストリームキーは読めない)obs.request<br>obs.statusobs.changed
obs.write★ 要審査OBS の設定変更を提案する(適用はあなたが押す)obs.propose_changes<br>obs.snapshots—
loadtest.run★ 要審査負荷テストの枠を取り、計測値を受け取る(配信中は使えない)loadtest.begin<br>loadtest.end<br>loadtest.statusloadtest.sample<br>loadtest.ended
audio.capture★ 要審査○マイクの声を受け取る(ノイズ除去などの処理をした後の声だけ。処理前の音・周りの音は渡さない)audio.capture.start<br>audio.capture.stop—
audio.mic_route★ 要審査○マイクの声を配信に乗せない(拡張機能が動いている間だけ。止まると必ず元に戻る)audio.mic_route.set—
audio.inject★ 要審査○拡張機能が作った音・VOICEVOX の声を配信の音に乗せるaudio.inject.cancel<br>audio.inject.open<br>audio.inject.voicevox<br>audio.voicevox.voices—
system.unrestricted★ 要審査隔離せずに動かす(PC のファイル・ネットワーク・ほかのアプリに制限なくアクセスできる)——

この資料は開発キットに入っているものと同じ内容です。拡張機能の作成・配布には拡張機能 開発者規約が適用されます。