Used the old version years ago, revisiting the animation i noticed it needed tweaking, downloaded the NG version and back in business. thanks for the in depth tutorial!!
Is there a way to set the lip sync to simply set a custom variable to different values based on the detected phoneme? I'd like to use this for a 2D character with a custom face rig with premade mouth shapes, not armature actions or anything like that. The original plugin seemed to support it as far as I can tell, but I can't seem to find an option for it in NG.
Provided the custom variable is an "animatable property" then it should be possible. I.e. when you right-click on the property there should be the "Insert Keyframe" option. You can then create a single key-frame Action for each value. Or multiple key-frames and the animation would "play" on each detected cue. Or alternatively create a single Action with multiple keyframes and map this single action using custom sub-frame ranges for each required shape. This last one is for example how FaceIt plugin keeps the shapes. Note. For 2D animation where blending is usually not desired, make sure to set the "In Out Blend Type" to "No Blending" in the "Strip placement settings" section. And only use single NLA track in the Mapping section.
You can switch the recognizer to `Phonetic` in the add-on Preferences page, which works at the phoneme level and supports languages other than English. However, it is not as accurate as the default PocketSphinx recognizer. The add-on uses the Ruhabr Lipsync engine. You can read more here: github.com/DanielSWolf/rhubarb-lip-sync?tab=readme-ov-file#recognizers
Used the old version years ago, revisiting the animation i noticed it needed tweaking, downloaded the NG version and back in business. thanks for the in depth tutorial!!
複数のキャラクターを会話させたい場合はどうしたらいいですか?
マッピングをキャラクターの数だけ作成できますか?
そう、同じシーンに独立した台詞を持つ2人(またはそれ以上)のキャラクターを登場させることができるんだ。これについては、後でビデオを作るかもしれません。今のところ、ハイレベルな手順はほとんどありません:
キャプチャパネルで
- キャプチャオブジェクト`と`サウンドクリップ`を作成します。キャプチャオブジェクト`は `Blender Scene`に直接リンクされています。これをサウンドファイルごとに行います。
- Place as strip` ボタンを使う時は、`Start Frame` にサウンドクリップの再生を開始するフレームを設定します。
- また、異なる`チャンネル`を設定することもできます。例えば、最初のキャラクターにはチャンネル1を、2番目のキャラクターにはチャンネル2を設定します。
次に、それぞれのキャラクターに対して `Mapping object` を作成します。マッピングオブジェクト` は `Blender Object` (`Armature` または `Mesh` またはその両方) にリンクされています。つまり、2つのキャラクターには2つのマッピングが `Scene` に存在することになります。
Bake to NLA`ボタンを押した後、`Bake to NLA`ボタンを押します:
- 正しい`Capture object`を選択します。
- 再び`Start Frame`を使い、新しい`NLA Strip`が正しいフレームから始まるようにします。あるいは後で手動でストリップを移動することもできます。
- 最も重要なことは、`Objects to bake` を `All` から `All Selected` に変更し、選択されているキャラクターが1つだけであることを確認することです(通常は Armature)。そうしないと、両方のキャラクターが同じ音でアニメーションしてしまいます。
次のキャプチャーを作成する前に`Capture`を`NLA`にベイクすると、ワークフローが簡単になります。例えば、最初の`Capture`を作成してベイクします。次に2つ目の`Capture`を作成し、それをベイクする。
```
Is there a way to set the lip sync to simply set a custom variable to different values based on the detected phoneme? I'd like to use this for a 2D character with a custom face rig with premade mouth shapes, not armature actions or anything like that. The original plugin seemed to support it as far as I can tell, but I can't seem to find an option for it in NG.
Provided the custom variable is an "animatable property" then it should be possible. I.e. when you right-click on the property there should be the "Insert Keyframe" option.
You can then create a single key-frame Action for each value. Or multiple key-frames and the animation would "play" on each detected cue. Or alternatively create a single Action with multiple keyframes and map this single action using custom sub-frame ranges for each required shape. This last one is for example how FaceIt plugin keeps the shapes.
Note. For 2D animation where blending is usually not desired, make sure to set the "In Out Blend Type" to "No Blending" in the "Strip placement settings" section. And only use single NLA track in the Mapping section.
Only English supported?
You can switch the recognizer to `Phonetic` in the add-on Preferences page, which works at the phoneme level and supports languages other than English. However, it is not as accurate as the default PocketSphinx recognizer. The add-on uses the Ruhabr Lipsync engine. You can read more here:
github.com/DanielSWolf/rhubarb-lip-sync?tab=readme-ov-file#recognizers