LipSync
会場で鳴っている音をマイクで拾い、あらかじめ解析しておいた楽曲の指紋DBと照合して「いま何の曲が、どこまで、どの速さで鳴っているか」を出すノードです。入力ポートはなく、すべてノードUIから操作します。
使う順番は フォルダを選ぶ → Analyze → Listen です。Analyzeは指定フォルダをサブフォルダまで再帰的に走査して指紋DBを作ります。DBが空のまま、あるいはDB読み込み中にListenを押しても始まりません(ステータス欄にその旨が出ます)。
出力
- Track Path — 一致した楽曲のファイルパス
- Position — 秒単位の再生位置
- NormalizedPosition — 0〜1。DBに長さが記録されている曲でのみ出ます
- Playback Speed — 位置の推移から推定した再生速度
- Confidence — 一致の確からしさ
- Is Matched / Profile ID — 一致中かどうかと、一致に使われたプロファイル
設定
- Capture (s) — 1回のマイク取り込み長。既定5秒、スライダーは2〜10
- Interval (s) — 照合を試す間隔。既定2秒、スライダーは0.5〜5
- Profile — 指紋抽出時の帯域の重み付け。
Auto(全プロファイルを試す)と Balanced・Male Vocal・Female Vocal・Vocaloid・High Pitch / Bright の5つから選べます
指紋DBは数MBのJSONになり得るため、メインスレッド外で非同期に読み込まれます。読み込み中はListenを開始できません。
入力ポート
なし
出力ポート
| Port ID | 型 |
|---|---|
Track Path | string |
Position | float |
NormalizedPosition | float |
Playback Speed | float |
Confidence | float |
Is Matched | bool |
Profile ID | string |
スクリプトから設定可能なメンバー
| パス | 型 |
|---|---|
currentDeviceID | string |
analyzeFolderPath | string |
matchProfileId | string |
isListening | bool |
isAnalyzing | bool |
isDbLoading | bool |
analysisProgress | float |
statusText | string |
matchedTrackPath | string |
matchedPosition | float |
matchedSpeed | float |
matchedConfidence | float |
isMatched | bool |
matchedProfileId | string |
Synapse Apps(スクリプティング)
await synapse.modules.create({ type: "LipSync" }) 