├── source ├── VERSION.md ├── CMakeLists.txt ├── maya_ace │ ├── scripts │ │ ├── icon │ │ │ ├── grey.svg │ │ │ ├── red.svg │ │ │ ├── green.svg │ │ │ └── yellow.svg │ │ ├── AEA2FAnimationPlayerTemplate.mel │ │ ├── AEAceAnimationPlayerTemplate.mel │ │ ├── ace_tools │ │ │ ├── __init__.py │ │ │ └── ui │ │ │ │ └── __init__.py │ │ ├── trtgen │ │ │ ├── __init__.py │ │ │ └── __main__.py │ │ └── ace_ae_templates │ │ │ └── __init__.py │ ├── tests │ │ ├── data │ │ │ ├── simple_blendshape.ma │ │ │ └── test_ace_presets.json │ │ ├── __init__.py │ │ └── test_plugin.py │ └── common │ │ └── names.h ├── ace_grpc_cpp │ ├── README.md │ ├── nvidia_ace.a2f.v1_mock.grpc.pb.h │ ├── nvidia_ace.audio.v1_mock.grpc.pb.h │ ├── nvidia_ace.status.v1_mock.grpc.pb.h │ ├── nvidia_ace.controller.v1_mock.grpc.pb.h │ ├── nvidia_ace.animation_id.v1_mock.grpc.pb.h │ ├── nvidia_ace.a2f_authoring.v1_mock.grpc.pb.h │ ├── nvidia_ace.animation_data.v1_mock.grpc.pb.h │ ├── nvidia_ace.emotion_aggregate.v1_mock.grpc.pb.h │ ├── nvidia_ace.emotion_with_timecode.v1_mock.grpc.pb.h │ ├── nvidia_ace.a2f.v1.grpc.pb.cc │ ├── nvidia_ace.audio.v1.grpc.pb.cc │ ├── nvidia_ace.status.v1.grpc.pb.cc │ ├── nvidia_ace.controller.v1.grpc.pb.cc │ ├── nvidia_ace.animation_id.v1.grpc.pb.cc │ ├── nvidia_ace.a2f_authoring.v1.grpc.pb.cc │ ├── nvidia_ace.animation_data.v1.grpc.pb.cc │ ├── nvidia_ace.emotion_aggregate.v1.grpc.pb.cc │ ├── nvidia_ace.emotion_with_timecode.v1.grpc.pb.cc │ ├── nvidia_ace.a2f.v1.grpc.pb.h │ ├── nvidia_ace.audio.v1.grpc.pb.h │ ├── nvidia_ace.status.v1.grpc.pb.h │ ├── nvidia_ace.controller.v1.grpc.pb.h │ ├── nvidia_ace.animation_id.v1.grpc.pb.h │ ├── nvidia_ace.animation_data.v1.grpc.pb.h │ ├── nvidia_ace.emotion_aggregate.v1.grpc.pb.h │ ├── nvidia_ace.emotion_with_timecode.v1.grpc.pb.h │ ├── version_mock.grpc.pb.h │ ├── nvidia_ace.a2f_authoring.v1.grpc.pb.h │ ├── nvidia_ace.services.a2f.v1_mock.grpc.pb.h │ ├── nvidia_ace.services.a2f_controller.v1_mock.grpc.pb.h │ └── nvidia_ace.services.a2x_export_config.v1_mock.grpc.pb.h ├── README.md ├── ace_client │ ├── CMakeLists.txt │ ├── frame_receiver.cpp │ ├── utility.h │ ├── status.h │ ├── frame_receiver.h │ └── a2f_healthcheck_client.h └── mace.mod.in ├── python └── grpc_py │ ├── __init__.py │ ├── nvidia_ace │ ├── __init__.py │ ├── a2f │ │ ├── __init__.py │ │ └── v1_pb2_grpc.py │ ├── audio │ │ ├── __init__.py │ │ ├── v1_pb2_grpc.py │ │ └── v1_pb2.py │ ├── controller │ │ ├── __init__.py │ │ └── v1_pb2_grpc.py │ ├── services │ │ ├── __init__.py │ │ ├── a2f │ │ │ ├── __init__.py │ │ │ └── v1_pb2.py │ │ ├── a2f_authoring │ │ │ ├── __init__.py │ │ │ └── v1_pb2.py │ │ ├── a2f_controller │ │ │ ├── __init__.py │ │ │ └── v1_pb2.py │ │ ├── animation_data │ │ │ ├── __init__.py │ │ │ └── v1_pb2.py │ │ ├── a2x_export_config │ │ │ └── __init__.py │ │ └── animation_controller │ │ │ └── __init__.py │ ├── status │ │ ├── __init__.py │ │ ├── v1_pb2_grpc.py │ │ └── v1_pb2.py │ ├── a2f_authoring │ │ ├── __init__.py │ │ └── v1_pb2_grpc.py │ ├── animation_data │ │ ├── __init__.py │ │ └── v1_pb2_grpc.py │ ├── animation_id │ │ ├── __init__.py │ │ ├── v1_pb2_grpc.py │ │ └── v1_pb2.py │ ├── emotion_aggregate │ │ ├── __init__.py │ │ ├── v1_pb2_grpc.py │ │ └── v1_pb2.py │ └── emotion_with_timecode │ │ ├── __init__.py │ │ ├── v1_pb2_grpc.py │ │ └── v1_pb2.py │ └── version_pb2.py ├── cmake ├── modules │ ├── FindPythonDeps.cmake │ ├── FindAudiofile.cmake │ ├── FindRapidJson.cmake │ ├── FindRe2.cmake │ ├── FindGrpc.cmake │ ├── FindAbsl.cmake │ ├── FindCares.cmake │ ├── FindOpenssl.cmake │ ├── FindProtobuf.cmake │ └── FindA2X_SDK.cmake └── compiler_settings.cmake ├── docs ├── resource │ ├── ui-audio.png │ ├── ui-models.png │ ├── ui-service.png │ ├── select-a2f-model.png │ ├── ui-statusbar-green.png │ ├── ui-statusbar-grey.png │ ├── ui-statusbar-yellow.png │ ├── connect-jaw-transform.png │ ├── connect-reye-rotation.png │ ├── disable-audio2emotion.png │ ├── menu-connect-a2f-tongue.png │ ├── menu-connection-editor.png │ ├── node-editor-a2f-output.png │ ├── ui-service-and-request.png │ ├── viewport-face-no-model.png │ ├── window-import-james-v3.png │ ├── menu-attach-player-a2f-geom.png │ ├── ui-menu.png │ ├── ui-status.png │ ├── get-api-key.png │ ├── import-audio.png │ ├── plugin-manager.png │ ├── select-audio.png │ ├── ui-bs-offsets.png │ ├── audiofile-menu-crop.png │ ├── audiofile-menu.png │ ├── button-send-audio.png │ ├── disable-dag-only.png │ ├── import-audio-menu.png │ ├── mace-camila-v3.gif │ ├── mace-play-both.gif │ ├── mace-play-james.gif │ ├── mace-play-mark.gif │ ├── reference-editor.png │ ├── samplescene-play.gif │ ├── select-to-connect.png │ ├── set-sample-project.png │ ├── standard-workflow.png │ ├── ui-bs-multipliers.png │ ├── ui-emotion-params.png │ ├── ui-face-params.png │ ├── window-trt-manager.png │ ├── attribute-network-info.png │ ├── bake-animation-dialog.png │ ├── change-timeslider-audio.png │ ├── disable-cached-playback.png │ ├── mace-dataflow-2-dark.png │ ├── mace-dataflow-2-dark.svg │ ├── mace-dataflow-2-light.png │ ├── mace-dataflow-2-light.svg │ ├── mace-overview-2-dark.png │ ├── mace-overview-2-dark.svg │ ├── mace-overview-2-light.png │ ├── mace-overview-2-light.svg │ ├── mace-play-both-a2f.gif │ ├── mace-play-james-a2f.gif │ ├── menu-attach-player-a2f.png │ ├── menu-attach-player.png │ ├── open-attribute-editor.png │ ├── partial-blendshape-1.png │ ├── partial-blendshape-2.png │ ├── reference-editor-james.png │ ├── samplescene-static.png │ ├── select-to-connect-a2f.png │ ├── setup-connect-tongue.png │ ├── timeline-preferences.png │ ├── timeslider-waveform.png │ ├── ui-export-parameters.png │ ├── ui-tongue-parameters.png │ ├── button-and-status-indicator.png │ ├── button-update-time-slider.png │ ├── huggingface-audio2face-3d-v3.png │ ├── mace-play-james-a2f-bs.gif │ ├── samplescene-james-static.png │ ├── select-a2f-model-identity.png │ ├── select-a2fanimationplayer.png │ ├── select-aceanimationplayer-set.png │ ├── select-aceanimationplayer.png │ ├── setup-connect-anim-player.png │ ├── timeline-preferences-60fps.png │ ├── setup-connect-bottom-denture.png │ └── setup-connect-lower-face-done.png ├── reallusionsample.md └── troubleshooting.md ├── tests ├── CMakeLists.txt ├── a2x │ ├── CMakeLists.txt │ └── main.cpp ├── ace │ ├── CMakeLists.txt │ ├── utils.h │ ├── utils.cpp │ └── main.cpp └── maya │ └── CMakeLists.txt ├── deps ├── README.md ├── python-deps.pip.txt ├── build-deps.packman.xml └── requirements.txt ├── licenses ├── README.md ├── audio2x-sdk-LICENSE.txt ├── eigen-LICENSE.README ├── audiofile-LICENSE.txt ├── cxxopts-LICENSE.txt ├── tbtsvd-LICENSE.txt ├── cnpy-LICENSE.txt ├── refl-cpp-LICENSE.txt ├── magic_enum-LICENSE.txt ├── maya-ace-LICENSE.txt ├── pyyaml-LICENSE.txt ├── zlib-LICENSE.txt ├── gtest-LICENSE.txt ├── GoogleTest-LICENSE.txt ├── eigen-LICENSE.BSD ├── re2-LICENSE.txt ├── protobuf-LICENSE.txt └── TensorRT-Readme.txt ├── examples └── metahuman_batch │ ├── scripts │ ├── requirements.txt │ ├── Samples │ │ ├── Audio_Example1.wav │ │ └── Audio_Example2.wav │ └── BatchList.json │ ├── video_tutorials │ ├── 03_Demo_Batch.jpg │ ├── 04_How_to_Setup.jpg │ ├── 02_Demo_MetaHuman.jpg │ ├── 01_Intro_What_is_This.jpg │ ├── 03_Demo_Batch.mp4 │ ├── 02_Demo_MetaHuman.mp4 │ ├── 04_How_to_Setup.mp4 │ ├── 01_Intro_What_is_This.mp4 │ ├── 05_Code_Overview_For_Customization.jpg │ └── 05_Code_Overview_For_Customization.mp4 │ └── proto │ ├── requirements.txt │ ├── sample_wheel │ └── nvidia_ace-1.0.0-py3-none-any.whl │ ├── protobuf_files │ ├── nvidia_ace.services.a2f.v1.proto │ ├── nvidia_ace.services.a2f_controller.v1.proto │ ├── nvidia_ace.status.v1.proto │ ├── nvidia_ace.audio.v1.proto │ └── nvidia_ace.emotion_aggregate.v1.proto │ ├── files_to_compile.yaml │ └── README.md ├── sample_data ├── audio_1sec_16k_s16le.wav ├── audio_4sec_16k_s16le.wav ├── audio_6sec_48k_s16le.wav └── README.md ├── sample_project ├── scenes │ ├── ace_v2_arkit.ma │ ├── claire_v2_fullface.ma │ ├── claire_v3_fullface.ma │ ├── james_v3_fullface.ma │ ├── mark_v2_fullface.ma │ └── mark_v3_fullface.ma ├── maya_geom │ ├── claire_geom_v3.ma │ ├── james_geom_v3.ma │ ├── mark_geom_v3.ma │ ├── claire_geom_v2_topo1.ma │ └── mark_geom_v2_topo1.ma ├── maya_blendshape_v2 │ ├── james_arkit_v2.ma │ ├── claire_arkit_v2_topo1.ma │ └── mark_arkit_v2_topo1.ma ├── maya_blendshape_v3 │ ├── claire_arkit_v3.ma │ ├── james_arkit_v3.ma │ └── mark_arkit_v3.ma ├── sound │ ├── english_voice_male_p1_neutral.wav │ └── chinese_voice_female_p01_neutral.wav ├── workspace.mel └── models │ └── README.md ├── tools └── packman │ ├── config.packman.xml │ ├── python.bat │ ├── python.sh │ └── bootstrap │ ├── fetch_file_from_packman_bootstrap.cmd │ └── download_file_from_url.ps1 ├── run_maya.bat ├── test_ace_client.bat ├── .gitignore ├── trtgen.bat ├── .gitattributes ├── run_mock_server.bat ├── trtexec.bat ├── test_a2x_local.bat ├── LICENSE.txt ├── test_maya_scripts.bat ├── test_maya_plugin.bat ├── download_models.bat ├── SECURITY.md ├── env_maya.bat ├── fetch_deps.bat └── CMakeLists.txt /source/VERSION.md: -------------------------------------------------------------------------------- 1 | 2.0.0 -------------------------------------------------------------------------------- /python/grpc_py/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/a2f/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/audio/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/controller/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/services/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/status/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/a2f_authoring/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/animation_data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/animation_id/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/services/a2f/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/emotion_aggregate/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/emotion_with_timecode/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/services/a2f_authoring/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/services/a2f_controller/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/services/animation_data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/services/a2x_export_config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/services/animation_controller/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cmake/modules/FindPythonDeps.cmake: -------------------------------------------------------------------------------- 1 | set(PYTHON_DEPS_ROOT "${PROJECT_SOURCE_DIR}/_deps/python-deps") 2 | -------------------------------------------------------------------------------- /docs/resource/ui-audio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/ui-audio.png -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(ace) 2 | add_subdirectory(a2x) 3 | add_subdirectory(maya) 4 | -------------------------------------------------------------------------------- /docs/resource/ui-models.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/ui-models.png -------------------------------------------------------------------------------- /docs/resource/ui-service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/ui-service.png -------------------------------------------------------------------------------- /docs/resource/select-a2f-model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/select-a2f-model.png -------------------------------------------------------------------------------- /docs/resource/ui-statusbar-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/ui-statusbar-green.png -------------------------------------------------------------------------------- /docs/resource/ui-statusbar-grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/ui-statusbar-grey.png -------------------------------------------------------------------------------- /source/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(ace_grpc_cpp) 2 | add_subdirectory(ace_client) 3 | add_subdirectory(maya_ace) 4 | -------------------------------------------------------------------------------- /deps/README.md: -------------------------------------------------------------------------------- 1 | ## Instructions ## 2 | 3 | Download Maya devkit, unzip and locate devkitBase directory in this directory. 4 | -------------------------------------------------------------------------------- /docs/resource/ui-statusbar-yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/ui-statusbar-yellow.png -------------------------------------------------------------------------------- /licenses/README.md: -------------------------------------------------------------------------------- 1 | # License Files 2 | 3 | This directory contains the license files for the dependencies of this project. 4 | -------------------------------------------------------------------------------- /docs/resource/connect-jaw-transform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/connect-jaw-transform.png -------------------------------------------------------------------------------- /docs/resource/connect-reye-rotation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/connect-reye-rotation.png -------------------------------------------------------------------------------- /docs/resource/disable-audio2emotion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/disable-audio2emotion.png -------------------------------------------------------------------------------- /docs/resource/menu-connect-a2f-tongue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/menu-connect-a2f-tongue.png -------------------------------------------------------------------------------- /docs/resource/menu-connection-editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/menu-connection-editor.png -------------------------------------------------------------------------------- /docs/resource/node-editor-a2f-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/node-editor-a2f-output.png -------------------------------------------------------------------------------- /docs/resource/ui-service-and-request.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/ui-service-and-request.png -------------------------------------------------------------------------------- /docs/resource/viewport-face-no-model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/viewport-face-no-model.png -------------------------------------------------------------------------------- /docs/resource/window-import-james-v3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/window-import-james-v3.png -------------------------------------------------------------------------------- /docs/resource/menu-attach-player-a2f-geom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/docs/resource/menu-attach-player-a2f-geom.png -------------------------------------------------------------------------------- /examples/metahuman_batch/scripts/requirements.txt: -------------------------------------------------------------------------------- 1 | numpy==1.26.4 2 | scipy==1.13.0 3 | grpcio==1.64.0 4 | protobuf==4.24.1 5 | PyYAML==6.0.1 6 | pandas==2.2.2 7 | -------------------------------------------------------------------------------- /cmake/modules/FindAudiofile.cmake: -------------------------------------------------------------------------------- 1 | set(AUDIOFILE_ROOT "${PROJECT_SOURCE_DIR}/_deps/target-deps/audiofile") 2 | set(AUDIOFILE_INCLUDE_DIRS "${AUDIOFILE_ROOT}/include") -------------------------------------------------------------------------------- /docs/resource/ui-menu.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7db7c8bf4469abe54052f70c8c5ff8ebb7e714022c0b631481963239866abf33 3 | size 7042 4 | -------------------------------------------------------------------------------- /docs/resource/ui-status.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9d8d5513290bc2ab11d92f73e9dfcdbd1e48df0a2addcd3088a900e8efbaee31 3 | size 9106 4 | -------------------------------------------------------------------------------- /examples/metahuman_batch/video_tutorials/03_Demo_Batch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/examples/metahuman_batch/video_tutorials/03_Demo_Batch.jpg -------------------------------------------------------------------------------- /cmake/modules/FindRapidJson.cmake: -------------------------------------------------------------------------------- 1 | set(RAPIDJSON_ROOT "${PROJECT_SOURCE_DIR}/_deps/target-deps/rapidjson") 2 | set(RAPIDJSON_INCLUDE_DIRS "${RAPIDJSON_ROOT}/include") 3 | -------------------------------------------------------------------------------- /docs/resource/get-api-key.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b5fb7c4342666ce8b644f650ea198ae59bc8e3533c93db1dd08d5dd4090f9aaa 3 | size 250143 4 | -------------------------------------------------------------------------------- /docs/resource/import-audio.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:cdb77a572a39bf9349bbb6a44571adb269b91ca5ab6eaff6c4fc78e703efb8ab 3 | size 58433 4 | -------------------------------------------------------------------------------- /docs/resource/plugin-manager.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3a4c1705a00bf323c5a5eba8c25bfbddf9ea9355a10413176bc67d978130527b 3 | size 8088 4 | -------------------------------------------------------------------------------- /docs/resource/select-audio.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:014a8877c4567fe17c541ae6cc25b9caf99edb01623693a376289ff22a28bc4e 3 | size 8891 4 | -------------------------------------------------------------------------------- /docs/resource/ui-bs-offsets.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0e87ba4593f26a2cb1bc3620dfeff1b05148ecb5bf59d023cc906773296c3052 3 | size 20563 4 | -------------------------------------------------------------------------------- /examples/metahuman_batch/scripts/Samples/Audio_Example1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/examples/metahuman_batch/scripts/Samples/Audio_Example1.wav -------------------------------------------------------------------------------- /examples/metahuman_batch/scripts/Samples/Audio_Example2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/examples/metahuman_batch/scripts/Samples/Audio_Example2.wav -------------------------------------------------------------------------------- /examples/metahuman_batch/video_tutorials/04_How_to_Setup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/examples/metahuman_batch/video_tutorials/04_How_to_Setup.jpg -------------------------------------------------------------------------------- /docs/resource/audiofile-menu-crop.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a98b6a8102ce48feaa442e313f3c00088f41a9868068dc9b01c89a8d6bd0a4eb 3 | size 5513 4 | -------------------------------------------------------------------------------- /docs/resource/audiofile-menu.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:96f06aeeddedb6700e7e370f6231841e9105d16fc4545974560dcfdc2c730332 3 | size 16553 4 | -------------------------------------------------------------------------------- /docs/resource/button-send-audio.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:00da261dd14dd6e6a3c1dbb78bec00a64f75cd921ecfc9ea209fbd93de0ba316 3 | size 7727 4 | -------------------------------------------------------------------------------- /docs/resource/disable-dag-only.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:327e13bb8d342c0340f9511fe4878909514a06ca41ddfbe8cb560dddf6d2d80a 3 | size 8216 4 | -------------------------------------------------------------------------------- /docs/resource/import-audio-menu.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:912eb8c0001b341272e6c034710f467898e4408cee1d63e8d48b79764afea4e7 3 | size 9115 4 | -------------------------------------------------------------------------------- /docs/resource/mace-camila-v3.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:4bdaa86d7cdfa3c0a06a36e6a415e1fb9681a810f7d41ed0db760094b8feb19b 3 | size 3656878 4 | -------------------------------------------------------------------------------- /docs/resource/mace-play-both.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d0017514a7b06d540288c18020d82512c658805ae9017e83a79105649b45eb61 3 | size 786432 4 | -------------------------------------------------------------------------------- /docs/resource/mace-play-james.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:10dc585b20246751d4386a7385fc6b2f7e445c99787fcf0211529cf344064b10 3 | size 1060845 4 | -------------------------------------------------------------------------------- /docs/resource/mace-play-mark.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e0317980f3084752b44fecc2f60f1ba6e4e01058d44dd75102af6475db675bee 3 | size 1167718 4 | -------------------------------------------------------------------------------- /docs/resource/reference-editor.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:12a7aa48d633bdc14eaf974e6572ff4661fbf0e35ea4f923849d340dde2aa511 3 | size 14296 4 | -------------------------------------------------------------------------------- /docs/resource/samplescene-play.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:741cac71ecfa3b8d097b81f821c3f1deca318bfb9b725ac775ac08cb26f55596 3 | size 2317352 4 | -------------------------------------------------------------------------------- /docs/resource/select-to-connect.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:39a7552ec433d970b09f5169a043fbb926153798dfb8576c7691de88c97189a8 3 | size 411546 4 | -------------------------------------------------------------------------------- /docs/resource/set-sample-project.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6fd296c7e0ec9026ab74beb8569756529cfc67d7ee707aa1cd56c422c34c7259 3 | size 26058 4 | -------------------------------------------------------------------------------- /docs/resource/standard-workflow.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0ced383ae20d13945096943b8420f4aa4d0d3ed25bfefea2e43fdd816991d9c1 3 | size 48425 4 | -------------------------------------------------------------------------------- /docs/resource/ui-bs-multipliers.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d5fed1ce4baa2fe35dba347cb7d2e4d823e33f96566cf901d542cf90aaf16c0a 3 | size 20204 4 | -------------------------------------------------------------------------------- /docs/resource/ui-emotion-params.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:31a610b0659d97bad8af59d705578bf28197096250d43e6e2cf30067db1037ed 3 | size 16913 4 | -------------------------------------------------------------------------------- /docs/resource/ui-face-params.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b5cf57a4597964b3f264827a779461d6e9494465e09c237ce47be9435828412e 3 | size 11720 4 | -------------------------------------------------------------------------------- /docs/resource/window-trt-manager.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f21d6794c9a6545d5688be18287eed48848fe9b17cec36a02dd544c0ce9253a0 3 | size 16857 4 | -------------------------------------------------------------------------------- /examples/metahuman_batch/video_tutorials/02_Demo_MetaHuman.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/examples/metahuman_batch/video_tutorials/02_Demo_MetaHuman.jpg -------------------------------------------------------------------------------- /sample_data/audio_1sec_16k_s16le.wav: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3e29663c863380bbcb7758b02715bfcaa9efbe41d378fc3287c7d0e7a8476e7c 3 | size 14696 4 | -------------------------------------------------------------------------------- /docs/resource/attribute-network-info.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:625b019cae2b458f2720a50809cfa271f5170a1194f93c88f9c3e7a686dd28d4 3 | size 4987 4 | -------------------------------------------------------------------------------- /docs/resource/bake-animation-dialog.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f12a248b6b8caf97468fc85884b1827670ae5f6d5870831b2bb1faece4216762 3 | size 19133 4 | -------------------------------------------------------------------------------- /docs/resource/change-timeslider-audio.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:11d3eeeb600821bb600dffe05241dca5a10dccc0d3e59fc39bf0e5b6f244270c 3 | size 11197 4 | -------------------------------------------------------------------------------- /docs/resource/disable-cached-playback.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7e72e6653c268f09b6e08b943c9087c164a84ad680346090c701a0edf5b26b81 3 | size 7843 4 | -------------------------------------------------------------------------------- /docs/resource/mace-dataflow-2-dark.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:46eb59d76ed664942c49013960356d5f2f6d9b4fa3585586006947f71ec2eeac 3 | size 85233 4 | -------------------------------------------------------------------------------- /docs/resource/mace-dataflow-2-dark.svg: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9bb21d233dee12e3afddadb48d80e29616af25b6e4716a9592a496218417de5d 3 | size 61701 4 | -------------------------------------------------------------------------------- /docs/resource/mace-dataflow-2-light.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c14732e47696444759899606c10c7b8b19bed4cf40fb966e34a3aecf8417c3d0 3 | size 88354 4 | -------------------------------------------------------------------------------- /docs/resource/mace-dataflow-2-light.svg: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:1481ed138424606b37176c40ad7faefe3f0be1675d250f61f2b7f9ac0670d22c 3 | size 61439 4 | -------------------------------------------------------------------------------- /docs/resource/mace-overview-2-dark.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f502462bcbd84958e316f3135b4015007063d1d07138a8394747c51f7c54d18f 3 | size 91538 4 | -------------------------------------------------------------------------------- /docs/resource/mace-overview-2-dark.svg: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f9f94b538f3fcf51abca04987681ac9b314b2815fbb88f2622332e1fc5bbf5aa 3 | size 98251 4 | -------------------------------------------------------------------------------- /docs/resource/mace-overview-2-light.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:1a8f54b062a90b1541359d9b74afe63e346ceb2e517a20a3ee5d6917c2fe3141 3 | size 91249 4 | -------------------------------------------------------------------------------- /docs/resource/mace-overview-2-light.svg: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:86a67dc6995ca8efc0442eb162bc555b5d9f25736a3d0efd72a8a2465015274e 3 | size 205150 4 | -------------------------------------------------------------------------------- /docs/resource/mace-play-both-a2f.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0cd161d619fcd23121bec7ddfc133808f34b6994bd1384d8cfa7b4555db86470 3 | size 524288 4 | -------------------------------------------------------------------------------- /docs/resource/mace-play-james-a2f.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:bf1f75d8a030bdcf9d53bc98a2372b42f119943d83181d7124e11fb4f8721327 3 | size 2042248 4 | -------------------------------------------------------------------------------- /docs/resource/menu-attach-player-a2f.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:896d91bc736eff74e5d9c035d471c9d14d14f5f62012f84837e6ba5d4506273d 3 | size 200539 4 | -------------------------------------------------------------------------------- /docs/resource/menu-attach-player.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:46f51385d554797df1008379c5f869db700b27a473d00ff37bc0193a6b20ffdf 3 | size 354682 4 | -------------------------------------------------------------------------------- /docs/resource/open-attribute-editor.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d26be0e66a1426eb4c2b55976beab6b94c68ae74108401445ceb28062192c758 3 | size 13839 4 | -------------------------------------------------------------------------------- /docs/resource/partial-blendshape-1.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3f49f4a1d4b5ec294758aff7aa73820d1c51ebe5099dd3eb78c142385e809332 3 | size 64029 4 | -------------------------------------------------------------------------------- /docs/resource/partial-blendshape-2.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:bc8887dc34ef4cf7809fc229c267582b1092bd40ae853cbed25552dd78340a04 3 | size 68429 4 | -------------------------------------------------------------------------------- /docs/resource/reference-editor-james.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d9e0d5e19bf09b5ec48a5957edd52896a8520c501cc7e1b8688573ece624d8dc 3 | size 12380 4 | -------------------------------------------------------------------------------- /docs/resource/samplescene-static.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f47280ee5ae97e7a9c75fa80f92e8fc5b96bbd396e0e75a31d02699782df7665 3 | size 440740 4 | -------------------------------------------------------------------------------- /docs/resource/select-to-connect-a2f.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ecbf5ef87c16d9ef9cba8133adb83d082dcc4224aa3a9c2442d5556d2a122abb 3 | size 370852 4 | -------------------------------------------------------------------------------- /docs/resource/setup-connect-tongue.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ca73b5267fb6896910fac9a415da5f97e6024d3d044e3c2e2fdd507bc3df7304 3 | size 114608 4 | -------------------------------------------------------------------------------- /docs/resource/timeline-preferences.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:fc46e64d77c6fcad0dd5c93cecab42d88c3a0e64300d4bf1bf73bbdc60c37c27 3 | size 57584 4 | -------------------------------------------------------------------------------- /docs/resource/timeslider-waveform.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d3614c126837f7afb90f3768e4ea8f51eaffb6cef4ae2f144a3e5dc8830e77ca 3 | size 14675 4 | -------------------------------------------------------------------------------- /docs/resource/ui-export-parameters.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a3b1263b68ad37f1941f275fc61a494b04980a19711ce6b70afea7c44bdad736 3 | size 7659 4 | -------------------------------------------------------------------------------- /docs/resource/ui-tongue-parameters.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ca26414560f78f5f31c713a8c95ee2d8e89a802aab48e60be4d6c33a02f5173f 3 | size 4422 4 | -------------------------------------------------------------------------------- /examples/metahuman_batch/video_tutorials/01_Intro_What_is_This.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/examples/metahuman_batch/video_tutorials/01_Intro_What_is_This.jpg -------------------------------------------------------------------------------- /sample_data/audio_4sec_16k_s16le.wav: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9760ba86375cefc5833d2aea2e68604782a364e639899c1e2895233c7ae8c082 3 | size 128078 4 | -------------------------------------------------------------------------------- /sample_data/audio_6sec_48k_s16le.wav: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:65cf40415a4abc0eb52b9a3e1e9f18401872a628f79e3221bdf5b5ce2bbf02b3 3 | size 551894 4 | -------------------------------------------------------------------------------- /sample_project/scenes/ace_v2_arkit.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:cdb874b95403f841d9b6c441fabe23949d84d45e2b96ac749a502415e9dc17d8 3 | size 258875539 4 | -------------------------------------------------------------------------------- /source/maya_ace/scripts/icon/grey.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /source/maya_ace/scripts/icon/red.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/resource/button-and-status-indicator.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e29225f9998fd8716a84222b424d9578f31c23a7c31300a4932b02de0d3350d6 3 | size 8230 4 | -------------------------------------------------------------------------------- /docs/resource/button-update-time-slider.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ef071fe1ef1cc9c0bae4893019ac08ca210a143d93462952c13ea2bb6be16d06 3 | size 4020 4 | -------------------------------------------------------------------------------- /docs/resource/huggingface-audio2face-3d-v3.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:044bbe1484e17b31ea34806189909f17dd7d64671bc184dca010128a0e512129 3 | size 8678 4 | -------------------------------------------------------------------------------- /docs/resource/mace-play-james-a2f-bs.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c4357de258add05fddefc2afb2066ef7b4fc5d64ef43d4988881081e7c8cc2b0 3 | size 1854059 4 | -------------------------------------------------------------------------------- /docs/resource/samplescene-james-static.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c38c57c5f46b012cdc6e11ae4b15ca197626c2431456060ae14453bb7c526db7 3 | size 397721 4 | -------------------------------------------------------------------------------- /docs/resource/select-a2f-model-identity.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:4c7dec9b94d892aef4d74b3e33fa280adbb7526c393a016a9d372f6661fa01c4 3 | size 7862 4 | -------------------------------------------------------------------------------- /docs/resource/select-a2fanimationplayer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6d4dd9cd88bf997c66376cf401c6585757939c6aa0d68d4273d60f3cbdb434a3 3 | size 4587 4 | -------------------------------------------------------------------------------- /docs/resource/select-aceanimationplayer-set.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:529628485401375b1fde5b203b97e4952a452c262942ca9edc1f0e6deab1b506 3 | size 4534 4 | -------------------------------------------------------------------------------- /docs/resource/select-aceanimationplayer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:09b4bcaa56a6266ca37922721c490ea9686d6125cb8d70832f594d5d07f93825 3 | size 15713 4 | -------------------------------------------------------------------------------- /docs/resource/setup-connect-anim-player.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:8e3a34bacab67d1ef897aa481168574d899db5d3245d45b831570a74b5ed24ef 3 | size 4291 4 | -------------------------------------------------------------------------------- /docs/resource/timeline-preferences-60fps.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6c0dc3f1b39fe31a18497049cc4ff602d48292b718d9c936b630d6daa23e5818 3 | size 39168 4 | -------------------------------------------------------------------------------- /sample_project/maya_geom/claire_geom_v3.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6320bc3c07b8ab981a0f7deda3a555cc9347bfc56e1ac7461133a55a3b5046c0 3 | size 17989714 4 | -------------------------------------------------------------------------------- /sample_project/maya_geom/james_geom_v3.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f1ddb3bb719ec80f1ae4e51a6395236a35071149034b6868be481a25940fb244 3 | size 19042850 4 | -------------------------------------------------------------------------------- /sample_project/maya_geom/mark_geom_v3.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d11da6a8de60ffb26fa1ddffcce4a0764501e7c30b52ec8a97970e0440ba5373 3 | size 15820793 4 | -------------------------------------------------------------------------------- /sample_project/scenes/claire_v2_fullface.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b4175a6952bb98206ebbeebdcde55d3473064694a0fc711c7d9aed357827fe54 3 | size 61393665 4 | -------------------------------------------------------------------------------- /sample_project/scenes/claire_v3_fullface.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5113b5e83b841fcbf579184c03e1c0b3adfef3a551c1daf8ae7a75ed6a77ece6 3 | size 18074105 4 | -------------------------------------------------------------------------------- /sample_project/scenes/james_v3_fullface.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b869b35d4c8a6af3e53f7d028cee88886e5523f3ec66a49626cc92e6f89f9c3d 3 | size 19158575 4 | -------------------------------------------------------------------------------- /sample_project/scenes/mark_v2_fullface.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f4676a3b696e8f2ebcf5d2310c3f5a780db3741c9c113c6c07de2a5cb8f7ed4b 3 | size 72854901 4 | -------------------------------------------------------------------------------- /sample_project/scenes/mark_v3_fullface.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ded559eac5d50ed453f79b9160b7c73b92fbb9e23dae4e2843a956c3c528c22a 3 | size 15822052 4 | -------------------------------------------------------------------------------- /source/maya_ace/scripts/icon/green.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /source/maya_ace/scripts/icon/yellow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/resource/setup-connect-bottom-denture.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ece5e893af9a4a159c081cc9ca82186f82dafa5f258c1c99efad1e6e220f8362 3 | size 138260 4 | -------------------------------------------------------------------------------- /docs/resource/setup-connect-lower-face-done.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:83f8dca1432e9cf7d03aaa3e61e9bfa4402f76525dd653cb49545257e07a034f 3 | size 70486 4 | -------------------------------------------------------------------------------- /examples/metahuman_batch/proto/requirements.txt: -------------------------------------------------------------------------------- 1 | protobuf-gen==0.0.4 2 | PyYAML==6.0.1 3 | grpclib==0.4.7 4 | googleapis-common-protos==1.60.0 5 | protobuf==4.25.8 6 | protobuf-gen==0.0.4 7 | -------------------------------------------------------------------------------- /sample_project/maya_geom/claire_geom_v2_topo1.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:59fb6750f1e4ceedeeb98d5ac687ab387dbc761b6b79c5177985a5b23f7f66e9 3 | size 69374119 4 | -------------------------------------------------------------------------------- /sample_project/maya_geom/mark_geom_v2_topo1.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6c3f5725978781e3bb079cc50c4fef0e5d4f5373fb271b991ce6eb9298af02df 3 | size 69497752 4 | -------------------------------------------------------------------------------- /source/maya_ace/tests/data/simple_blendshape.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:caac600f3537336ea22857f2f05142ec029fec033fed8671469511da8f02df49 3 | size 11691 4 | -------------------------------------------------------------------------------- /cmake/modules/FindRe2.cmake: -------------------------------------------------------------------------------- 1 | set(RE2_ROOT "${PROJECT_SOURCE_DIR}/_deps/target-deps/re2/${CMAKE_BUILD_TYPE}") 2 | set(RE2_INCLUDE_DIRS "${RE2_ROOT}/include") 3 | set(RE2_LIBRARIES "${RE2_ROOT}/lib") -------------------------------------------------------------------------------- /sample_project/maya_blendshape_v2/james_arkit_v2.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0170056bda34f0e3953aaff7f79d973e4eb81ff64c9ba1c9d62e66d70c4bf5ef 3 | size 48826229 4 | -------------------------------------------------------------------------------- /sample_project/maya_blendshape_v3/claire_arkit_v3.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e17df5ce7c2ed1fd99010c0dcc7b55a9eab3decb82371f82b205a1949984c779 3 | size 151142311 4 | -------------------------------------------------------------------------------- /sample_project/maya_blendshape_v3/james_arkit_v3.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:11de1374fdad1cbec9f4afebca550a9581fe4d54dedae3f9f8fd165656ec5813 3 | size 74849053 4 | -------------------------------------------------------------------------------- /sample_project/maya_blendshape_v3/mark_arkit_v3.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3b99db7592a02f226d73b99708530a6bcd5f8d6d84d752e1c0d84900b87abcba 3 | size 83894402 4 | -------------------------------------------------------------------------------- /sample_project/sound/english_voice_male_p1_neutral.wav: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:65cf40415a4abc0eb52b9a3e1e9f18401872a628f79e3221bdf5b5ce2bbf02b3 3 | size 551894 4 | -------------------------------------------------------------------------------- /cmake/modules/FindGrpc.cmake: -------------------------------------------------------------------------------- 1 | set(GRPC_ROOT "${PROJECT_SOURCE_DIR}/_deps/target-deps/grpc/${CMAKE_BUILD_TYPE}") 2 | set(GRPC_INCLUDE_DIRS "${GRPC_ROOT}/include") 3 | set(GRPC_LIBRARIES "${GRPC_ROOT}/lib") -------------------------------------------------------------------------------- /examples/metahuman_batch/video_tutorials/03_Demo_Batch.mp4: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6dbf95e93c1f78deddc3a8ebf1632a71c27fd3683480625acebb1a7a9e063a15 3 | size 31559209 4 | -------------------------------------------------------------------------------- /sample_project/maya_blendshape_v2/claire_arkit_v2_topo1.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2c041f57fc715c05ed3048df4450b2c202326712364a340c9cef889957145f1c 3 | size 78070108 4 | -------------------------------------------------------------------------------- /sample_project/maya_blendshape_v2/mark_arkit_v2_topo1.ma: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7d8f4e8809951b0ec45899e86e8dbe695047056986283676d667d2380d7bf121 3 | size 130864100 4 | -------------------------------------------------------------------------------- /sample_project/sound/chinese_voice_female_p01_neutral.wav: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5b458af205df6c1f63fc105bd2c7bd41c5ff3b7c4c62214664b54fbe97ffb023 3 | size 2236460 4 | -------------------------------------------------------------------------------- /cmake/modules/FindAbsl.cmake: -------------------------------------------------------------------------------- 1 | set(ABSL_ROOT "${PROJECT_SOURCE_DIR}/_deps/target-deps/abseil/${CMAKE_BUILD_TYPE}") 2 | set(ABSL_INCLUDE_DIRS "${ABSL_ROOT}/include") 3 | set(ABSL_LIBRARIES "${ABSL_ROOT}/lib") -------------------------------------------------------------------------------- /examples/metahuman_batch/video_tutorials/02_Demo_MetaHuman.mp4: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:cedc32a7d27e0522ae8e8a1948623f472b085f554e2ecd27150bedd49f8a481a 3 | size 15300709 4 | -------------------------------------------------------------------------------- /examples/metahuman_batch/video_tutorials/04_How_to_Setup.mp4: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5a51f1211649700d247f5cf59c4ffcacd8a5befdb9ab4a598702288e4a6cf5c9 3 | size 20535528 4 | -------------------------------------------------------------------------------- /cmake/modules/FindCares.cmake: -------------------------------------------------------------------------------- 1 | set(CARES_ROOT "${PROJECT_SOURCE_DIR}/_deps/target-deps/c-ares/${CMAKE_BUILD_TYPE}") 2 | set(CARES_INCLUDE_DIRS "${CARES_ROOT}/include") 3 | set(CARES_LIBRARIES "${CARES_ROOT}/lib") -------------------------------------------------------------------------------- /examples/metahuman_batch/video_tutorials/01_Intro_What_is_This.mp4: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0510f94fc19a7d332aad044064d1f871a6ee9a46a8ed4b7555d2f3cbfab5d27b 3 | size 11419796 4 | -------------------------------------------------------------------------------- /examples/metahuman_batch/video_tutorials/05_Code_Overview_For_Customization.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/Maya-ACE/HEAD/examples/metahuman_batch/video_tutorials/05_Code_Overview_For_Customization.jpg -------------------------------------------------------------------------------- /cmake/modules/FindOpenssl.cmake: -------------------------------------------------------------------------------- 1 | set(OPENSSL_ROOT "${PROJECT_SOURCE_DIR}/_deps/target-deps/openssl/${CMAKE_BUILD_TYPE}") 2 | set(OPENSSL_INCLUDE_DIRS "${OPENSSL_ROOT}/include") 3 | set(OPENSSL_LIBRARIES "${OPENSSL_ROOT}/lib") -------------------------------------------------------------------------------- /examples/metahuman_batch/proto/sample_wheel/nvidia_ace-1.0.0-py3-none-any.whl: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3cd3128207104aa902d0eaf10768751e88f30136684e3ba3be8dee3e04168010 3 | size 41212 4 | -------------------------------------------------------------------------------- /examples/metahuman_batch/video_tutorials/05_Code_Overview_For_Customization.mp4: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:4448c63a838219645b7772967d50fc5dc56205c61f64ba6408b19d3c5b1c0bec 3 | size 47993245 4 | -------------------------------------------------------------------------------- /cmake/modules/FindProtobuf.cmake: -------------------------------------------------------------------------------- 1 | set(PROTOBUF_ROOT "${PROJECT_SOURCE_DIR}/_deps/target-deps/protobuf/${CMAKE_BUILD_TYPE}") 2 | set(PROTOBUF_INCLUDE_DIRS "${PROTOBUF_ROOT}/include") 3 | set(PROTOBUF_LIBRARIES "${PROTOBUF_ROOT}/lib") -------------------------------------------------------------------------------- /tools/packman/config.packman.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/maya_ace/scripts/AEA2FAnimationPlayerTemplate.mel: -------------------------------------------------------------------------------- 1 | global proc AEA2FAnimationPlayerTemplate( string $nodeName ){ 2 | python("import ace_ae_templates.ae_a2f_animation_player as ae_a2f_player;ae_a2f_player.AEA2FAnimationPlayer('" + $nodeName + "');"); 3 | } 4 | -------------------------------------------------------------------------------- /source/maya_ace/scripts/AEAceAnimationPlayerTemplate.mel: -------------------------------------------------------------------------------- 1 | global proc AEAceAnimationPlayerTemplate( string $nodeName ){ 2 | python("import ace_ae_templates.ae_ace_animation_player as ae_ace_player;ae_ace_player.AEAceAnimationPlayer('" + $nodeName + "');"); 3 | } 4 | -------------------------------------------------------------------------------- /deps/python-deps.pip.txt: -------------------------------------------------------------------------------- 1 | # NOTE - For any new packages added to this list, please make sure that the license is compatible with Maya-ACE (e.g. avoid GPL/LGPL) 2 | 3 | PyYAML<7.0, >5.0 4 | # coverage # Optional. Enables python test coverage report through test_maya_ace.bat 5 | -------------------------------------------------------------------------------- /run_maya.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | set "BASE_DIR=%~dp0" 4 | set "ALL_ARGS=%*" 5 | 6 | if "%1"=="debug" ( 7 | echo Running in DEBUG mode 8 | SET "VARIANT=debug" 9 | set "ALL_ARGS=%ALL_ARGS:debug=%" 10 | ) 11 | 12 | %BASE_DIR%env_maya.bat call maya.exe %ALL_ARGS% 13 | -------------------------------------------------------------------------------- /source/maya_ace/tests/data/test_ace_presets.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__label__": "Set1", 4 | "networkAddress": "nvcf.nvidia.com", 5 | "functionId": "___" 6 | }, 7 | { 8 | "__label__": "Set2", 9 | "networkAddress": "nvcf.nvidia.com", 10 | "functionId": "___" 11 | } 12 | ] 13 | -------------------------------------------------------------------------------- /test_ace_client.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | set "BASE_DIR=%~dp0" 3 | 4 | call %BASE_DIR%_venv\Scripts\activate 5 | set "PYTHONPATH=%BASE_DIR%python;%PYTHONPATH%" 6 | 7 | @REM run ace_client tests under mock server environment 8 | cd %BASE_DIR% 9 | python -m mock_server "%BASE_DIR%_build\windows-x86_64\release\bin\tests_ace_client.exe" %* 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | __pycache__ 3 | .cache 4 | .vscode/settings.json 5 | .vs 6 | desktop.ini 7 | CMakeSettings.json 8 | 9 | /_build/ 10 | /_deps/ 11 | /_report/ 12 | /_venv 13 | /python/animation-controller-interface 14 | /sample_project/models/audio2face-models 15 | /sample_project/models/audio2emotion-models 16 | 17 | /deps/devkitBase* 18 | /deps/tensorrt* 19 | /deps/cuda* 20 | /deps/audio2x-sdk* 21 | -------------------------------------------------------------------------------- /trtgen.bat: -------------------------------------------------------------------------------- 1 | @REM It is calling the trtgen.bat script in the source/maya_ace/scripts directory. 2 | @REM 3 | @REM Usage: 4 | @REM trtgen.bat [options] 5 | @echo off 6 | 7 | set ROOT_DIR=%~dp0 8 | 9 | set MODELS_DIR=%ROOT_DIR%sample_project\models\ 10 | set TRTEXEC_PATH=%ROOT_DIR%trtexec.bat 11 | 12 | @REM finally, run the trtgen script 13 | call %ROOT_DIR%source\maya_ace\scripts\trtgen.bat %* 14 | -------------------------------------------------------------------------------- /examples/metahuman_batch/scripts/BatchList.json: -------------------------------------------------------------------------------- 1 | { 2 | "audiofiles_folder": "Samples", 3 | "paramsfiles_folder": "Samples", 4 | "destination_folder": "Samples", 5 | "audiofiles": [ 6 | ["Audio_Example1.wav", "Config_Example1.json"], 7 | ["Audio_Example1.wav", "Config_Example2.json"], 8 | ["Audio_Example2.wav", "Config_Example3.yaml"] 9 | ], 10 | "FBX_axis_system": "Maya Yup" 11 | } -------------------------------------------------------------------------------- /deps/build-deps.packman.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /licenses/audio2x-sdk-LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. 3 | 4 | NVIDIA CORPORATION and its licensors retain all intellectual property 5 | and proprietary rights in and to this software, related documentation 6 | and any modifications thereto. Any use, reproduction, disclosure or 7 | distribution of this software and related documentation without an express 8 | license agreement from NVIDIA CORPORATION is strictly prohibited. 9 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/README.md: -------------------------------------------------------------------------------- 1 | # How to Generate GRPC Files 2 | 3 | All .cc and .h files are generated by grpc in this folder. Please refer to 4 | [Audio2Face-3D Samples Proto](https://github.com/NVIDIA/Audio2Face-3D-Samples/tree/main/proto) 5 | for the latest proto files, and follow the instructions. 6 | 7 | More information can be found in 8 | [Audio2Face-3D Microservice GRPC documents](https://docs.nvidia.com/ace/audio2face-3d-microservice/1.3/text/interacting/a2f-rpc.html). 9 | -------------------------------------------------------------------------------- /deps/requirements.txt: -------------------------------------------------------------------------------- 1 | certifi==2025.6.15 2 | charset-normalizer==3.4.2 3 | colorama==0.4.6 4 | filelock==3.18.0 5 | fsspec==2025.5.1 6 | grpcio==1.65.4 7 | grpcio-tools==1.65.4 8 | huggingface-hub==0.34.3 9 | idna==3.10 10 | inquirerpy==0.3.4 11 | numpy==1.23.5 12 | packaging==25.0 13 | pfzy==0.3.4 14 | prompt_toolkit==3.0.51 15 | protobuf==5.26.1 16 | PyYAML==6.0.2 17 | requests==2.32.4 18 | tqdm==4.67.1 19 | typing_extensions==4.14.0 20 | urllib3==2.5.0 21 | wcwidth==0.2.13 22 | -------------------------------------------------------------------------------- /source/README.md: -------------------------------------------------------------------------------- 1 | # Maya ACE · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.txt) 2 | 3 | **High-Quality Audio-Driven Facial Animation with NVIDIA Audio2Face-3D SDK and ACE Service** 4 | 5 | [Maya-ACE](https://github.com/NVIDIA/Maya-ACE) is a powerful Maya plugin that brings NVIDIA's Audio2Face-3D technology directly to your creative workflow. 6 | It offers two complementary solutions: local GPU processing via the Audio2Face-3D SDK for maximum performance and control, and cloud-based processing through the Audio2Face-3D NIM for scalability. 7 | -------------------------------------------------------------------------------- /sample_data/README.md: -------------------------------------------------------------------------------- 1 | # Maya ACE Sample Data 2 | 3 | This directory contains the sample data to test the Maya ACE. 4 | 5 | ## Audio 6 | 7 | | Filename | Duration | Sample Rate | Bit Depth | Endianness | 8 | |----------|----------|-------------|-----------|------------| 9 | | [audio_1sec_16k_s16le.wav](audio_1sec_16k_s16le.wav) | 1 second | 16 kHz | 16-bit | little-endian | 10 | | [audio_4sec_16k_s16le.wav](audio_4sec_16k_s16le.wav) | 4 seconds | 16 kHz | 16-bit | little-endian | 11 | | [audio_6sec_48k_s16le.wav](audio_6sec_48k_s16le.wav) | 6 seconds | 48 kHz | 16-bit | little-endian | 12 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.bat eol=lf 2 | *.png filter=lfs diff=lfs merge=lfs -text 3 | *.svg filter=lfs diff=lfs merge=lfs -text 4 | *.gif filter=lfs diff=lfs merge=lfs -text 5 | *.wav filter=lfs diff=lfs merge=lfs -text 6 | *.ma filter=lfs diff=lfs merge=lfs -text 7 | *.fbx filter=lfs diff=lfs merge=lfs -text 8 | *.mb filter=lfs diff=lfs merge=lfs -text 9 | *.mp4 filter=lfs diff=lfs merge=lfs -text 10 | *.whl filter=lfs diff=lfs merge=lfs -text 11 | *.lib filter=lfs diff=lfs merge=lfs -text 12 | *.dll filter=lfs diff=lfs merge=lfs -text 13 | *.so filter=lfs diff=lfs merge=lfs -text 14 | *.pdb filter=lfs diff=lfs merge=lfs -text 15 | -------------------------------------------------------------------------------- /run_mock_server.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | set "BASE_DIR=%~dp0" 3 | set "PYTHONPATH=%BASE_DIR%python;%PYTHONPATH%" 4 | 5 | @REM Check if _venv directory exists, if not create it 6 | if not exist %BASE_DIR%_venv ( 7 | echo Creating venv at _venv with %PYTHON% 8 | %PYTHON% -m pip install virtualenv 9 | %PYTHON% -m venv %BASE_DIR%_venv --upgrade-deps 10 | if errorlevel 1 ( 11 | echo Failed to create venv at _venv 12 | exit /b 1 13 | ) 14 | ) 15 | 16 | @REM Activate the virtual environment 17 | call %BASE_DIR%_venv\Scripts\activate 18 | if errorlevel 1 ( 19 | echo Failed to activate _venv 20 | exit /b 1 21 | ) 22 | 23 | python -m mock_server 24 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.a2f.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.a2f.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2ea2f_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2ea2f_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.a2f.v1.pb.h" 9 | #include "nvidia_ace.a2f.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace a2f { 16 | namespace v1 { 17 | 18 | } // namespace v1 19 | } // namespace a2f 20 | } // namespace nvidia_ace 21 | 22 | 23 | #endif // GRPC_MOCK_nvidia_5face_2ea2f_2ev1_2eproto__INCLUDED 24 | -------------------------------------------------------------------------------- /trtexec.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | set "BASE_DIR=%~dp0" 4 | set "BUILD_DIR=%BASE_DIR%_build\" 5 | 6 | if not defined TENSORRT_ROOT_DIR ( 7 | echo; 8 | echo TENSORRT_ROOT_DIR not set. Using default: %~dp0deps\tensorrt 9 | echo Please set TENSORRT_ROOT_DIR to the root directory of your TensorRT installation. 10 | set TENSORRT_ROOT_DIR=%BASE_DIR%deps\tensorrt 11 | ) 12 | 13 | if not exist %TENSORRT_ROOT_DIR% ( 14 | echo TensorRT not found in %TENSORRT_ROOT_DIR% 15 | exit /b 1 16 | ) 17 | 18 | REM Update PATH with necessary directories 19 | @REM set "PATH=%BUILD_DIR%a2x-deps\cuda\bin;%PATH%" 20 | set "PATH=%TENSORRT_ROOT_DIR%\lib;%PATH%" 21 | set "PATH=%TENSORRT_ROOT_DIR%\bin;%PATH%" 22 | 23 | call %TENSORRT_ROOT_DIR%\bin\trtexec.exe %* 24 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.audio.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.audio.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2eaudio_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2eaudio_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.audio.v1.pb.h" 9 | #include "nvidia_ace.audio.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace audio { 16 | namespace v1 { 17 | 18 | } // namespace v1 19 | } // namespace audio 20 | } // namespace nvidia_ace 21 | 22 | 23 | #endif // GRPC_MOCK_nvidia_5face_2eaudio_2ev1_2eproto__INCLUDED 24 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.status.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.status.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2estatus_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2estatus_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.status.v1.pb.h" 9 | #include "nvidia_ace.status.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace status { 16 | namespace v1 { 17 | 18 | } // namespace v1 19 | } // namespace status 20 | } // namespace nvidia_ace 21 | 22 | 23 | #endif // GRPC_MOCK_nvidia_5face_2estatus_2ev1_2eproto__INCLUDED 24 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.controller.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.controller.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2econtroller_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2econtroller_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.controller.v1.pb.h" 9 | #include "nvidia_ace.controller.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace controller { 16 | namespace v1 { 17 | 18 | } // namespace v1 19 | } // namespace controller 20 | } // namespace nvidia_ace 21 | 22 | 23 | #endif // GRPC_MOCK_nvidia_5face_2econtroller_2ev1_2eproto__INCLUDED 24 | -------------------------------------------------------------------------------- /source/ace_client/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | set(TARGET_NAME ace_client) 3 | 4 | file(GLOB SRC "*.cpp") 5 | add_library(${TARGET_NAME} STATIC ${SRC}) 6 | 7 | target_include_directories( 8 | ${TARGET_NAME} 9 | PRIVATE 10 | ${PROJECT_SOURCE_DIR}/source 11 | ${ABSL_INCLUDE_DIRS} 12 | ${AUDIOFILE_INCLUDE_DIRS} 13 | ${CARES_INCLUDE_DIRS} 14 | ${GRPC_INCLUDE_DIRS} 15 | ${OPENSSL_INCLUDE_DIRS} 16 | ${PROTOBUF_INCLUDE_DIRS} 17 | ${RE2_INCLUDE_DIRS} 18 | ) 19 | 20 | target_link_directories( 21 | ${TARGET_NAME} 22 | PRIVATE 23 | ${ABSL_LIBRARIES} 24 | ${CARES_LIBRARIES} 25 | ${GRPC_LIBRARIES} 26 | ${OPENSSL_LIBRARIES} 27 | ${PROTOBUF_LIBRARIES} 28 | ${RE2_LIBRARIES} 29 | ) 30 | 31 | target_link_libraries( 32 | ${TARGET_NAME} 33 | PRIVATE 34 | "ace_grpc_cpp" 35 | ) -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.animation_id.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.animation_id.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2eanimation_5fid_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2eanimation_5fid_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.animation_id.v1.pb.h" 9 | #include "nvidia_ace.animation_id.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace animation_id { 16 | namespace v1 { 17 | 18 | } // namespace v1 19 | } // namespace animation_id 20 | } // namespace nvidia_ace 21 | 22 | 23 | #endif // GRPC_MOCK_nvidia_5face_2eanimation_5fid_2ev1_2eproto__INCLUDED 24 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.a2f_authoring.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.a2f_authoring.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2ea2f_5fauthoring_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2ea2f_5fauthoring_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.a2f_authoring.v1.pb.h" 9 | #include "nvidia_ace.a2f_authoring.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace a2f_authoring { 16 | namespace v1 { 17 | 18 | } // namespace v1 19 | } // namespace a2f_authoring 20 | } // namespace nvidia_ace 21 | 22 | 23 | #endif // GRPC_MOCK_nvidia_5face_2ea2f_5fauthoring_2ev1_2eproto__INCLUDED 24 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.animation_data.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.animation_data.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2eanimation_5fdata_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2eanimation_5fdata_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.animation_data.v1.pb.h" 9 | #include "nvidia_ace.animation_data.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace animation_data { 16 | namespace v1 { 17 | 18 | } // namespace v1 19 | } // namespace animation_data 20 | } // namespace nvidia_ace 21 | 22 | 23 | #endif // GRPC_MOCK_nvidia_5face_2eanimation_5fdata_2ev1_2eproto__INCLUDED 24 | -------------------------------------------------------------------------------- /licenses/eigen-LICENSE.README: -------------------------------------------------------------------------------- 1 | Eigen is primarily MPL2 licensed. See COPYING.MPL2 and these links: 2 | http://www.mozilla.org/MPL/2.0/ 3 | http://www.mozilla.org/MPL/2.0/FAQ.html 4 | 5 | Some files contain third-party code under BSD or LGPL licenses, whence the other 6 | COPYING.* files here. 7 | 8 | All the LGPL code is either LGPL 2.1-only, or LGPL 2.1-or-later. 9 | For this reason, the COPYING.LGPL file contains the LGPL 2.1 text. 10 | 11 | If you want to guarantee that the Eigen code that you are #including is licensed 12 | under the MPL2 and possibly more permissive licenses (like BSD), #define this 13 | preprocessor symbol: 14 | EIGEN_MPL2_ONLY 15 | For example, with most compilers, you could add this to your project CXXFLAGS: 16 | -DEIGEN_MPL2_ONLY 17 | This will cause a compilation error to be generated if you #include any code that is 18 | LGPL licensed. 19 | -------------------------------------------------------------------------------- /tests/a2x/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(TARGET_NAME tests_a2x_local) 2 | 3 | file(GLOB SRC "*.cpp") 4 | # Add the required source files from maya_ace common 5 | set(SRC 6 | ${SRC} 7 | ${PROJECT_SOURCE_DIR}/source/maya_ace/common/a2x_models.cpp 8 | ) 9 | add_executable(${TARGET_NAME} ${SRC}) 10 | 11 | target_include_directories( 12 | ${TARGET_NAME} 13 | PRIVATE 14 | ${PROJECT_SOURCE_DIR}/source 15 | ${PROJECT_SOURCE_DIR}/source/maya_ace 16 | ${A2X_SDK_INCLUDE_DIRS} 17 | ${TENSORRT_INCLUDE_DIRS} 18 | ${RAPIDJSON_INCLUDE_DIRS} 19 | ) 20 | 21 | target_link_directories( 22 | ${TARGET_NAME} 23 | PRIVATE 24 | ${A2X_SDK_LIBRARIES} 25 | ) 26 | 27 | add_dependencies(${TARGET_NAME} 28 | maya_ace_2024 29 | ) 30 | 31 | target_link_libraries( 32 | ${TARGET_NAME} 33 | PRIVATE 34 | GTest::gtest 35 | GTest::gmock 36 | "audio2x" 37 | ) 38 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.emotion_aggregate.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.emotion_aggregate.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2eemotion_5faggregate_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2eemotion_5faggregate_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.emotion_aggregate.v1.pb.h" 9 | #include "nvidia_ace.emotion_aggregate.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace emotion_aggregate { 16 | namespace v1 { 17 | 18 | } // namespace v1 19 | } // namespace emotion_aggregate 20 | } // namespace nvidia_ace 21 | 22 | 23 | #endif // GRPC_MOCK_nvidia_5face_2eemotion_5faggregate_2ev1_2eproto__INCLUDED 24 | -------------------------------------------------------------------------------- /docs/reallusionsample.md: -------------------------------------------------------------------------------- 1 | # Reallusion Sample Project for Maya-ACE 2 | 3 | [Reallusion](https://www.reallusion.com) offers a high-quality sample character along with detailed setup instructions for Maya-ACE. Download the provided file and follow the steps outlined in the README.txt included in the archive. 4 | 5 | This sample includes a Reallusion Maya project with character content. The character is generated from Character Creator 4, with Arnold render-ready materials applied: 6 | 7 | > **DISCLAIMER**: 8 | > This sample project is provided by Reallusion, and all rights and responsibilities rest with the provider. Please ensure compliance with the license agreement included in the archive. 9 | 10 | [Download](https://file.reallusion.com/nvidia/Reallusion_Character_Camila.zip) (~2.1GB) 11 | 12 | Maya-ACE Reallusion Character Camila demonstration 13 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.emotion_with_timecode.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.emotion_with_timecode.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2eemotion_5fwith_5ftimecode_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2eemotion_5fwith_5ftimecode_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.emotion_with_timecode.v1.pb.h" 9 | #include "nvidia_ace.emotion_with_timecode.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace emotion_with_timecode { 16 | namespace v1 { 17 | 18 | } // namespace v1 19 | } // namespace emotion_with_timecode 20 | } // namespace nvidia_ace 21 | 22 | 23 | #endif // GRPC_MOCK_nvidia_5face_2eemotion_5fwith_5ftimecode_2ev1_2eproto__INCLUDED 24 | -------------------------------------------------------------------------------- /tests/ace/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(TARGET_NAME tests_ace_client) 2 | 3 | file(GLOB SRC "*.cpp") 4 | add_executable(${TARGET_NAME} ${SRC}) 5 | 6 | target_include_directories( 7 | ${TARGET_NAME} 8 | PRIVATE 9 | ${PROJECT_SOURCE_DIR}/source 10 | ${ABSL_INCLUDE_DIRS} 11 | ${AUDIOFILE_INCLUDE_DIRS} 12 | ${CARES_INCLUDE_DIRS} 13 | ${GRPC_INCLUDE_DIRS} 14 | ${OPENSSL_INCLUDE_DIRS} 15 | ${PROTOBUF_INCLUDE_DIRS} 16 | ${RE2_INCLUDE_DIRS} 17 | ) 18 | 19 | target_link_directories( 20 | ${TARGET_NAME} 21 | PRIVATE 22 | ${ABSL_LIBRARIES} 23 | ${CARES_LIBRARIES} 24 | ${GRPC_LIBRARIES} 25 | ${OPENSSL_LIBRARIES} 26 | ${PROTOBUF_LIBRARIES} 27 | ${RE2_LIBRARIES} 28 | ) 29 | 30 | add_dependencies(${TARGET_NAME} 31 | ace_client 32 | ) 33 | 34 | target_link_libraries( 35 | ${TARGET_NAME} 36 | PRIVATE 37 | "ace_client" 38 | GTest::gtest 39 | GTest::gmock 40 | ) 41 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.a2f.v1.grpc.pb.cc: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.a2f.v1.proto 4 | 5 | #include "nvidia_ace.a2f.v1.pb.h" 6 | #include "nvidia_ace.a2f.v1.grpc.pb.h" 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | namespace nvidia_ace { 23 | namespace a2f { 24 | namespace v1 { 25 | 26 | } // namespace nvidia_ace 27 | } // namespace a2f 28 | } // namespace v1 29 | 30 | -------------------------------------------------------------------------------- /cmake/compiler_settings.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_CXX_STANDARD 17) 2 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 3 | 4 | if(MSVC) 5 | set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Zi /Od") 6 | set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /O2") 7 | if(CMAKE_BUILD_TYPE STREQUAL "debug") 8 | add_compile_definitions(DEBUG) 9 | else() 10 | add_compile_definitions(NDEBUG) 11 | endif() 12 | add_compile_options(/MP /EHsc) 13 | 14 | # Ignore warnings about missing pdb 15 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ignore:4099") 16 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /ignore:4099") 17 | set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4099") 18 | endif() 19 | 20 | # Modifies output directory for all executables 21 | set(OUTPUT_DIR ${CMAKE_BINARY_DIR}/windows-x86_64/${CMAKE_BUILD_TYPE}) 22 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIR}/bin) 23 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIR}/bin) 24 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIR}/bin) 25 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.audio.v1.grpc.pb.cc: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.audio.v1.proto 4 | 5 | #include "nvidia_ace.audio.v1.pb.h" 6 | #include "nvidia_ace.audio.v1.grpc.pb.h" 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | namespace nvidia_ace { 23 | namespace audio { 24 | namespace v1 { 25 | 26 | } // namespace nvidia_ace 27 | } // namespace audio 28 | } // namespace v1 29 | 30 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.status.v1.grpc.pb.cc: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.status.v1.proto 4 | 5 | #include "nvidia_ace.status.v1.pb.h" 6 | #include "nvidia_ace.status.v1.grpc.pb.h" 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | namespace nvidia_ace { 23 | namespace status { 24 | namespace v1 { 25 | 26 | } // namespace nvidia_ace 27 | } // namespace status 28 | } // namespace v1 29 | 30 | -------------------------------------------------------------------------------- /licenses/audiofile-LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Adam Stark 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.controller.v1.grpc.pb.cc: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.controller.v1.proto 4 | 5 | #include "nvidia_ace.controller.v1.pb.h" 6 | #include "nvidia_ace.controller.v1.grpc.pb.h" 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | namespace nvidia_ace { 23 | namespace controller { 24 | namespace v1 { 25 | 26 | } // namespace nvidia_ace 27 | } // namespace controller 28 | } // namespace v1 29 | 30 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.animation_id.v1.grpc.pb.cc: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.animation_id.v1.proto 4 | 5 | #include "nvidia_ace.animation_id.v1.pb.h" 6 | #include "nvidia_ace.animation_id.v1.grpc.pb.h" 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | namespace nvidia_ace { 23 | namespace animation_id { 24 | namespace v1 { 25 | 26 | } // namespace nvidia_ace 27 | } // namespace animation_id 28 | } // namespace v1 29 | 30 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.a2f_authoring.v1.grpc.pb.cc: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.a2f_authoring.v1.proto 4 | 5 | #include "nvidia_ace.a2f_authoring.v1.pb.h" 6 | #include "nvidia_ace.a2f_authoring.v1.grpc.pb.h" 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | namespace nvidia_ace { 23 | namespace a2f_authoring { 24 | namespace v1 { 25 | 26 | } // namespace nvidia_ace 27 | } // namespace a2f_authoring 28 | } // namespace v1 29 | 30 | -------------------------------------------------------------------------------- /test_a2x_local.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | set "BASE_DIR=%~dp0" 3 | set "OUTPUT_DIR=%BASE_DIR%_build\windows-x86_64\release" 4 | 5 | @REM Set CUDA path - use CUDA_PATH if defined, otherwise use default 6 | if defined CUDA_PATH ( 7 | set "CUDA_LIB_PATH=%CUDA_PATH%\bin" 8 | ) else ( 9 | set "CUDA_LIB_PATH=%BASE_DIR%deps\cuda\bin" 10 | ) 11 | 12 | @REM Set TensorRT path - use TENSORRT_ROOT_DIR if defined, otherwise use default 13 | if defined TENSORRT_ROOT_DIR ( 14 | set "TENSORRT_LIB_PATH=%TENSORRT_ROOT_DIR%\lib" 15 | ) else ( 16 | set "TENSORRT_LIB_PATH=%BASE_DIR%deps\tensorrt\lib" 17 | ) 18 | 19 | @REM Set A2X_SDK path - use A2X_SDK_ROOT if defined, otherwise use default 20 | if defined A2X_SDK_ROOT ( 21 | set "A2X_SDK_LIB_PATH=%A2X_SDK_ROOT%\bin" 22 | ) else ( 23 | set "A2X_SDK_LIB_PATH=%BASE_DIR%deps\audio2x-sdk\bin" 24 | ) 25 | 26 | set PATH=%CUDA_LIB_PATH%;%PATH% 27 | set PATH=%TENSORRT_LIB_PATH%;%PATH% 28 | set PATH=%A2X_SDK_LIB_PATH%;%PATH% 29 | 30 | @REM run a2x_local tests with dependencies in the path 31 | cd %BASE_DIR% 32 | call "%BASE_DIR%_build\windows-x86_64\release\bin\tests_a2x_local.exe" %* 33 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.animation_data.v1.grpc.pb.cc: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.animation_data.v1.proto 4 | 5 | #include "nvidia_ace.animation_data.v1.pb.h" 6 | #include "nvidia_ace.animation_data.v1.grpc.pb.h" 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | namespace nvidia_ace { 23 | namespace animation_data { 24 | namespace v1 { 25 | 26 | } // namespace nvidia_ace 27 | } // namespace animation_data 28 | } // namespace v1 29 | 30 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.emotion_aggregate.v1.grpc.pb.cc: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.emotion_aggregate.v1.proto 4 | 5 | #include "nvidia_ace.emotion_aggregate.v1.pb.h" 6 | #include "nvidia_ace.emotion_aggregate.v1.grpc.pb.h" 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | namespace nvidia_ace { 23 | namespace emotion_aggregate { 24 | namespace v1 { 25 | 26 | } // namespace nvidia_ace 27 | } // namespace emotion_aggregate 28 | } // namespace v1 29 | 30 | -------------------------------------------------------------------------------- /licenses/cxxopts-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Jarryd Beck 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /licenses/tbtsvd-LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 wi-re 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.emotion_with_timecode.v1.grpc.pb.cc: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.emotion_with_timecode.v1.proto 4 | 5 | #include "nvidia_ace.emotion_with_timecode.v1.pb.h" 6 | #include "nvidia_ace.emotion_with_timecode.v1.grpc.pb.h" 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | namespace nvidia_ace { 23 | namespace emotion_with_timecode { 24 | namespace v1 { 25 | 26 | } // namespace nvidia_ace 27 | } // namespace emotion_with_timecode 28 | } // namespace v1 29 | 30 | -------------------------------------------------------------------------------- /licenses/cnpy-LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) Carl Rogers, 2011 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/refl-cpp-LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Veselin Karaganev 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/magic_enum-LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 - 2023 Daniil Goncharov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /tools/packman/python.bat: -------------------------------------------------------------------------------- 1 | :: Copyright 2019-2020 NVIDIA CORPORATION 2 | :: 3 | :: Licensed under the Apache License, Version 2.0 (the "License"); 4 | :: you may not use this file except in compliance with the License. 5 | :: You may obtain a copy of the License at 6 | :: 7 | :: http://www.apache.org/licenses/LICENSE-2.0 8 | :: 9 | :: Unless required by applicable law or agreed to in writing, software 10 | :: distributed under the License is distributed on an "AS IS" BASIS, 11 | :: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | :: See the License for the specific language governing permissions and 13 | :: limitations under the License. 14 | 15 | @echo off 16 | setlocal enableextensions 17 | 18 | call "%~dp0\packman" init 19 | set "PYTHONPATH=%PM_MODULE_DIR%;%PYTHONPATH%" 20 | 21 | if not defined PYTHONNOUSERSITE ( 22 | set PYTHONNOUSERSITE=1 23 | ) 24 | 25 | REM For performance, default to unbuffered; however, allow overriding via 26 | REM PYTHONUNBUFFERED=0 since PYTHONUNBUFFERED on windows can truncate output 27 | REM when printing long strings 28 | if not defined PYTHONUNBUFFERED ( 29 | set PYTHONUNBUFFERED=1 30 | ) 31 | 32 | "%PM_PYTHON%" %* -------------------------------------------------------------------------------- /licenses/maya-ace-LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /test_maya_scripts.bat: -------------------------------------------------------------------------------- 1 | @REM Run mayapy -m unittest with required settings minimizing noise 2 | 3 | @echo off 4 | set "BASE_DIR=%~dp0" 5 | 6 | @REM Check if _venv directory exists, if not create it 7 | if not exist %BASE_DIR%_venv ( 8 | echo Creating venv at _venv with %PYTHON% 9 | %PYTHON% -m pip install virtualenv 10 | %PYTHON% -m venv %BASE_DIR%_venv --upgrade-deps 11 | if errorlevel 1 ( 12 | echo Failed to create venv at _venv 13 | exit /b 1 14 | ) 15 | ) 16 | 17 | @REM Activate the virtual environment 18 | call %BASE_DIR%_venv\Scripts\activate 19 | if errorlevel 1 ( 20 | echo Failed to activate _venv 21 | exit /b 1 22 | ) 23 | 24 | set "PYTHONPATH=%BASE_DIR%python;%PYTHONPATH%" 25 | 26 | @REM run maya_ace tests under mock server environment and required dependencies 27 | if [%1] == [] ( 28 | @REM default: run test with coverage report 29 | call python -m mock_server %BASE_DIR%env_maya.bat mayapy.exe -W ignore::DeprecationWarning "%BASE_DIR%tools\test_with_coverage.py" 30 | ) else ( 31 | @REM run test with custom arguments 32 | call python -m mock_server %BASE_DIR%env_maya.bat mayapy.exe -W ignore::DeprecationWarning -m unittest discover -v -s "%BASE_DIR%source\maya_ace\tests" %* 33 | ) 34 | -------------------------------------------------------------------------------- /licenses/pyyaml-LICENSE.txt: -------------------------------------------------------------------------------- 1 | PyYAML components are licensed under the following terms: 2 | 3 | Copyright (c) 2017-2020 Ingy döt Net 4 | Copyright (c) 2006-2016 Kirill Simonov 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | this software and associated documentation files (the "Software"), to deal in 8 | the Software without restriction, including without limitation the rights to 9 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 10 | of the Software, and to permit persons to whom the Software is furnished to do 11 | so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/a2f/v1_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | import warnings 5 | 6 | 7 | GRPC_GENERATED_VERSION = '1.64.1' 8 | GRPC_VERSION = grpc.__version__ 9 | EXPECTED_ERROR_RELEASE = '1.65.0' 10 | SCHEDULED_RELEASE_DATE = 'June 25, 2024' 11 | _version_not_supported = False 12 | 13 | try: 14 | from grpc._utilities import first_version_is_lower 15 | _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) 16 | except ImportError: 17 | _version_not_supported = True 18 | 19 | if _version_not_supported: 20 | warnings.warn( 21 | f'The grpc package installed is at version {GRPC_VERSION},' 22 | + f' but the generated code in nvidia_ace.a2f.v1_pb2_grpc.py depends on' 23 | + f' grpcio>={GRPC_GENERATED_VERSION}.' 24 | + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' 25 | + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' 26 | + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' 27 | + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', 28 | RuntimeWarning 29 | ) 30 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/audio/v1_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | import warnings 5 | 6 | 7 | GRPC_GENERATED_VERSION = '1.64.1' 8 | GRPC_VERSION = grpc.__version__ 9 | EXPECTED_ERROR_RELEASE = '1.65.0' 10 | SCHEDULED_RELEASE_DATE = 'June 25, 2024' 11 | _version_not_supported = False 12 | 13 | try: 14 | from grpc._utilities import first_version_is_lower 15 | _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) 16 | except ImportError: 17 | _version_not_supported = True 18 | 19 | if _version_not_supported: 20 | warnings.warn( 21 | f'The grpc package installed is at version {GRPC_VERSION},' 22 | + f' but the generated code in nvidia_ace.audio.v1_pb2_grpc.py depends on' 23 | + f' grpcio>={GRPC_GENERATED_VERSION}.' 24 | + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' 25 | + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' 26 | + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' 27 | + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', 28 | RuntimeWarning 29 | ) 30 | -------------------------------------------------------------------------------- /source/maya_ace/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | # SPDX-License-Identifier: MIT 3 | # 4 | # Permission is hereby granted, free of charge, to any person obtaining a copy 5 | # of this software and associated documentation files (the "Software"), to deal 6 | # in the Software without restriction, including without limitation the rights 7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | # copies of the Software, and to permit persons to whom the Software is 9 | # furnished to do so, subject to the following conditions: 10 | # 11 | # The above copyright notice and this permission notice shall be included in all 12 | # copies or substantial portions of the Software. 13 | # 14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | # SOFTWARE. 21 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/status/v1_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | import warnings 5 | 6 | 7 | GRPC_GENERATED_VERSION = '1.64.1' 8 | GRPC_VERSION = grpc.__version__ 9 | EXPECTED_ERROR_RELEASE = '1.65.0' 10 | SCHEDULED_RELEASE_DATE = 'June 25, 2024' 11 | _version_not_supported = False 12 | 13 | try: 14 | from grpc._utilities import first_version_is_lower 15 | _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) 16 | except ImportError: 17 | _version_not_supported = True 18 | 19 | if _version_not_supported: 20 | warnings.warn( 21 | f'The grpc package installed is at version {GRPC_VERSION},' 22 | + f' but the generated code in nvidia_ace.status.v1_pb2_grpc.py depends on' 23 | + f' grpcio>={GRPC_GENERATED_VERSION}.' 24 | + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' 25 | + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' 26 | + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' 27 | + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', 28 | RuntimeWarning 29 | ) 30 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/controller/v1_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | import warnings 5 | 6 | 7 | GRPC_GENERATED_VERSION = '1.64.1' 8 | GRPC_VERSION = grpc.__version__ 9 | EXPECTED_ERROR_RELEASE = '1.65.0' 10 | SCHEDULED_RELEASE_DATE = 'June 25, 2024' 11 | _version_not_supported = False 12 | 13 | try: 14 | from grpc._utilities import first_version_is_lower 15 | _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) 16 | except ImportError: 17 | _version_not_supported = True 18 | 19 | if _version_not_supported: 20 | warnings.warn( 21 | f'The grpc package installed is at version {GRPC_VERSION},' 22 | + f' but the generated code in nvidia_ace.controller.v1_pb2_grpc.py depends on' 23 | + f' grpcio>={GRPC_GENERATED_VERSION}.' 24 | + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' 25 | + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' 26 | + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' 27 | + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', 28 | RuntimeWarning 29 | ) 30 | -------------------------------------------------------------------------------- /source/maya_ace/scripts/ace_tools/__init__.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | # SPDX-License-Identifier: MIT 3 | # 4 | # Permission is hereby granted, free of charge, to any person obtaining a copy 5 | # of this software and associated documentation files (the "Software"), to deal 6 | # in the Software without restriction, including without limitation the rights 7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | # copies of the Software, and to permit persons to whom the Software is 9 | # furnished to do so, subject to the following conditions: 10 | # 11 | # The above copyright notice and this permission notice shall be included in all 12 | # copies or substantial portions of the Software. 13 | # 14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | # SOFTWARE. 21 | -------------------------------------------------------------------------------- /source/maya_ace/scripts/trtgen/__init__.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | # SPDX-License-Identifier: MIT 3 | # 4 | # Permission is hereby granted, free of charge, to any person obtaining a copy 5 | # of this software and associated documentation files (the "Software"), to deal 6 | # in the Software without restriction, including without limitation the rights 7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | # copies of the Software, and to permit persons to whom the Software is 9 | # furnished to do so, subject to the following conditions: 10 | # 11 | # The above copyright notice and this permission notice shall be included in all 12 | # copies or substantial portions of the Software. 13 | # 14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | # SOFTWARE. 21 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/animation_id/v1_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | import warnings 5 | 6 | 7 | GRPC_GENERATED_VERSION = '1.64.1' 8 | GRPC_VERSION = grpc.__version__ 9 | EXPECTED_ERROR_RELEASE = '1.65.0' 10 | SCHEDULED_RELEASE_DATE = 'June 25, 2024' 11 | _version_not_supported = False 12 | 13 | try: 14 | from grpc._utilities import first_version_is_lower 15 | _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) 16 | except ImportError: 17 | _version_not_supported = True 18 | 19 | if _version_not_supported: 20 | warnings.warn( 21 | f'The grpc package installed is at version {GRPC_VERSION},' 22 | + f' but the generated code in nvidia_ace.animation_id.v1_pb2_grpc.py depends on' 23 | + f' grpcio>={GRPC_GENERATED_VERSION}.' 24 | + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' 25 | + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' 26 | + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' 27 | + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', 28 | RuntimeWarning 29 | ) 30 | -------------------------------------------------------------------------------- /source/maya_ace/scripts/ace_tools/ui/__init__.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | # SPDX-License-Identifier: MIT 3 | # 4 | # Permission is hereby granted, free of charge, to any person obtaining a copy 5 | # of this software and associated documentation files (the "Software"), to deal 6 | # in the Software without restriction, including without limitation the rights 7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | # copies of the Software, and to permit persons to whom the Software is 9 | # furnished to do so, subject to the following conditions: 10 | # 11 | # The above copyright notice and this permission notice shall be included in all 12 | # copies or substantial portions of the Software. 13 | # 14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | # SOFTWARE. 21 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/a2f_authoring/v1_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | import warnings 5 | 6 | 7 | GRPC_GENERATED_VERSION = '1.64.1' 8 | GRPC_VERSION = grpc.__version__ 9 | EXPECTED_ERROR_RELEASE = '1.65.0' 10 | SCHEDULED_RELEASE_DATE = 'June 25, 2024' 11 | _version_not_supported = False 12 | 13 | try: 14 | from grpc._utilities import first_version_is_lower 15 | _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) 16 | except ImportError: 17 | _version_not_supported = True 18 | 19 | if _version_not_supported: 20 | warnings.warn( 21 | f'The grpc package installed is at version {GRPC_VERSION},' 22 | + f' but the generated code in nvidia_ace.a2f_authoring.v1_pb2_grpc.py depends on' 23 | + f' grpcio>={GRPC_GENERATED_VERSION}.' 24 | + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' 25 | + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' 26 | + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' 27 | + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', 28 | RuntimeWarning 29 | ) 30 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/animation_data/v1_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | import warnings 5 | 6 | 7 | GRPC_GENERATED_VERSION = '1.64.1' 8 | GRPC_VERSION = grpc.__version__ 9 | EXPECTED_ERROR_RELEASE = '1.65.0' 10 | SCHEDULED_RELEASE_DATE = 'June 25, 2024' 11 | _version_not_supported = False 12 | 13 | try: 14 | from grpc._utilities import first_version_is_lower 15 | _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) 16 | except ImportError: 17 | _version_not_supported = True 18 | 19 | if _version_not_supported: 20 | warnings.warn( 21 | f'The grpc package installed is at version {GRPC_VERSION},' 22 | + f' but the generated code in nvidia_ace.animation_data.v1_pb2_grpc.py depends on' 23 | + f' grpcio>={GRPC_GENERATED_VERSION}.' 24 | + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' 25 | + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' 26 | + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' 27 | + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', 28 | RuntimeWarning 29 | ) 30 | -------------------------------------------------------------------------------- /source/maya_ace/scripts/ace_ae_templates/__init__.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | # SPDX-License-Identifier: MIT 3 | # 4 | # Permission is hereby granted, free of charge, to any person obtaining a copy 5 | # of this software and associated documentation files (the "Software"), to deal 6 | # in the Software without restriction, including without limitation the rights 7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | # copies of the Software, and to permit persons to whom the Software is 9 | # furnished to do so, subject to the following conditions: 10 | # 11 | # The above copyright notice and this permission notice shall be included in all 12 | # copies or substantial portions of the Software. 13 | # 14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | # SOFTWARE. 21 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/emotion_aggregate/v1_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | import warnings 5 | 6 | 7 | GRPC_GENERATED_VERSION = '1.64.1' 8 | GRPC_VERSION = grpc.__version__ 9 | EXPECTED_ERROR_RELEASE = '1.65.0' 10 | SCHEDULED_RELEASE_DATE = 'June 25, 2024' 11 | _version_not_supported = False 12 | 13 | try: 14 | from grpc._utilities import first_version_is_lower 15 | _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) 16 | except ImportError: 17 | _version_not_supported = True 18 | 19 | if _version_not_supported: 20 | warnings.warn( 21 | f'The grpc package installed is at version {GRPC_VERSION},' 22 | + f' but the generated code in nvidia_ace.emotion_aggregate.v1_pb2_grpc.py depends on' 23 | + f' grpcio>={GRPC_GENERATED_VERSION}.' 24 | + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' 25 | + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' 26 | + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' 27 | + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', 28 | RuntimeWarning 29 | ) 30 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/emotion_with_timecode/v1_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | import warnings 5 | 6 | 7 | GRPC_GENERATED_VERSION = '1.64.1' 8 | GRPC_VERSION = grpc.__version__ 9 | EXPECTED_ERROR_RELEASE = '1.65.0' 10 | SCHEDULED_RELEASE_DATE = 'June 25, 2024' 11 | _version_not_supported = False 12 | 13 | try: 14 | from grpc._utilities import first_version_is_lower 15 | _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) 16 | except ImportError: 17 | _version_not_supported = True 18 | 19 | if _version_not_supported: 20 | warnings.warn( 21 | f'The grpc package installed is at version {GRPC_VERSION},' 22 | + f' but the generated code in nvidia_ace.emotion_with_timecode.v1_pb2_grpc.py depends on' 23 | + f' grpcio>={GRPC_GENERATED_VERSION}.' 24 | + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' 25 | + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' 26 | + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' 27 | + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', 28 | RuntimeWarning 29 | ) 30 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/animation_id/v1_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: nvidia_ace.animation_id.v1.proto 4 | # Protobuf Python Version: 5.26.1 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n nvidia_ace.animation_id.v1.proto\x12\x1anvidia_ace.animation_id.v1\"O\n\x0c\x41nimationIds\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x11\n\tstream_id\x18\x02 \x01(\t\x12\x18\n\x10target_object_id\x18\x03 \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nvidia_ace.animation_id.v1_pb2', _globals) 22 | if not _descriptor._USE_C_DESCRIPTORS: 23 | DESCRIPTOR._loaded_options = None 24 | _globals['_ANIMATIONIDS']._serialized_start=64 25 | _globals['_ANIMATIONIDS']._serialized_end=143 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /test_maya_plugin.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | set "BASE_DIR=%~dp0" 3 | set "OUTPUT_DIR=%BASE_DIR%_build\windows-x86_64\release" 4 | 5 | @REM Set CUDA path - use CUDA_PATH if defined, otherwise use default 6 | if defined CUDA_PATH ( 7 | set "CUDA_LIB_PATH=%CUDA_PATH%\bin" 8 | ) else ( 9 | set "CUDA_LIB_PATH=%BASE_DIR%deps\cuda\bin" 10 | ) 11 | 12 | @REM Set TensorRT path - use TENSORRT_ROOT_DIR if defined, otherwise use default 13 | if defined TENSORRT_ROOT_DIR ( 14 | set "TENSORRT_LIB_PATH=%TENSORRT_ROOT_DIR%\lib" 15 | ) else ( 16 | set "TENSORRT_LIB_PATH=%BASE_DIR%deps\tensorrt\lib" 17 | ) 18 | 19 | @REM Set A2X_SDK path - use A2X_SDK_ROOT if defined, otherwise use default 20 | if defined A2X_SDK_ROOT ( 21 | set "A2X_SDK_LIB_PATH=%A2X_SDK_ROOT%\bin" 22 | ) else ( 23 | set "A2X_SDK_LIB_PATH=%BASE_DIR%deps\audio2x-sdk\bin" 24 | ) 25 | 26 | @REM Set Maya location for runtime libraries 27 | if not defined MAYA_LOCATION ( 28 | set "MAYA_LOCATION=C:\Program Files\Autodesk\Maya2024" 29 | ) 30 | 31 | set PATH=%CUDA_LIB_PATH%;%PATH% 32 | set PATH=%TENSORRT_LIB_PATH%;%PATH% 33 | set PATH=%A2X_SDK_LIB_PATH%;%PATH% 34 | set PATH=%MAYA_LOCATION%\bin;%MAYA_LOCATION%\lib;%PATH% 35 | 36 | 37 | @REM run a2x_local tests with dependencies in the path 38 | cd %BASE_DIR% 39 | call "%BASE_DIR%_build\windows-x86_64\release\bin\tests_maya_plugin.exe" %* 40 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.a2f.v1.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.a2f.v1.proto 4 | #ifndef GRPC_nvidia_5face_2ea2f_2ev1_2eproto__INCLUDED 5 | #define GRPC_nvidia_5face_2ea2f_2ev1_2eproto__INCLUDED 6 | 7 | #include "nvidia_ace.a2f.v1.pb.h" 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | namespace nvidia_ace { 29 | namespace a2f { 30 | namespace v1 { 31 | 32 | } // namespace v1 33 | } // namespace a2f 34 | } // namespace nvidia_ace 35 | 36 | 37 | #endif // GRPC_nvidia_5face_2ea2f_2ev1_2eproto__INCLUDED 38 | -------------------------------------------------------------------------------- /examples/metahuman_batch/proto/protobuf_files/nvidia_ace.services.a2f.v1.proto: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | syntax = "proto3"; 19 | 20 | package nvidia_ace.services.a2f.v1; 21 | 22 | import "nvidia_ace.a2f.v1.proto"; 23 | import "nvidia_ace.status.v1.proto"; 24 | 25 | service A2FService { 26 | // RPC to implement to send audio data to Audio2Face Microservice 27 | // An example use for this RPC is a client pushing audio buffers to 28 | // Audio2Face Microservice (server) 29 | rpc PushAudioStream(stream nvidia_ace.a2f.v1.AudioStream) 30 | returns (nvidia_ace.status.v1.Status) {} 31 | } 32 | //nvidia_ace.services.a2f.v1 33 | //v1.0.0 -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.audio.v1.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.audio.v1.proto 4 | #ifndef GRPC_nvidia_5face_2eaudio_2ev1_2eproto__INCLUDED 5 | #define GRPC_nvidia_5face_2eaudio_2ev1_2eproto__INCLUDED 6 | 7 | #include "nvidia_ace.audio.v1.pb.h" 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | namespace nvidia_ace { 29 | namespace audio { 30 | namespace v1 { 31 | 32 | } // namespace v1 33 | } // namespace audio 34 | } // namespace nvidia_ace 35 | 36 | 37 | #endif // GRPC_nvidia_5face_2eaudio_2ev1_2eproto__INCLUDED 38 | -------------------------------------------------------------------------------- /source/ace_client/frame_receiver.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | // SPDX-License-Identifier: MIT 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | // SOFTWARE. 21 | #include "frame_receiver.h" 22 | 23 | AnimDataFrame::AnimDataFrame() {} 24 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.status.v1.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.status.v1.proto 4 | #ifndef GRPC_nvidia_5face_2estatus_2ev1_2eproto__INCLUDED 5 | #define GRPC_nvidia_5face_2estatus_2ev1_2eproto__INCLUDED 6 | 7 | #include "nvidia_ace.status.v1.pb.h" 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | namespace nvidia_ace { 29 | namespace status { 30 | namespace v1 { 31 | 32 | } // namespace v1 33 | } // namespace status 34 | } // namespace nvidia_ace 35 | 36 | 37 | #endif // GRPC_nvidia_5face_2estatus_2ev1_2eproto__INCLUDED 38 | -------------------------------------------------------------------------------- /tests/ace/utils.h: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | // SPDX-License-Identifier: MIT 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | // SOFTWARE. 21 | #pragma once 22 | 23 | #include 24 | 25 | void FillRandom(std::vector &data); 26 | -------------------------------------------------------------------------------- /examples/metahuman_batch/proto/protobuf_files/nvidia_ace.services.a2f_controller.v1.proto: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | syntax = "proto3"; 19 | 20 | package nvidia_ace.services.a2f_controller.v1; 21 | 22 | import "nvidia_ace.controller.v1.proto"; 23 | import "nvidia_ace.animation_id.v1.proto"; 24 | import "google/protobuf/empty.proto"; 25 | 26 | service A2FControllerService { 27 | // Will process a single audio clip and answer animation data 28 | // in a burst. 29 | rpc ProcessAudioStream(stream nvidia_ace.controller.v1.AudioStream) 30 | returns (stream nvidia_ace.controller.v1.AnimationDataStream) {} 31 | } 32 | //nvidia_ace.services.a2f_controller.v1 33 | //v1.0.0 -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.controller.v1.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.controller.v1.proto 4 | #ifndef GRPC_nvidia_5face_2econtroller_2ev1_2eproto__INCLUDED 5 | #define GRPC_nvidia_5face_2econtroller_2ev1_2eproto__INCLUDED 6 | 7 | #include "nvidia_ace.controller.v1.pb.h" 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | namespace nvidia_ace { 29 | namespace controller { 30 | namespace v1 { 31 | 32 | } // namespace v1 33 | } // namespace controller 34 | } // namespace nvidia_ace 35 | 36 | 37 | #endif // GRPC_nvidia_5face_2econtroller_2ev1_2eproto__INCLUDED 38 | -------------------------------------------------------------------------------- /cmake/modules/FindA2X_SDK.cmake: -------------------------------------------------------------------------------- 1 | include(FindPackageHandleStandardArgs) 2 | 3 | find_path(A2X_SDK_INCLUDE_DIRS audio2face/audio2face.h 4 | HINTS ${A2X_SDK_ROOT} 5 | PATH_SUFFIXES include) 6 | 7 | find_path(A2X_SDK_BIN_DIR audio2x.dll 8 | HINTS ${A2X_SDK_ROOT} 9 | PATH_SUFFIXES bin 10 | ) 11 | 12 | find_path(A2X_SDK_LIBRARIES audio2x.lib 13 | HINTS ${A2X_SDK_ROOT} 14 | PATH_SUFFIXES lib lib64 15 | ) 16 | 17 | find_package_handle_standard_args(A2X_SDK DEFAULT_MSG 18 | A2X_SDK_INCLUDE_DIRS 19 | A2X_SDK_BIN_DIR 20 | A2X_SDK_LIBRARIES) 21 | 22 | if(A2X_SDK_FOUND) 23 | # get A2X_SDK version (potential future use) 24 | file(READ ${A2X_SDK_ROOT}/VERSION.md A2X_SDK_VERSION_CONTENTS) 25 | string(REGEX MATCH "(([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?)" 26 | A2X_SDK_VERSION "${A2X_SDK_VERSION_CONTENTS}") 27 | 28 | # Assemble A2X_SDK version 29 | if(NOT A2X_SDK_VERSION) 30 | set(A2X_SDK_VERSION "?") 31 | endif() 32 | message(STATUS "Found A2X_SDK: v${A2X_SDK_VERSION} (include: ${A2X_SDK_INCLUDE_DIRS}, library: ${A2X_SDK_LIBRARIES}, bin: ${A2X_SDK_BIN_DIR})") 33 | 34 | mark_as_advanced(A2X_SDK_ROOT_DIR 35 | A2X_SDK_INCLUDE_DIRS 36 | A2X_SDK_LIBRARIES 37 | A2X_SDK_BIN_DIR) 38 | endif() 39 | -------------------------------------------------------------------------------- /examples/metahuman_batch/proto/protobuf_files/nvidia_ace.status.v1.proto: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | syntax = "proto3"; 19 | 20 | package nvidia_ace.status.v1; 21 | 22 | // This status message indicates the result of an operation 23 | // Refer to the rpc using it for more information 24 | message Status { 25 | enum Code { 26 | SUCCESS = 0; 27 | INFO = 1; 28 | WARNING = 2; 29 | ERROR = 3; 30 | } 31 | // Type of message returned by the service 32 | // Example value: SUCCESS 33 | Code code = 1; 34 | // Message returned by the service 35 | // Example value: "Audio processing completed successfully!" 36 | string message = 2; 37 | } 38 | //nvidia_ace.status.v1 39 | //v1.0.0 -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.animation_id.v1.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.animation_id.v1.proto 4 | #ifndef GRPC_nvidia_5face_2eanimation_5fid_2ev1_2eproto__INCLUDED 5 | #define GRPC_nvidia_5face_2eanimation_5fid_2ev1_2eproto__INCLUDED 6 | 7 | #include "nvidia_ace.animation_id.v1.pb.h" 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | namespace nvidia_ace { 29 | namespace animation_id { 30 | namespace v1 { 31 | 32 | } // namespace v1 33 | } // namespace animation_id 34 | } // namespace nvidia_ace 35 | 36 | 37 | #endif // GRPC_nvidia_5face_2eanimation_5fid_2ev1_2eproto__INCLUDED 38 | -------------------------------------------------------------------------------- /licenses/zlib-LICENSE.txt: -------------------------------------------------------------------------------- 1 | zlib.h -- interface of the 'zlib' general purpose compression library 2 | version 1.3.1, January 22nd, 2024 3 | 4 | Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler 5 | 6 | This software is provided 'as-is', without any express or implied 7 | warranty. In no event will the authors be held liable for any damages 8 | arising from the use of this software. 9 | 10 | Permission is granted to anyone to use this software for any purpose, 11 | including commercial applications, and to alter it and redistribute it 12 | freely, subject to the following restrictions: 13 | 14 | 1. The origin of this software must not be misrepresented; you must not 15 | claim that you wrote the original software. If you use this software 16 | in a product, an acknowledgment in the product documentation would be 17 | appreciated but is not required. 18 | 2. Altered source versions must be plainly marked as such, and must not be 19 | misrepresented as being the original software. 20 | 3. This notice may not be removed or altered from any source distribution. 21 | 22 | Jean-loup Gailly Mark Adler 23 | jloup@gzip.org madler@alumni.caltech.edu 24 | 25 | 26 | The data format used by the zlib library is described by RFCs (Request for 27 | Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 28 | (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format). 29 | -------------------------------------------------------------------------------- /examples/metahuman_batch/proto/files_to_compile.yaml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | # SPDX-License-Identifier: Apache-2.0 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # This dictionary contains paths in the format: 17 | # folder: 18 | # - file1 19 | # - file2 20 | files: 21 | protobuf_files: 22 | - nvidia_ace.a2f.v1.proto 23 | - nvidia_ace.animation_data.v1.proto 24 | - nvidia_ace.animation_id.v1.proto 25 | - nvidia_ace.audio.v1.proto 26 | - nvidia_ace.controller.v1.proto 27 | - nvidia_ace.emotion_aggregate.v1.proto 28 | - nvidia_ace.emotion_with_timecode.v1.proto 29 | - nvidia_ace.services.a2f_controller.v1.proto 30 | - nvidia_ace.services.a2f.v1.proto 31 | - nvidia_ace.services.animation_controller.v1.proto 32 | - nvidia_ace.animation_data.v1.proto 33 | - nvidia_ace.status.v1.proto 34 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.animation_data.v1.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.animation_data.v1.proto 4 | #ifndef GRPC_nvidia_5face_2eanimation_5fdata_2ev1_2eproto__INCLUDED 5 | #define GRPC_nvidia_5face_2eanimation_5fdata_2ev1_2eproto__INCLUDED 6 | 7 | #include "nvidia_ace.animation_data.v1.pb.h" 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | namespace nvidia_ace { 29 | namespace animation_data { 30 | namespace v1 { 31 | 32 | } // namespace v1 33 | } // namespace animation_data 34 | } // namespace nvidia_ace 35 | 36 | 37 | #endif // GRPC_nvidia_5face_2eanimation_5fdata_2ev1_2eproto__INCLUDED 38 | -------------------------------------------------------------------------------- /tools/packman/python.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright 2019-2020 NVIDIA CORPORATION 4 | 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | set -e 18 | 19 | PACKMAN_CMD="$(dirname "${BASH_SOURCE}")/packman" 20 | if [ ! -f "$PACKMAN_CMD" ]; then 21 | PACKMAN_CMD="${PACKMAN_CMD}.sh" 22 | fi 23 | source "$PACKMAN_CMD" init 24 | export PYTHONPATH="${PM_MODULE_DIR}:${PYTHONPATH}" 25 | 26 | if [ -z "${PYTHONNOUSERSITE:-}" ]; then 27 | export PYTHONNOUSERSITE=1 28 | fi 29 | 30 | # For performance, default to unbuffered; however, allow overriding via 31 | # PYTHONUNBUFFERED=0 since PYTHONUNBUFFERED on windows can truncate output 32 | # when printing long strings 33 | if [ -z "${PYTHONUNBUFFERED:-}" ]; then 34 | export PYTHONUNBUFFERED=1 35 | fi 36 | 37 | # workaround for our python not shipping with certs 38 | if [[ -z ${SSL_CERT_DIR:-} ]]; then 39 | export SSL_CERT_DIR=/etc/ssl/certs/ 40 | fi 41 | 42 | "${PM_PYTHON}" "$@" 43 | -------------------------------------------------------------------------------- /examples/metahuman_batch/proto/protobuf_files/nvidia_ace.audio.v1.proto: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | syntax = "proto3"; 19 | 20 | package nvidia_ace.audio.v1; 21 | 22 | message AudioHeader { 23 | enum AudioFormat { AUDIO_FORMAT_PCM = 0; } 24 | 25 | // Example value: AUDIO_FORMAT_PCM 26 | AudioFormat audio_format = 1; 27 | 28 | // Currently only mono sound must be supported. 29 | // Example value: 1 30 | uint32 channel_count = 2; 31 | 32 | // Defines the sample rate of the provided audio data 33 | // Example value: 16000 34 | uint32 samples_per_second = 3; 35 | 36 | // Currently only 16 bits per sample must be supported. 37 | // Example value: 16 38 | uint32 bits_per_sample = 4; 39 | } 40 | //nvidia_ace.audio.v1 41 | //v1.0.0 -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.emotion_aggregate.v1.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.emotion_aggregate.v1.proto 4 | #ifndef GRPC_nvidia_5face_2eemotion_5faggregate_2ev1_2eproto__INCLUDED 5 | #define GRPC_nvidia_5face_2eemotion_5faggregate_2ev1_2eproto__INCLUDED 6 | 7 | #include "nvidia_ace.emotion_aggregate.v1.pb.h" 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | namespace nvidia_ace { 29 | namespace emotion_aggregate { 30 | namespace v1 { 31 | 32 | } // namespace v1 33 | } // namespace emotion_aggregate 34 | } // namespace nvidia_ace 35 | 36 | 37 | #endif // GRPC_nvidia_5face_2eemotion_5faggregate_2ev1_2eproto__INCLUDED 38 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/status/v1_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: nvidia_ace.status.v1.proto 4 | # Protobuf Python Version: 5.26.1 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1anvidia_ace.status.v1.proto\x12\x14nvidia_ace.status.v1\"\x81\x01\n\x06Status\x12/\n\x04\x63ode\x18\x01 \x01(\x0e\x32!.nvidia_ace.status.v1.Status.Code\x12\x0f\n\x07message\x18\x02 \x01(\t\"5\n\x04\x43ode\x12\x0b\n\x07SUCCESS\x10\x00\x12\x08\n\x04INFO\x10\x01\x12\x0b\n\x07WARNING\x10\x02\x12\t\n\x05\x45RROR\x10\x03\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nvidia_ace.status.v1_pb2', _globals) 22 | if not _descriptor._USE_C_DESCRIPTORS: 23 | DESCRIPTOR._loaded_options = None 24 | _globals['_STATUS']._serialized_start=53 25 | _globals['_STATUS']._serialized_end=182 26 | _globals['_STATUS_CODE']._serialized_start=129 27 | _globals['_STATUS_CODE']._serialized_end=182 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.emotion_with_timecode.v1.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.emotion_with_timecode.v1.proto 4 | #ifndef GRPC_nvidia_5face_2eemotion_5fwith_5ftimecode_2ev1_2eproto__INCLUDED 5 | #define GRPC_nvidia_5face_2eemotion_5fwith_5ftimecode_2ev1_2eproto__INCLUDED 6 | 7 | #include "nvidia_ace.emotion_with_timecode.v1.pb.h" 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | namespace nvidia_ace { 29 | namespace emotion_with_timecode { 30 | namespace v1 { 31 | 32 | } // namespace v1 33 | } // namespace emotion_with_timecode 34 | } // namespace nvidia_ace 35 | 36 | 37 | #endif // GRPC_nvidia_5face_2eemotion_5fwith_5ftimecode_2ev1_2eproto__INCLUDED 38 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/services/a2f/v1_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: nvidia_ace.services.a2f.v1.proto 4 | # Protobuf Python Version: 5.26.1 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | from nvidia_ace.a2f import v1_pb2 as nvidia__ace_dot_a2f_dot_v1__pb2 16 | from nvidia_ace.status import v1_pb2 as nvidia__ace_dot_status_dot_v1__pb2 17 | 18 | 19 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n nvidia_ace.services.a2f.v1.proto\x12\x1anvidia_ace.services.a2f.v1\x1a\x17nvidia_ace.a2f.v1.proto\x1a\x1anvidia_ace.status.v1.proto2a\n\nA2FService\x12S\n\x0fPushAudioStream\x12\x1e.nvidia_ace.a2f.v1.AudioStream\x1a\x1c.nvidia_ace.status.v1.Status\"\x00(\x01\x62\x06proto3') 20 | 21 | _globals = globals() 22 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 23 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nvidia_ace.services.a2f.v1_pb2', _globals) 24 | if not _descriptor._USE_C_DESCRIPTORS: 25 | DESCRIPTOR._loaded_options = None 26 | _globals['_A2FSERVICE']._serialized_start=117 27 | _globals['_A2FSERVICE']._serialized_end=214 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/version_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: version.proto 4 | 5 | #ifndef GRPC_MOCK_version_2eproto__INCLUDED 6 | #define GRPC_MOCK_version_2eproto__INCLUDED 7 | 8 | #include "version.pb.h" 9 | #include "version.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace services { 16 | namespace version { 17 | namespace v1 { 18 | 19 | class MockVersionInformationServiceStub : public VersionInformationService::StubInterface { 20 | public: 21 | MOCK_METHOD3(GetVersionInformation, ::grpc::Status(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::nvidia_ace::services::version::v1::VersionInformation* response)); 22 | MOCK_METHOD3(AsyncGetVersionInformationRaw, ::grpc::ClientAsyncResponseReaderInterface< ::nvidia_ace::services::version::v1::VersionInformation>*(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq)); 23 | MOCK_METHOD3(PrepareAsyncGetVersionInformationRaw, ::grpc::ClientAsyncResponseReaderInterface< ::nvidia_ace::services::version::v1::VersionInformation>*(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq)); 24 | }; 25 | 26 | } // namespace v1 27 | } // namespace version 28 | } // namespace services 29 | } // namespace nvidia_ace 30 | 31 | 32 | #endif // GRPC_MOCK_version_2eproto__INCLUDED 33 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.a2f_authoring.v1.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.a2f_authoring.v1.proto 4 | // Original file comments: 5 | // Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 6 | // 7 | #ifndef GRPC_nvidia_5face_2ea2f_5fauthoring_2ev1_2eproto__INCLUDED 8 | #define GRPC_nvidia_5face_2ea2f_5fauthoring_2ev1_2eproto__INCLUDED 9 | 10 | #include "nvidia_ace.a2f_authoring.v1.pb.h" 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | 31 | namespace nvidia_ace { 32 | namespace a2f_authoring { 33 | namespace v1 { 34 | 35 | } // namespace v1 36 | } // namespace a2f_authoring 37 | } // namespace nvidia_ace 38 | 39 | 40 | #endif // GRPC_nvidia_5face_2ea2f_5fauthoring_2ev1_2eproto__INCLUDED 41 | -------------------------------------------------------------------------------- /tests/a2x/main.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | // SPDX-License-Identifier: MIT 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | // SOFTWARE. 21 | #include 22 | #include 23 | 24 | #include 25 | 26 | int main(int argc, char *argv[]) { 27 | srand((unsigned int)time(NULL)); 28 | 29 | ::testing::InitGoogleTest(&argc, argv); 30 | int ret = RUN_ALL_TESTS(); 31 | return ret; 32 | } 33 | -------------------------------------------------------------------------------- /tools/packman/bootstrap/fetch_file_from_packman_bootstrap.cmd: -------------------------------------------------------------------------------- 1 | :: Copyright 2019 NVIDIA CORPORATION 2 | :: 3 | :: Licensed under the Apache License, Version 2.0 (the "License"); 4 | :: you may not use this file except in compliance with the License. 5 | :: You may obtain a copy of the License at 6 | :: 7 | :: http://www.apache.org/licenses/LICENSE-2.0 8 | :: 9 | :: Unless required by applicable law or agreed to in writing, software 10 | :: distributed under the License is distributed on an "AS IS" BASIS, 11 | :: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | :: See the License for the specific language governing permissions and 13 | :: limitations under the License. 14 | 15 | :: You need to specify as input to this command 16 | @setlocal 17 | @set PACKAGE_NAME=%1 18 | @set TARGET_PATH=%2 19 | 20 | @echo Fetching %PACKAGE_NAME% ... 21 | 22 | @powershell -ExecutionPolicy ByPass -NoLogo -NoProfile -File "%~dp0download_file_from_url.ps1" ^ 23 | -source "https://bootstrap.packman.nvidia.com/%PACKAGE_NAME%" -output %TARGET_PATH% 24 | :: A bug in powershell prevents the errorlevel code from being set when using the -File execution option 25 | :: We must therefore do our own failure analysis, basically make sure the file exists: 26 | @if not exist %TARGET_PATH% goto ERROR_DOWNLOAD_FAILED 27 | 28 | @endlocal 29 | @exit /b 0 30 | 31 | :ERROR_DOWNLOAD_FAILED 32 | @echo Failed to download file from S3 33 | @echo Most likely because endpoint cannot be reached or file %PACKAGE_NAME% doesn't exist 34 | @endlocal 35 | @exit /b 1 -------------------------------------------------------------------------------- /source/maya_ace/scripts/trtgen/__main__.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | # SPDX-License-Identifier: MIT 3 | # 4 | # Permission is hereby granted, free of charge, to any person obtaining a copy 5 | # of this software and associated documentation files (the "Software"), to deal 6 | # in the Software without restriction, including without limitation the rights 7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | # copies of the Software, and to permit persons to whom the Software is 9 | # furnished to do so, subject to the following conditions: 10 | # 11 | # The above copyright notice and this permission notice shall be included in all 12 | # copies or substantial portions of the Software. 13 | # 14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | # SOFTWARE. 21 | 22 | """Main entry point for trtgen package when executed as a module.""" 23 | 24 | import sys 25 | 26 | if len(sys.argv) > 1 and sys.argv[1] == "ui": 27 | from .builder_ui import main 28 | 29 | main() 30 | else: 31 | from .builder import main 32 | 33 | main() 34 | -------------------------------------------------------------------------------- /download_models.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | set "BASE_DIR=%~dp0" 4 | 5 | @REM Activate the virtual environment 6 | if "%PYTHON%"=="" SET "PYTHON=python.exe" 7 | 8 | @REM Check if _venv directory exists, if not create it 9 | if not exist "%BASE_DIR%_venv" ( 10 | echo Creating venv at _venv with %PYTHON% 11 | %PYTHON% -m pip install virtualenv 12 | %PYTHON% -m venv "%BASE_DIR%_venv" --upgrade-deps 13 | if errorlevel 1 ( 14 | echo Failed to create venv at _venv 15 | exit /b 1 16 | ) 17 | ) 18 | call "%BASE_DIR%_venv\Scripts\activate" 19 | if errorlevel 1 ( 20 | echo Failed to activate _venv 21 | exit /b 1 22 | ) 23 | call python -m pip install -r "%BASE_DIR%deps\requirements.txt" -q --disable-pip-version-check 24 | 25 | 26 | @REM Download A2F models 27 | if exist "%BASE_DIR%sample_project\models" ( 28 | set MODEL_DIR="%BASE_DIR%sample_project\models" 29 | ) else ( 30 | set MODEL_DIR="%BASE_DIR%models" 31 | ) 32 | 33 | hf download nvidia/Audio2Face-3D-v3.0 --local-dir %MODEL_DIR%/audio2face-models/audio2face-3d-v3.0 34 | hf download nvidia/Audio2Face-3D-v2.3.1-Claire --local-dir %MODEL_DIR%/audio2face-models/audio2face-3d-v2.3.1-claire 35 | hf download nvidia/Audio2Face-3D-v2.3.1-James --local-dir %MODEL_DIR%/audio2face-models/audio2face-3d-v2.3.1-james 36 | hf download nvidia/Audio2Face-3D-v2.3-Mark --local-dir %MODEL_DIR%/audio2face-models/audio2face-3d-v2.3-mark 37 | 38 | @REM Download A2E models 39 | hf download nvidia/Audio2Emotion-v2.2 --local-dir %MODEL_DIR%/audio2emotion-models/audio2emotion-v2.2 40 | 41 | call deactivate 42 | -------------------------------------------------------------------------------- /licenses/gtest-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2008, Google Inc. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /source/ace_client/utility.h: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | // SPDX-License-Identifier: MIT 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | // SOFTWARE. 21 | #pragma once 22 | 23 | #include 24 | #include 25 | 26 | namespace mace 27 | { 28 | 29 | std::string ResolveValue(std::string &key_or_value); 30 | 31 | std::string SanitizeString(std::string &str); 32 | 33 | bool IsSlashOrWhitespace(char ch); 34 | 35 | } // namespace mace 36 | -------------------------------------------------------------------------------- /tests/ace/utils.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | // SPDX-License-Identifier: MIT 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | // SOFTWARE. 21 | #include "utils.h" 22 | 23 | #include 24 | #include 25 | 26 | void FillRandom(std::vector &data) { 27 | for (unsigned int t = 0; t < data.size(); ++t) { 28 | data[t] = 29 | static_cast(std::rand()) / static_cast(RAND_MAX) - 0.5f; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /licenses/GoogleTest-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2008, Google Inc. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/audio/v1_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: nvidia_ace.audio.v1.proto 4 | # Protobuf Python Version: 5.26.1 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19nvidia_ace.audio.v1.proto\x12\x13nvidia_ace.audio.v1\"\xc2\x01\n\x0b\x41udioHeader\x12\x42\n\x0c\x61udio_format\x18\x01 \x01(\x0e\x32,.nvidia_ace.audio.v1.AudioHeader.AudioFormat\x12\x15\n\rchannel_count\x18\x02 \x01(\r\x12\x1a\n\x12samples_per_second\x18\x03 \x01(\r\x12\x17\n\x0f\x62its_per_sample\x18\x04 \x01(\r\"#\n\x0b\x41udioFormat\x12\x14\n\x10\x41UDIO_FORMAT_PCM\x10\x00\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nvidia_ace.audio.v1_pb2', _globals) 22 | if not _descriptor._USE_C_DESCRIPTORS: 23 | DESCRIPTOR._loaded_options = None 24 | _globals['_AUDIOHEADER']._serialized_start=51 25 | _globals['_AUDIOHEADER']._serialized_end=245 26 | _globals['_AUDIOHEADER_AUDIOFORMAT']._serialized_start=210 27 | _globals['_AUDIOHEADER_AUDIOFORMAT']._serialized_end=245 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.services.a2f.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.services.a2f.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2eservices_2ea2f_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2eservices_2ea2f_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.services.a2f.v1.pb.h" 9 | #include "nvidia_ace.services.a2f.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace services { 16 | namespace a2f { 17 | namespace v1 { 18 | 19 | class MockA2FServiceStub : public A2FService::StubInterface { 20 | public: 21 | MOCK_METHOD2(PushAudioStreamRaw, ::grpc::ClientWriterInterface< ::nvidia_ace::a2f::v1::AudioStream>*(::grpc::ClientContext* context, ::nvidia_ace::status::v1::Status* response)); 22 | MOCK_METHOD4(AsyncPushAudioStreamRaw, ::grpc::ClientAsyncWriterInterface< ::nvidia_ace::a2f::v1::AudioStream>*(::grpc::ClientContext* context, ::nvidia_ace::status::v1::Status* response, ::grpc::CompletionQueue* cq, void* tag)); 23 | MOCK_METHOD3(PrepareAsyncPushAudioStreamRaw, ::grpc::ClientAsyncWriterInterface< ::nvidia_ace::a2f::v1::AudioStream>*(::grpc::ClientContext* context, ::nvidia_ace::status::v1::Status* response, ::grpc::CompletionQueue* cq)); 24 | }; 25 | 26 | } // namespace v1 27 | } // namespace a2f 28 | } // namespace services 29 | } // namespace nvidia_ace 30 | 31 | 32 | #endif // GRPC_MOCK_nvidia_5face_2eservices_2ea2f_2ev1_2eproto__INCLUDED 33 | -------------------------------------------------------------------------------- /source/maya_ace/common/names.h: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | // SPDX-License-Identifier: MIT 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | // SOFTWARE. 21 | #pragma once 22 | 23 | 24 | constexpr size_t BLENDSHAPE_COUNT = 52; 25 | constexpr size_t TONGUE_POSE_COUNT = 16; 26 | constexpr size_t EMOTION_COUNT = 10; 27 | 28 | const char* ARKIT_FACE_EXPRESSIONS[]; 29 | const char* ARKIT_HEAD_ROTATION[]; 30 | const char* A2F_TONGUE_POSES[]; 31 | const char* A2F_EMOTION_NAMES[]; 32 | -------------------------------------------------------------------------------- /licenses/eigen-LICENSE.BSD: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2011, Intel Corporation. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | * Neither the name of Intel Corporation nor the names of its contributors may 13 | be used to endorse or promote products derived from this software without 14 | specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 23 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | -------------------------------------------------------------------------------- /tools/packman/bootstrap/download_file_from_url.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | Copyright 2019 NVIDIA CORPORATION 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | #> 16 | 17 | param( 18 | [Parameter(Mandatory=$true)][string]$source=$null, 19 | [string]$output="out.exe" 20 | ) 21 | $filename = $output 22 | 23 | $triesLeft = 4 24 | $delay = 2 25 | do 26 | { 27 | $triesLeft -= 1 28 | 29 | try 30 | { 31 | Write-Host "Downloading from bootstrap.packman.nvidia.com ..." 32 | $wc = New-Object net.webclient 33 | $wc.Downloadfile($source, $fileName) 34 | exit 0 35 | } 36 | catch 37 | { 38 | Write-Host "Error downloading $source!" 39 | Write-Host $_.Exception|format-list -force 40 | if ($triesLeft) 41 | { 42 | Write-Host "Retrying in $delay seconds ..." 43 | Start-Sleep -seconds $delay 44 | } 45 | $delay = $delay * $delay 46 | } 47 | } while ($triesLeft -gt 0) 48 | # We only get here if the retries have been exhausted, remove any left-overs: 49 | if (Test-Path $fileName) 50 | { 51 | Remove-Item $fileName 52 | } 53 | exit 1 -------------------------------------------------------------------------------- /licenses/re2-LICENSE.txt: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009 The RE2 Authors. All rights reserved. 2 | // 3 | // Redistribution and use in source and binary forms, with or without 4 | // modification, are permitted provided that the following conditions are 5 | // met: 6 | // 7 | // * Redistributions of source code must retain the above copyright 8 | // notice, this list of conditions and the following disclaimer. 9 | // * Redistributions in binary form must reproduce the above 10 | // copyright notice, this list of conditions and the following disclaimer 11 | // in the documentation and/or other materials provided with the 12 | // distribution. 13 | // * Neither the name of Google Inc. nor the names of its 14 | // contributors may be used to endorse or promote products derived from 15 | // this software without specific prior written permission. 16 | // 17 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/services/a2f_authoring/v1_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: nvidia_ace.services.a2f_authoring.v1.proto 4 | # Protobuf Python Version: 5.26.1 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | from nvidia_ace.a2f_authoring import v1_pb2 as nvidia__ace_dot_a2f__authoring_dot_v1__pb2 16 | 17 | 18 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*nvidia_ace.services.a2f_authoring.v1.proto\x12$nvidia_ace.services.a2f_authoring.v1\x1a!nvidia_ace.a2f_authoring.v1.proto2\xf2\x01\n\x13\x41\x32\x46\x41uthoringService\x12i\n\x0fUploadAudioClip\x12&.nvidia_ace.a2f_authoring.v1.AudioClip\x1a,.nvidia_ace.a2f_authoring.v1.AudioClipHandle\"\x00\x12p\n\x11GetAvatarFacePose\x12,.nvidia_ace.a2f_authoring.v1.FacePoseRequest\x1a+.nvidia_ace.a2f_authoring.v1.BlendShapeData\"\x00\x62\x06proto3') 19 | 20 | _globals = globals() 21 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 22 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nvidia_ace.services.a2f_authoring.v1_pb2', _globals) 23 | if not _descriptor._USE_C_DESCRIPTORS: 24 | DESCRIPTOR._loaded_options = None 25 | _globals['_A2FAUTHORINGSERVICE']._serialized_start=120 26 | _globals['_A2FAUTHORINGSERVICE']._serialized_end=362 27 | # @@protoc_insertion_point(module_scope) 28 | -------------------------------------------------------------------------------- /sample_project/workspace.mel: -------------------------------------------------------------------------------- 1 | //Maya 2024 Project Definition 2 | 3 | workspace -fr "fluidCache" "cache/nCache/fluid"; 4 | workspace -fr "images" "images"; 5 | workspace -fr "offlineEdit" "scenes/edits"; 6 | workspace -fr "furShadowMap" "renderData/fur/furShadowMap"; 7 | workspace -fr "iprImages" "renderData/iprImages"; 8 | workspace -fr "renderData" "renderData"; 9 | workspace -fr "scripts" "scripts"; 10 | workspace -fr "fileCache" "cache/nCache"; 11 | workspace -fr "eps" "data"; 12 | workspace -fr "shaders" "renderData/shaders"; 13 | workspace -fr "3dPaintTextures" "sourceimages/3dPaintTextures"; 14 | workspace -fr "translatorData" "data"; 15 | workspace -fr "mel" "scripts"; 16 | workspace -fr "furFiles" "renderData/fur/furFiles"; 17 | workspace -fr "OBJ" "data"; 18 | workspace -fr "particles" "cache/particles"; 19 | workspace -fr "scene" "scenes"; 20 | workspace -fr "mayaLT" ""; 21 | workspace -fr "furEqualMap" "renderData/fur/furEqualMap"; 22 | workspace -fr "sourceImages" "sourceimages"; 23 | workspace -fr "furImages" "renderData/fur/furImages"; 24 | workspace -fr "clips" "clips"; 25 | workspace -fr "depth" "renderData/depth"; 26 | workspace -fr "sceneAssembly" "sceneAssembly"; 27 | workspace -fr "teClipExports" "Time Editor/Clip Exports"; 28 | workspace -fr "movie" "movies"; 29 | workspace -fr "audio" "sound"; 30 | workspace -fr "autoSave" "autosave"; 31 | workspace -fr "mayaAscii" "scenes"; 32 | workspace -fr "move" "data"; 33 | workspace -fr "sound" "sound"; 34 | workspace -fr "diskCache" "data"; 35 | workspace -fr "illustrator" "data"; 36 | workspace -fr "mayaBinary" "scenes"; 37 | workspace -fr "templates" "assets"; 38 | workspace -fr "furAttrMap" "renderData/fur/furAttrMap"; 39 | workspace -fr "timeEditor" "Time Editor"; 40 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/emotion_aggregate/v1_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: nvidia_ace.emotion_aggregate.v1.proto 4 | # Protobuf Python Version: 5.26.1 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | from nvidia_ace.emotion_with_timecode import v1_pb2 as nvidia__ace_dot_emotion__with__timecode_dot_v1__pb2 16 | 17 | 18 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%nvidia_ace.emotion_aggregate.v1.proto\x12\x1fnvidia_ace.emotion_aggregate.v1\x1a)nvidia_ace.emotion_with_timecode.v1.proto\"\x89\x02\n\x10\x45motionAggregate\x12P\n\x0einput_emotions\x18\x01 \x03(\x0b\x32\x38.nvidia_ace.emotion_with_timecode.v1.EmotionWithTimeCode\x12L\n\na2e_output\x18\x02 \x03(\x0b\x32\x38.nvidia_ace.emotion_with_timecode.v1.EmotionWithTimeCode\x12U\n\x13\x61\x32\x66_smoothed_output\x18\x03 \x03(\x0b\x32\x38.nvidia_ace.emotion_with_timecode.v1.EmotionWithTimeCodeb\x06proto3') 19 | 20 | _globals = globals() 21 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 22 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nvidia_ace.emotion_aggregate.v1_pb2', _globals) 23 | if not _descriptor._USE_C_DESCRIPTORS: 24 | DESCRIPTOR._loaded_options = None 25 | _globals['_EMOTIONAGGREGATE']._serialized_start=118 26 | _globals['_EMOTIONAGGREGATE']._serialized_end=383 27 | # @@protoc_insertion_point(module_scope) 28 | -------------------------------------------------------------------------------- /source/ace_client/status.h: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | // SPDX-License-Identifier: MIT 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | // SOFTWARE. 21 | #pragma once 22 | 23 | #include 24 | 25 | typedef enum AceClientStatus { 26 | OK = 0, 27 | OK_NO_MORE_FRAMES, 28 | ERROR_UNKNOWN, 29 | ERROR_CONNECTION, 30 | ERROR_SSL_HANDSHAKE, 31 | ERROR_UNAUTHENTICATED, 32 | ERROR_CREDITS_EXPIRED, 33 | ERROR_DNS_RESOLUTION, 34 | ERROR_INVALID_INPUT, 35 | ERROR_UNEXPECTED_OUTPUT, 36 | } AceClientStatus; 37 | 38 | struct AceClientResult { 39 | AceClientStatus status; 40 | std::string message; 41 | }; 42 | -------------------------------------------------------------------------------- /source/mace.mod.in: -------------------------------------------------------------------------------- 1 | + MAYAVERSION:2024 PLATFORM:win64 mace @MACE_VERSION@ ./mace 2 | PATH +:= bin 3 | PATH +:= cuda 4 | PATH +:= tensorrt 5 | PATH +:= a2x 6 | PYTHONPATH +:= python 7 | TRTEXEC_PATH := tensorrt/trtexec.exe 8 | MAYA_PLUG_IN_PATH +:= plug-ins/2024 9 | A2F_MODEL_DIRS +:= models/audio2face-models 10 | A2E_MODEL_DIRS +:= models/audio2emotion-models 11 | 12 | + MAYAVERSION:2025 PLATFORM:win64 mace @MACE_VERSION@ ./mace 13 | PATH +:= bin 14 | PATH +:= cuda 15 | PATH +:= tensorrt 16 | PATH +:= a2x 17 | PYTHONPATH +:= python 18 | TRTEXEC_PATH := tensorrt/trtexec.exe 19 | MAYA_PLUG_IN_PATH +:= plug-ins/2025 20 | A2F_MODEL_DIRS +:= models/audio2face-models 21 | A2E_MODEL_DIRS +:= models/audio2emotion-models 22 | 23 | + MAYAVERSION:2023 PLATFORM:win64 mace @MACE_VERSION@ ./mace 24 | PATH +:= bin 25 | PATH +:= cuda 26 | PATH +:= tensorrt 27 | PATH +:= a2x 28 | PYTHONPATH +:= python 29 | TRTEXEC_PATH := tensorrt/trtexec.exe 30 | MAYA_PLUG_IN_PATH +:= plug-ins/2023 31 | A2F_MODEL_DIRS +:= models/audio2face-models 32 | A2E_MODEL_DIRS +:= models/audio2emotion-models 33 | 34 | + MAYAVERSION:2022 PLATFORM:win64 mace @MACE_VERSION@ ./mace 35 | PATH +:= bin 36 | PATH +:= cuda 37 | PATH +:= tensorrt 38 | PATH +:= a2x 39 | PYTHONPATH +:= python 40 | TRTEXEC_PATH := tensorrt/trtexec.exe 41 | MAYA_PLUG_IN_PATH +:= plug-ins/2022 42 | A2F_MODEL_DIRS +:= models/audio2face-models 43 | A2E_MODEL_DIRS +:= models/audio2emotion-models 44 | 45 | + MAYAVERSION:2026 PLATFORM:win64 mace @MACE_VERSION@ ./mace 46 | PATH +:= bin 47 | PATH +:= cuda 48 | PATH +:= tensorrt 49 | PATH +:= a2x 50 | PYTHONPATH +:= python 51 | TRTEXEC_PATH := tensorrt/trtexec.exe 52 | MAYA_PLUG_IN_PATH +:= plug-ins/2026 53 | A2F_MODEL_DIRS +:= models/audio2face-models 54 | A2E_MODEL_DIRS +:= models/audio2emotion-models 55 | 56 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | ## Security 2 | 3 | NVIDIA is dedicated to the security and trust of our software products and services, including all source code repositories managed through our organization. 4 | 5 | If you need to report a security issue, please use the appropriate contact points outlined below. **Please do not report security vulnerabilities through GitHub.** 6 | 7 | ## Reporting Potential Security Vulnerability in an NVIDIA Product 8 | 9 | To report a potential security vulnerability in any NVIDIA product: 10 | - Web: [Security Vulnerability Submission Form](https://www.nvidia.com/object/submit-security-vulnerability.html) 11 | - E-Mail: psirt@nvidia.com 12 | - We encourage you to use the following PGP key for secure email communication: [NVIDIA public PGP Key for communication](https://www.nvidia.com/en-us/security/pgp-key) 13 | - Please include the following information: 14 | - Product/Driver name and version/branch that contains the vulnerability 15 | - Type of vulnerability (code execution, denial of service, buffer overflow, etc.) 16 | - Instructions to reproduce the vulnerability 17 | - Proof-of-concept or exploit code 18 | - Potential impact of the vulnerability, including how an attacker could exploit the vulnerability 19 | 20 | While NVIDIA currently does not have a bug bounty program, we do offer acknowledgement when an externally reported security issue is addressed under our coordinated vulnerability disclosure policy. Please visit our [Product Security Incident Response Team (PSIRT)](https://www.nvidia.com/en-us/security/psirt-policies/) policies page for more information. 21 | 22 | ## NVIDIA Product Security 23 | 24 | For all security-related concerns, please visit NVIDIA's Product Security portal at https://www.nvidia.com/en-us/security 25 | -------------------------------------------------------------------------------- /source/ace_client/frame_receiver.h: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | // SPDX-License-Identifier: MIT 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | // SOFTWARE. 21 | #pragma once 22 | 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | 29 | struct AnimDataFrame { 30 | public: 31 | AnimDataFrame(); 32 | 33 | std::vector blend_shape_names; 34 | std::vector blend_shape_weights; 35 | std::vector emotion_state_names; 36 | std::vector emotion_state; 37 | std::vector audio_samples; 38 | double timestamp; 39 | }; 40 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.services.a2f_controller.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.services.a2f_controller.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2eservices_2ea2f_5fcontroller_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2eservices_2ea2f_5fcontroller_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.services.a2f_controller.v1.pb.h" 9 | #include "nvidia_ace.services.a2f_controller.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace services { 16 | namespace a2f_controller { 17 | namespace v1 { 18 | 19 | class MockA2FControllerServiceStub : public A2FControllerService::StubInterface { 20 | public: 21 | MOCK_METHOD1(ProcessAudioStreamRaw, ::grpc::ClientReaderWriterInterface< ::nvidia_ace::controller::v1::AudioStream, ::nvidia_ace::controller::v1::AnimationDataStream>*(::grpc::ClientContext* context)); 22 | MOCK_METHOD3(AsyncProcessAudioStreamRaw, ::grpc::ClientAsyncReaderWriterInterface<::nvidia_ace::controller::v1::AudioStream, ::nvidia_ace::controller::v1::AnimationDataStream>*(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag)); 23 | MOCK_METHOD2(PrepareAsyncProcessAudioStreamRaw, ::grpc::ClientAsyncReaderWriterInterface<::nvidia_ace::controller::v1::AudioStream, ::nvidia_ace::controller::v1::AnimationDataStream>*(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq)); 24 | }; 25 | 26 | } // namespace v1 27 | } // namespace a2f_controller 28 | } // namespace services 29 | } // namespace nvidia_ace 30 | 31 | 32 | #endif // GRPC_MOCK_nvidia_5face_2eservices_2ea2f_5fcontroller_2ev1_2eproto__INCLUDED 33 | -------------------------------------------------------------------------------- /source/ace_client/a2f_healthcheck_client.h: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | // SPDX-License-Identifier: MIT 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | // SOFTWARE. 21 | 22 | #pragma once 23 | 24 | #include "a2f_client_interface.h" 25 | #include "ace_grpc_cpp/health.grpc.pb.h" 26 | 27 | using grpc::health::v1::Health; 28 | 29 | namespace mace { 30 | 31 | AceClientResult A2FHealthCheck( 32 | std::shared_ptr channel, std::string api_key, std::string function_id); 33 | AceClientResult A2FHealthCheck( 34 | std::shared_ptr stub, std::string api_key, std::string function_id); 35 | 36 | } // namespace mace 37 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/services/a2f_controller/v1_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: nvidia_ace.services.a2f_controller.v1.proto 4 | # Protobuf Python Version: 5.26.1 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | from nvidia_ace.controller import v1_pb2 as nvidia__ace_dot_controller_dot_v1__pb2 16 | from nvidia_ace.animation_id import v1_pb2 as nvidia__ace_dot_animation__id_dot_v1__pb2 17 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 18 | 19 | 20 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+nvidia_ace.services.a2f_controller.v1.proto\x12%nvidia_ace.services.a2f_controller.v1\x1a\x1envidia_ace.controller.v1.proto\x1a nvidia_ace.animation_id.v1.proto\x1a\x1bgoogle/protobuf/empty.proto2\x88\x01\n\x14\x41\x32\x46\x43ontrollerService\x12p\n\x12ProcessAudioStream\x12%.nvidia_ace.controller.v1.AudioStream\x1a-.nvidia_ace.controller.v1.AnimationDataStream\"\x00(\x01\x30\x01\x62\x06proto3') 21 | 22 | _globals = globals() 23 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 24 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nvidia_ace.services.a2f_controller.v1_pb2', _globals) 25 | if not _descriptor._USE_C_DESCRIPTORS: 26 | DESCRIPTOR._loaded_options = None 27 | _globals['_A2FCONTROLLERSERVICE']._serialized_start=182 28 | _globals['_A2FCONTROLLERSERVICE']._serialized_end=318 29 | # @@protoc_insertion_point(module_scope) 30 | -------------------------------------------------------------------------------- /tests/maya/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(TARGET_NAME tests_maya_plugin) 2 | 3 | file(GLOB SRC "*.cpp") 4 | 5 | # Check if Maya SDK is available (using MAYA2024 variables like in maya_ace) 6 | if(DEFINED MAYA2024_INCLUDE_DIRS) 7 | message(STATUS "Building maya_utils tests with Maya SDK support") 8 | # When building with Maya SDK, also include the actual maya_utils source 9 | list(APPEND SRC "${PROJECT_SOURCE_DIR}/source/maya_ace/common/maya_utils.cpp") 10 | endif() 11 | 12 | add_executable(${TARGET_NAME} ${SRC}) 13 | 14 | # Common includes 15 | target_include_directories( 16 | ${TARGET_NAME} 17 | PRIVATE 18 | ${PROJECT_SOURCE_DIR}/source 19 | ) 20 | 21 | if(DEFINED MAYA2024_INCLUDE_DIRS) 22 | target_include_directories( 23 | ${TARGET_NAME} 24 | PRIVATE 25 | ${MAYA2024_INCLUDE_DIRS} 26 | ) 27 | target_link_directories( 28 | ${TARGET_NAME} 29 | PRIVATE 30 | ${MAYA2024_LIBRARIES} 31 | ) 32 | target_link_libraries( 33 | ${TARGET_NAME} 34 | PRIVATE 35 | "Foundation" 36 | "OpenMaya" 37 | GTest::gtest 38 | GTest::gmock 39 | ) 40 | # Set RPATH for finding Maya libraries at runtime (Linux/macOS) 41 | if(NOT WIN32) 42 | set_target_properties(${TARGET_NAME} PROPERTIES 43 | INSTALL_RPATH "${MAYA2024_LIBRARY_DIR}" 44 | BUILD_WITH_INSTALL_RPATH TRUE 45 | ) 46 | endif() 47 | else() 48 | message(STATUS "Building maya_utils tests in mock mode (no Maya SDK)") 49 | # For testing without Maya SDK, we'll use mock implementations 50 | target_compile_definitions(${TARGET_NAME} PRIVATE MAYA_MOCK_MODE) 51 | target_link_libraries( 52 | ${TARGET_NAME} 53 | PRIVATE 54 | GTest::gtest 55 | GTest::gmock 56 | ) 57 | endif() 58 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/emotion_with_timecode/v1_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: nvidia_ace.emotion_with_timecode.v1.proto 4 | # Protobuf Python Version: 5.26.1 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)nvidia_ace.emotion_with_timecode.v1.proto\x12#nvidia_ace.emotion_with_timecode.v1\"\xb0\x01\n\x13\x45motionWithTimeCode\x12\x11\n\ttime_code\x18\x01 \x01(\x01\x12V\n\x07\x65motion\x18\x02 \x03(\x0b\x32\x45.nvidia_ace.emotion_with_timecode.v1.EmotionWithTimeCode.EmotionEntry\x1a.\n\x0c\x45motionEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02:\x02\x38\x01\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nvidia_ace.emotion_with_timecode.v1_pb2', _globals) 22 | if not _descriptor._USE_C_DESCRIPTORS: 23 | DESCRIPTOR._loaded_options = None 24 | _globals['_EMOTIONWITHTIMECODE_EMOTIONENTRY']._loaded_options = None 25 | _globals['_EMOTIONWITHTIMECODE_EMOTIONENTRY']._serialized_options = b'8\001' 26 | _globals['_EMOTIONWITHTIMECODE']._serialized_start=83 27 | _globals['_EMOTIONWITHTIMECODE']._serialized_end=259 28 | _globals['_EMOTIONWITHTIMECODE_EMOTIONENTRY']._serialized_start=213 29 | _globals['_EMOTIONWITHTIMECODE_EMOTIONENTRY']._serialized_end=259 30 | # @@protoc_insertion_point(module_scope) 31 | -------------------------------------------------------------------------------- /examples/metahuman_batch/proto/README.md: -------------------------------------------------------------------------------- 1 | # Python proto services 2 | 3 | You can either: 4 | 5 | * Install the provided `nvidia_ace` python wheel package from the 6 | [sample_wheel/](./sample_wheel/) folder with pip: 7 | 8 | ```bash 9 | pip3 install ./sample_wheel/nvidia_ace-1.0.0-py3-none-any.whl 10 | ``` 11 | 12 | * Generate the gRPC python module and manually copy it in the same folder as the 13 | script you want to run. 14 | * Generate the gRPC python module and make your own python wheel package. 15 | 16 | ## Generate the gRPC python module 17 | 18 | Start by creating a python venv using 19 | 20 | ```bash 21 | python3 -m venv .venv 22 | source .venv/bin/activate 23 | ``` 24 | 25 | Install the python `requirements.txt`, then generate the python module with 26 | `generate_code_from_protos.py` script: 27 | 28 | ```bash 29 | pip3 install -r requirements.txt 30 | python3 generate_code_from_protos.py files_to_compile.yaml 31 | ``` 32 | 33 | This will make a new folder with the generated protos in 34 | `generated/nvidia_ace/`. 35 | 36 | ## Make a python wheel 37 | 38 | ### Requirements 39 | 40 | * Generate the python module. 41 | * Install `setuptools` and `wheel` python package. 42 | 43 | Start by creating a python venv using 44 | 45 | ```bash 46 | python3 -m venv .venv 47 | source .venv/bin/activate 48 | ``` 49 | 50 | Then install `setuptools` and `wheel` dependencies. 51 | 52 | ```bash 53 | pip3 install setuptools 54 | pip3 install wheel 55 | ``` 56 | 57 | ### Usage 58 | 59 | Copy the files in the `generated/` folder here to have a structure like: 60 | 61 | ```powershell 62 | setup.py 63 | nvidia-ace/ 64 | ├── __init__.py 65 | └── ... (other Python files) 66 | ``` 67 | 68 | Make a wheel by running: 69 | 70 | ```bash 71 | python3 setup.py bdist_wheel 72 | ``` 73 | 74 | You can find the wheel in `dist/nvidia_ace-1.0.0-py3-none-any.whl`. 75 | -------------------------------------------------------------------------------- /docs/troubleshooting.md: -------------------------------------------------------------------------------- 1 | # Troubleshooting Guides 2 | 3 | ## HTTP, HTTPS, and Port 4 | 5 | When connecting to Audio2Face-3D NIM through Maya-ACE, please enter the correct address in the `Service Address` field including protocol (`http://` or `https://`) and port. 6 | 7 | ## Communication Errors 8 | 9 | These are common errors when connecting to ACE Audio2Face-3D through Maya-ACE. 10 | 11 | | Error Messages | Possible Reasons | 12 | |----------------|----------------------------| 13 | | Unauthenticated | wrong API key, using http for an https endpoint | 14 | | no authorization was passed | missing API key | 15 | | SSL_ERROR_SSL | mismatched SSL version | 16 | | Deadline Exceeded | bad network connection, slow machine or service, long audio | 17 | | Cloud credits expired | out of credits; please check [the documentation](https://build.nvidia.com/nvidia/audio2face-3d/api) | 18 | | DNS resolution failed | network error, wrong address | 19 | | Connection refused | service is unavailable | 20 | 21 | ## Cannot Attach or Connect Ace/A2FAnimationPlayer to Blendshape Nodes 22 | 23 | To attach Ace/A2FAnimationPlayer, the selection should be blendshape nodes or mesh nodes that have blendshapes connected. 24 | 25 | To connect an existing Ace/A2FAnimationPlayer to new blendshape nodes, the selection should be one Ace/A2FAnimationPlayer node and blendshape nodes or mesh nodes with blendshape nodes connected. There could be errors when, 26 | 27 | - Selection is not in the correct order 28 | - Selected multiple Ace/A2FAnimationPlayer nodes or no blendshape nodes 29 | 30 | Please make sure the selection is correct for each operation. 31 | 32 | ## Cannot open or import Maya scenes 33 | 34 | Please check the file sizes look correct. If the file size is 1kb or 4kb, check 35 | 36 | - git-lfs is installed. Pulled with git-lfs. 37 | - Files are downloaded completely without an issue. 38 | -------------------------------------------------------------------------------- /licenses/protobuf-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2008 Google Inc. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | 29 | Code generated by the Protocol Buffer compiler is owned by the owner 30 | of the input file used when generating it. This code is not 31 | standalone and requires a support library to be linked with it. This 32 | support library is itself covered by the above license. 33 | -------------------------------------------------------------------------------- /python/grpc_py/version_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: version.proto 4 | # Protobuf Python Version: 5.26.1 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 16 | 17 | 18 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rversion.proto\x12\x1envidia_ace.services.version.v1\x1a\x1bgoogle/protobuf/empty.proto\"_\n\x12VersionInformation\x12I\n\x13version_information\x18\x01 \x03(\x0b\x32,.nvidia_ace.services.version.v1.VersionEntry\"5\n\x0cVersionEntry\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t2\x82\x01\n\x19VersionInformationService\x12\x65\n\x15GetVersionInformation\x12\x16.google.protobuf.Empty\x1a\x32.nvidia_ace.services.version.v1.VersionInformation\"\x00\x62\x06proto3') 19 | 20 | _globals = globals() 21 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 22 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'version_pb2', _globals) 23 | if not _descriptor._USE_C_DESCRIPTORS: 24 | DESCRIPTOR._loaded_options = None 25 | _globals['_VERSIONINFORMATION']._serialized_start=78 26 | _globals['_VERSIONINFORMATION']._serialized_end=173 27 | _globals['_VERSIONENTRY']._serialized_start=175 28 | _globals['_VERSIONENTRY']._serialized_end=228 29 | _globals['_VERSIONINFORMATIONSERVICE']._serialized_start=231 30 | _globals['_VERSIONINFORMATIONSERVICE']._serialized_end=361 31 | # @@protoc_insertion_point(module_scope) 32 | -------------------------------------------------------------------------------- /source/ace_grpc_cpp/nvidia_ace.services.a2x_export_config.v1_mock.grpc.pb.h: -------------------------------------------------------------------------------- 1 | // Generated by the gRPC C++ plugin. 2 | // If you make any local change, they will be lost. 3 | // source: nvidia_ace.services.a2x_export_config.v1.proto 4 | 5 | #ifndef GRPC_MOCK_nvidia_5face_2eservices_2ea2x_5fexport_5fconfig_2ev1_2eproto__INCLUDED 6 | #define GRPC_MOCK_nvidia_5face_2eservices_2ea2x_5fexport_5fconfig_2ev1_2eproto__INCLUDED 7 | 8 | #include "nvidia_ace.services.a2x_export_config.v1.pb.h" 9 | #include "nvidia_ace.services.a2x_export_config.v1.grpc.pb.h" 10 | 11 | #include 12 | #include 13 | #include 14 | namespace nvidia_ace { 15 | namespace services { 16 | namespace a2x_export_config { 17 | namespace v1 { 18 | 19 | class MockA2XExportConfigServiceStub : public A2XExportConfigService::StubInterface { 20 | public: 21 | MOCK_METHOD2(GetConfigsRaw, ::grpc::ClientReaderInterface< ::nvidia_ace::services::a2x_export_config::v1::A2XConfig>*(::grpc::ClientContext* context, const ::nvidia_ace::services::a2x_export_config::v1::ConfigsTypeRequest& request)); 22 | MOCK_METHOD4(AsyncGetConfigsRaw, ::grpc::ClientAsyncReaderInterface< ::nvidia_ace::services::a2x_export_config::v1::A2XConfig>*(::grpc::ClientContext* context, const ::nvidia_ace::services::a2x_export_config::v1::ConfigsTypeRequest& request, ::grpc::CompletionQueue* cq, void* tag)); 23 | MOCK_METHOD3(PrepareAsyncGetConfigsRaw, ::grpc::ClientAsyncReaderInterface< ::nvidia_ace::services::a2x_export_config::v1::A2XConfig>*(::grpc::ClientContext* context, const ::nvidia_ace::services::a2x_export_config::v1::ConfigsTypeRequest& request, ::grpc::CompletionQueue* cq)); 24 | }; 25 | 26 | } // namespace v1 27 | } // namespace a2x_export_config 28 | } // namespace services 29 | } // namespace nvidia_ace 30 | 31 | 32 | #endif // GRPC_MOCK_nvidia_5face_2eservices_2ea2x_5fexport_5fconfig_2ev1_2eproto__INCLUDED 33 | -------------------------------------------------------------------------------- /tests/ace/main.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | // SPDX-License-Identifier: MIT 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all 12 | // copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | // SOFTWARE. 21 | #include 22 | #include 23 | 24 | #include 25 | 26 | static const char* ENV_DEFAULT_URL = "ACE_ANIMATION_CONTROLLER_DEFAULT_URL"; 27 | std::string TEST_URL; 28 | 29 | int main(int argc, char *argv[]) { 30 | srand((unsigned int)time(NULL)); 31 | 32 | const char* env_value = std::getenv(ENV_DEFAULT_URL); 33 | if (env_value == nullptr) { 34 | std::cerr << "Environment variable " << ENV_DEFAULT_URL << " is required and not set." << std::endl; 35 | return -1; 36 | } 37 | TEST_URL = env_value; 38 | 39 | ::testing::InitGoogleTest(&argc, argv); 40 | int ret = RUN_ALL_TESTS(); 41 | return ret; 42 | } 43 | -------------------------------------------------------------------------------- /env_maya.bat: -------------------------------------------------------------------------------- 1 | @REM Setup the environment to use libraries and plugins 2 | @echo off 3 | setlocal EnableDelayedExpansion 4 | 5 | :: load_env.bat 6 | set "ENV_FILE=.env" 7 | 8 | :: Check if .env exists 9 | if exist "%ENV_FILE%" ( 10 | echo Loading environment variables from: %ENV_FILE% 11 | :: First pass: Load raw variables 12 | for /f "usebackq tokens=*" %%a in ("%ENV_FILE%") do ( 13 | set "line=%%a" 14 | if not "!line:~0,1!"=="#" if not "!line!"=="" ( 15 | for /f "tokens=1,* delims==" %%b in ("!line!") do ( 16 | set "%%b=%%c" 17 | ) 18 | ) 19 | ) 20 | 21 | :: Second pass: Resolve embedded variables 22 | for /f "usebackq tokens=*" %%a in ("%ENV_FILE%") do ( 23 | set "line=%%a" 24 | if not "!line:~0,1!"=="#" if not "!line!"=="" ( 25 | for /f "tokens=1,* delims==" %%b in ("!line!") do ( 26 | call set "%%b=%%c" 27 | ) 28 | ) 29 | ) 30 | ) 31 | 32 | 33 | if "%VARIANT%"=="" SET "VARIANT=release" 34 | @REM SET VARIANT=debug 35 | 36 | @REM set the base directories 37 | set "BASE_DIR=%~dp0" 38 | set "TARGET_DEPS=%BASE_DIR%_build\target-deps" 39 | set "BUILD_DIR=%BASE_DIR%_build\windows-x86_64" 40 | 41 | @REM data locations for dev environment 42 | set "A2F_MODEL_DIRS=%BASE_DIR%sample_project\models\audio2face-models;%A2F_MODEL_DIRS%" 43 | set "A2E_MODEL_DIRS=%BASE_DIR%sample_project\models\audio2emotion-models;%A2E_MODEL_DIRS%" 44 | 45 | set "PYTHONPATH=%BASE_DIR%_venv\Lib\site-packages;%PYTHONPATH%" 46 | set "MAYA_MODULE_PATH=%BUILD_DIR%\%VARIANT%\plugins\" 47 | 48 | IF "%MAYA_LOCATION%"=="" SET "MAYA_LOCATION=C:\Program Files\Autodesk\Maya2024" 49 | echo MAYA_LOCATION=%MAYA_LOCATION% 50 | 51 | @REM preserve exit code when mayapy terminates 52 | set MAYA_NO_STANDALONE_ATEXIT=1 53 | 54 | @REM cd /D "%MAYA_LOCATION%"\bin\ 55 | set "PATH=%MAYA_LOCATION%\bin;%PATH%" 56 | 57 | call %* 58 | 59 | cd /D "%BASE_DIR%" 60 | -------------------------------------------------------------------------------- /python/grpc_py/nvidia_ace/services/animation_data/v1_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: nvidia_ace.services.animation_data.v1.proto 4 | # Protobuf Python Version: 5.26.1 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | from nvidia_ace.animation_data import v1_pb2 as nvidia__ace_dot_animation__data_dot_v1__pb2 16 | from nvidia_ace.animation_id import v1_pb2 as nvidia__ace_dot_animation__id_dot_v1__pb2 17 | from nvidia_ace.status import v1_pb2 as nvidia__ace_dot_status_dot_v1__pb2 18 | 19 | 20 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+nvidia_ace.services.animation_data.v1.proto\x12%nvidia_ace.services.animation_data.v1\x1a\"nvidia_ace.animation_data.v1.proto\x1a nvidia_ace.animation_id.v1.proto\x1a\x1anvidia_ace.status.v1.proto2\x82\x02\n\x14\x41nimationDataService\x12n\n\x17PushAnimationDataStream\x12\x31.nvidia_ace.animation_data.v1.AnimationDataStream\x1a\x1c.nvidia_ace.status.v1.Status\"\x00(\x01\x12z\n\x17PullAnimationDataStream\x12(.nvidia_ace.animation_id.v1.AnimationIds\x1a\x31.nvidia_ace.animation_data.v1.AnimationDataStream\"\x00\x30\x01\x62\x06proto3') 21 | 22 | _globals = globals() 23 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 24 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nvidia_ace.services.animation_data.v1_pb2', _globals) 25 | if not _descriptor._USE_C_DESCRIPTORS: 26 | DESCRIPTOR._loaded_options = None 27 | _globals['_ANIMATIONDATASERVICE']._serialized_start=185 28 | _globals['_ANIMATIONDATASERVICE']._serialized_end=443 29 | # @@protoc_insertion_point(module_scope) 30 | -------------------------------------------------------------------------------- /fetch_deps.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | set BUILD_CONFIG=release 4 | @REM Check if a build configuration was provided as an argument 5 | if not "%1"=="" ( 6 | set BUILD_CONFIG=%1 7 | ) 8 | set "BASE_DIR=%~dp0" 9 | if "%PYTHON%"=="" SET "PYTHON=python.exe" 10 | if "%PACKMAN%"=="" SET "PACKMAN=%BASE_DIR%tools\packman\packman" 11 | 12 | @REM Check if _venv directory exists, if not create it 13 | if not exist "%BASE_DIR%_venv" ( 14 | echo Creating venv at _venv with %PYTHON% 15 | %PYTHON% -m pip install virtualenv 16 | %PYTHON% -m venv "%BASE_DIR%_venv" --upgrade-deps 17 | if errorlevel 1 ( 18 | echo Failed to create venv at _venv 19 | exit /b 1 20 | ) 21 | ) 22 | 23 | @REM Activate the virtual environment 24 | call "%BASE_DIR%_venv\Scripts\activate" 25 | if errorlevel 1 ( 26 | echo Failed to activate _venv 27 | exit /b 1 28 | ) 29 | @REM Install python dependencies (mainly used by mock server for unit test) 30 | call python -m pip install -r "%BASE_DIR%deps\requirements.txt" -q --disable-pip-version-check 31 | if errorlevel 1 ( 32 | echo Failed to install python dependencies 33 | exit /b 1 34 | ) 35 | @REM Download python dependencies for maya python scripts 36 | call python -m pip install -r "%BASE_DIR%deps\python-deps.pip.txt" -q --disable-pip-version-check --target "%BASE_DIR%_deps\python-deps" 37 | if errorlevel 1 ( 38 | echo Failed to pull dependencies in python-deps.pip.txt 39 | exit /b 1 40 | ) 41 | call deactivate 42 | 43 | @REM Pull dependencies using packman 44 | call %PACKMAN% pull -t config=%BUILD_CONFIG% --platform windows-x86_64 "%BASE_DIR%deps\build-deps.packman.xml" 45 | if errorlevel 1 ( 46 | echo Failed to pull dependencies in build-deps.packman.xml 47 | exit /b 1 48 | ) 49 | call %PACKMAN% pull -t config=%BUILD_CONFIG% --platform windows-x86_64 "%BASE_DIR%deps\target-deps.packman.xml" 50 | if errorlevel 1 ( 51 | echo Failed to pull dependencies in target-deps.packman.xml 52 | exit /b 1 53 | ) 54 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.16) 2 | 3 | project(maya-ace) 4 | set(USER_MAYA_DIR "$ENV{HOME}/maya") 5 | if(WIN32) 6 | set(USER_MAYA_DIR "$ENV{USERPROFILE}/Documents/maya") 7 | endif() 8 | set(CMAKE_INSTALL_PREFIX "${USER_MAYA_DIR}/modules") 9 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/modules/") 10 | 11 | # Development mode flag - controls whether to use symbolic links or copy files 12 | # Can be set via CMake option or environment variable 13 | if(DEFINED ENV{MACE_DEV_MODE}) 14 | set(MACE_DEV_MODE $ENV{MACE_DEV_MODE}) 15 | else() 16 | option(MACE_DEV_MODE "Use links instead of copying files for scripts (development mode)" OFF) 17 | endif() 18 | 19 | # Disable manifest generation as maya plugin does not require it. 20 | if(MSVC) 21 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO") 22 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /MANIFEST:NO") 23 | endif() 24 | 25 | include(${PROJECT_SOURCE_DIR}/cmake/compiler_settings.cmake) 26 | 27 | file(READ ${PROJECT_SOURCE_DIR}/source/VERSION.md MACE_VERSION) 28 | string(STRIP ${MACE_VERSION} MACE_VERSION) 29 | configure_file(${PROJECT_SOURCE_DIR}/source/mace.mod.in ${OUTPUT_DIR}/plugins/mace.mod @ONLY) 30 | 31 | set(GTEST_ROOT ${PROJECT_SOURCE_DIR}/_deps/target-deps/gtest/${CMAKE_BUILD_TYPE}) 32 | set(ZLIB_ROOT ${PROJECT_SOURCE_DIR}/_deps/target-deps/zlib/${CMAKE_BUILD_TYPE}) 33 | 34 | find_package(Absl REQUIRED) 35 | find_package(Audiofile REQUIRED) 36 | find_package(Cares REQUIRED) 37 | find_package(Grpc REQUIRED) 38 | find_package(GTest REQUIRED) 39 | find_package(Maya REQUIRED) 40 | find_package(Openssl REQUIRED) 41 | find_package(Protobuf REQUIRED) 42 | find_package(Re2 REQUIRED) 43 | find_package(ZLIB REQUIRED) 44 | find_package(PythonDeps REQUIRED) 45 | find_package(CUDAToolkit REQUIRED) 46 | find_package(TensorRT REQUIRED) 47 | find_package(A2X_SDK REQUIRED) 48 | find_package(RapidJson REQUIRED) 49 | 50 | add_subdirectory(source) 51 | add_subdirectory(tests) 52 | -------------------------------------------------------------------------------- /source/maya_ace/tests/test_plugin.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2 | # SPDX-License-Identifier: MIT 3 | # 4 | # Permission is hereby granted, free of charge, to any person obtaining a copy 5 | # of this software and associated documentation files (the "Software"), to deal 6 | # in the Software without restriction, including without limitation the rights 7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | # copies of the Software, and to permit persons to whom the Software is 9 | # furnished to do so, subject to the following conditions: 10 | # 11 | # The above copyright notice and this permission notice shall be included in all 12 | # copies or substantial portions of the Software. 13 | # 14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | # SOFTWARE. 21 | import unittest 22 | 23 | from common import TEST_DIR 24 | 25 | 26 | class TestLoadAceAnimationPlayerPlugin(unittest.TestCase): 27 | 28 | def setUp(self): 29 | from maya import standalone 30 | 31 | standalone.initialize(name="python") 32 | 33 | def tearDown(self): 34 | from maya import standalone 35 | 36 | # standalone.uninitialize() 37 | 38 | def test_load_maya_ace_plugin(self): 39 | from maya import cmds 40 | 41 | cmds.loadPlugin("maya_ace") 42 | 43 | self.assertIn("maya_ace", cmds.pluginInfo(q=1, listPlugins=1)) 44 | 45 | # try: 46 | # cmds.unloadPlugin('maya_ace', force=1) 47 | # finally: 48 | # pass 49 | -------------------------------------------------------------------------------- /licenses/TensorRT-Readme.txt: -------------------------------------------------------------------------------- 1 | === NVIDIA TensorRT === 2 | 3 | NVIDIA® TensorRT™ is a C++ library that facilitates high-performance inference 4 | on NVIDIA GPUs. TensorRT takes a trained network, which consists of a network 5 | definition and a set of trained parameters, and produces a highly optimized 6 | runtime engine that performs inference for that network. TensorRT provides APIs 7 | using C++ and Python that help to express deep learning models using the Network 8 | Definition API or load a pre-defined model using the parsers that allow TensorRT 9 | to optimize and run them on an NVIDIA GPU. TensorRT applies graph optimizations, 10 | layer fusion, among other optimizations, while also finding the fastest 11 | implementation of that model leveraging a diverse collection of highly optimized 12 | kernels. TensorRT also supplies a runtime that you can use to execute this 13 | network on NVIDIA’s GPUs. 14 | 15 | For more information about TensorRT, visit https://developer.nvidia.com/tensorrt. 16 | 17 | In previous TensorRT releases, PDF documentation was included inside the TensorRT 18 | package. The PDF documentation has been removed from the package in favor of 19 | online documentation, which is updated regularly. Online documentation can be 20 | found at https://docs.nvidia.com/deeplearning/tensorrt. 21 | 22 | For details on TensorRT's license agreement, visit https://docs.nvidia.com/deeplearning/tensorrt/sla/. 23 | 24 | === References === 25 | 26 | Quick Start Guide: https://docs.nvidia.com/deeplearning/tensorrt/quick-start-guide 27 | Release Notes: https://docs.nvidia.com/deeplearning/tensorrt/release-notes 28 | Support Matrix: https://docs.nvidia.com/deeplearning/tensorrt/support-matrix 29 | Installation Guide: https://docs.nvidia.com/deeplearning/tensorrt/install-guide 30 | 31 | API Reference: https://docs.nvidia.com/deeplearning/tensorrt/api 32 | Developer Guide: https://docs.nvidia.com/deeplearning/tensorrt/developer-guide 33 | Sample Support Guide: https://docs.nvidia.com/deeplearning/tensorrt/sample-support-guide 34 | -------------------------------------------------------------------------------- /sample_project/models/README.md: -------------------------------------------------------------------------------- 1 | # Audio2Face/Audio2Emotion Models Directory 2 | 3 | This directory is dedicated to locate the models for Audio2Face and Audio2Emotion. 4 | 5 | The default location is `models` directory under where the mace plugin module is installed. 6 | For Example, `{user home}\Documents\maya\modules\mace\models\`. 7 | 8 | ## Requirements to Download Models 9 | 10 | The models can be downloaded using the Hugging Face CLI or Git and Git LFS. 11 | You can find the detailed instructions in [Hugging Face web page](https://huggingface.co/docs/hub/en/models-downloading). 12 | 13 | ## Instructions 14 | 15 | Find models from [the Audio2Face-3D collection](https://huggingface.co/collections/nvidia/audio2face-3d-6865d22d6daec4ac85887b17) on the Hugging Face website and download them to this directory under the following sub-directories: 16 | 17 | * Audio2Face models: `./audio2face-models/` 18 | * Audio2Emotion models: `./audio2emotion-models/` 19 | 20 | ### Examples 21 | 22 | #### Audio2Face-3D-v3.0 23 | 24 | * Model Page: [audio2face-3d-v3.0](https://huggingface.co/nvidia/Audio2Face-3D-v3.0) 25 | 26 | * Download through the Hugging Face CLI: 27 | 28 | ```Powershell 29 | huggingface-cli download nvidia/Audio2Face-3D-v3.0 --local-dir ./audio2face-models/audio2face-3d-v3.0 30 | ``` 31 | 32 | * Download through the Git and Git LFS: 33 | 34 | ```Powershell 35 | git lfs install 36 | git clone https://huggingface.co/nvidia/Audio2Face-3D-v3.0 ./audio2face-models/audio2face-3d-v3.0 37 | ``` 38 | 39 | #### Audio2Emotion-v2.2 40 | 41 | * Model Page: [audio2emotion-v2.2](https://huggingface.co/nvidia/Audio2Emotion-v2.2) 42 | 43 | * Download through the Hugging Face CLI: 44 | 45 | ```Powershell 46 | huggingface-cli download nvidia/Audio2Emotion-v2.2 --local-dir ./audio2emotion-models/audio2emotion-v2.2 47 | ``` 48 | 49 | * Download through the Git and Git LFS: 50 | 51 | ```Powershell 52 | git lfs install 53 | git clone https://huggingface.co/nvidia/Audio2Emotion-v2.2 ./audio2emotion-models/audio2emotion-v2.2 54 | ``` 55 | -------------------------------------------------------------------------------- /examples/metahuman_batch/proto/protobuf_files/nvidia_ace.emotion_aggregate.v1.proto: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 3 | * SPDX-License-Identifier: Apache-2.0 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | syntax = "proto3"; 19 | 20 | package nvidia_ace.emotion_aggregate.v1; 21 | 22 | import "nvidia_ace.emotion_with_timecode.v1.proto"; 23 | 24 | // WARNING: alpha version of the emotion output of Audio2Face Microservice 25 | // This can be subject to change. 26 | // The primary function of this message is to enable the analysis of blendshape 27 | // data associated with the emotion data. 28 | // See the documentation and the provided sample application for more information 29 | message EmotionAggregate { 30 | // Input emotions refer to the emotions provided by the user of the Audio2Face 31 | // Service before any processing is applied. 32 | repeated nvidia_ace.emotion_with_timecode.v1.EmotionWithTimeCode input_emotions = 1; 33 | // These emotions are a blend between: 34 | // 1. emotions generated by the Audio2Emotion model 35 | // 2. input_emotions 36 | repeated nvidia_ace.emotion_with_timecode.v1.EmotionWithTimeCode a2e_output = 2; 37 | // These emotions are the emotions coming from a2e_output smoothed over time 38 | repeated nvidia_ace.emotion_with_timecode.v1.EmotionWithTimeCode a2f_smoothed_output = 3; 39 | } 40 | //nvidia_ace.emotion_aggregate.v1 41 | //v1.0.0 --------------------------------------------------------------------------------