mirror of
https://github.com/aigc3d/LAM_Audio2Expression.git
synced 2026-02-04 09:29:24 +08:00
feat: release Modelscope and OpenAvatarChat
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
[](https://aigc3d.github.io/projects/LAM/)
|
[](https://aigc3d.github.io/projects/LAM/)
|
||||||
[](https://www.apache.org/licenses/LICENSE-2.0)
|
[](https://www.apache.org/licenses/LICENSE-2.0)
|
||||||
|
[](https://www.modelscope.cn/studios/Damo_XR_Lab/LAM-A2E)
|
||||||
|
|
||||||
#### This project leverages audio input to generate ARKit blendshapes-driven facial expressions in ⚡real-time⚡, powering ultra-realistic 3D avatars generated by [LAM](https://github.com/aigc3d/LAM).
|
#### This project leverages audio input to generate ARKit blendshapes-driven facial expressions in ⚡real-time⚡, powering ultra-realistic 3D avatars generated by [LAM](https://github.com/aigc3d/LAM).
|
||||||
|
|
||||||
@@ -14,12 +15,14 @@
|
|||||||
|
|
||||||
## 📢 News
|
## 📢 News
|
||||||
|
|
||||||
|
**[April 21, 2025]** We have released the [ModelScope](https://www.modelscope.cn/studios/Damo_XR_Lab/LAM-A2E) Space ! <br>
|
||||||
|
**[April 21, 2025]** We have released the WebGL Interactive Chatting Avatar SDK on [OpenAvatarChat](https://github.com/HumanAIGC-Engineering/OpenAvatarChat) (including LLM, ASR, TTS, Avatar), with which you can freely chat with our generated 3D Digital Human ! 🔥 <br>
|
||||||
|
|
||||||
### To do list
|
### To do list
|
||||||
- [ ] Release Huggingface space.
|
- [ ] Release Huggingface space.
|
||||||
- [ ] Release Modelscope space.
|
- [x] Release Modelscope space.
|
||||||
- [ ] Release the LAM-A2E model based on the Flame expression.
|
- [ ] Release the LAM-A2E model based on the Flame expression.
|
||||||
- [ ] Release Interactive Chatting Avatar SDK with [OpenAvatarChat](https://github.com/HumanAIGC-Engineering/OpenAvatarChat), including LLM, ASR, TTS, LAM-Avatars.
|
- [x] Release Interactive Chatting Avatar SDK with [OpenAvatarChat](https://www.modelscope.cn/studios/Damo_XR_Lab/LAM-A2E), including LLM, ASR, TTS, LAM-Avatars.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -142,9 +142,13 @@ def demo_lam_audio2exp(infer, cfg):
|
|||||||
cfg.save_json_path = os.path.join("./assets/sample_lam", base_id, 'arkitWithBSData', 'bsData.json')
|
cfg.save_json_path = os.path.join("./assets/sample_lam", base_id, 'arkitWithBSData', 'bsData.json')
|
||||||
infer.infer()
|
infer.infer()
|
||||||
|
|
||||||
create_zip_archive(output_zip='./assets/arkitWithBSData.zip', base_dir=os.path.join("./assets/sample_lam", base_id))
|
output_file_name = base_id+'_'+os.path.basename(audio_params).split(".")[0]+'.zip'
|
||||||
|
assetPrefix = 'gradio_api/file=assets/'
|
||||||
|
output_file_path = os.path.join('./assets',output_file_name)
|
||||||
|
|
||||||
return 'gradio_api/file='+audio_params
|
create_zip_archive(output_zip=output_file_path, base_dir=os.path.join("./assets/sample_lam", base_id))
|
||||||
|
|
||||||
|
return 'gradio_api/file='+audio_params, assetPrefix+output_file_name
|
||||||
|
|
||||||
with gr.Blocks(analytics_enabled=False) as demo:
|
with gr.Blocks(analytics_enabled=False) as demo:
|
||||||
logo_url = './assets/images/logo.jpeg'
|
logo_url = './assets/images/logo.jpeg'
|
||||||
@@ -158,7 +162,7 @@ def demo_lam_audio2exp(infer, cfg):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
gr.HTML(
|
gr.HTML(
|
||||||
"""<p><h4 style="color: blue;"> Notes: This project leverages audio input to generate ARKit blendshapes-driven facial expressions in ⚡real-time⚡, powering ultra-realistic 3D avatars generated by LAM.</h4></p>"""
|
"""<p><h4 style="color: blue;"> Notes: This project leverages audio input to generate ARKit blendshapes-driven facial expressions in ⚡real-time⚡, powering ultra-realistic 3D avatars generated by <a href="https://github.com/aigc3d/LAM">LAM</a>.</h4></p>"""
|
||||||
)
|
)
|
||||||
|
|
||||||
# DISPLAY
|
# DISPLAY
|
||||||
@@ -224,12 +228,12 @@ def demo_lam_audio2exp(infer, cfg):
|
|||||||
|
|
||||||
if h5_rendering:
|
if h5_rendering:
|
||||||
gr.set_static_paths(Path.cwd().absolute() / "assets/")
|
gr.set_static_paths(Path.cwd().absolute() / "assets/")
|
||||||
assetPrefix = 'gradio_api/file=assets/'
|
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
gs = gaussian_render(width=380, height=680, assets=assetPrefix + 'arkitWithBSData.zip')
|
gs = gaussian_render(width=380, height=680)
|
||||||
|
|
||||||
working_dir = gr.State()
|
working_dir = gr.State()
|
||||||
selected_audio = gr.Textbox(visible=False)
|
selected_audio = gr.Textbox(visible=False)
|
||||||
|
selected_render_file = gr.Textbox(visible=False)
|
||||||
|
|
||||||
submit.click(
|
submit.click(
|
||||||
fn=assert_input_image,
|
fn=assert_input_image,
|
||||||
@@ -243,7 +247,7 @@ def demo_lam_audio2exp(infer, cfg):
|
|||||||
fn=core_fn,
|
fn=core_fn,
|
||||||
inputs=[input_image, audio_input,
|
inputs=[input_image, audio_input,
|
||||||
working_dir],
|
working_dir],
|
||||||
outputs=[selected_audio],
|
outputs=[selected_audio, selected_render_file],
|
||||||
queue=False,
|
queue=False,
|
||||||
).success(
|
).success(
|
||||||
fn=audio_loading,
|
fn=audio_loading,
|
||||||
@@ -251,7 +255,8 @@ def demo_lam_audio2exp(infer, cfg):
|
|||||||
js='''(output_component) => window.loadAudio(output_component)'''
|
js='''(output_component) => window.loadAudio(output_component)'''
|
||||||
).success(
|
).success(
|
||||||
fn=do_render(),
|
fn=do_render(),
|
||||||
js='''() => window.start()'''
|
outputs=[selected_render_file],
|
||||||
|
js='''(selected_render_file) => window.start(selected_render_file)'''
|
||||||
)
|
)
|
||||||
|
|
||||||
demo.queue()
|
demo.queue()
|
||||||
|
|||||||
@@ -6,4 +6,4 @@ pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https
|
|||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
|
|
||||||
# install H5-render
|
# install H5-render
|
||||||
pip install wheels/gradio_gaussian_render-0.0.2-py3-none-any.whl
|
pip install wheels/gradio_gaussian_render-0.0.3-py3-none-any.whl
|
||||||
@@ -6,4 +6,4 @@ pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https
|
|||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
|
|
||||||
# install H5-render
|
# install H5-render
|
||||||
pip install wheels/gradio_gaussian_render-0.0.2-py3-none-any.whl
|
pip install wheels/gradio_gaussian_render-0.0.3-py3-none-any.whl
|
||||||
Reference in New Issue
Block a user