Profile Picture

Python crashes iClone when using LoadVocal/GetVisemeComponent

Posted By shane.lessa 4 Years Ago
You don't have permission to rate!

Python crashes iClone when using LoadVocal/GetVisemeComponent

Author
Message
shane.lessa
shane.lessa
Posted 4 Years Ago
View Quick Profile
New Member

New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)

Group: Forum Members
Last Active: 4 Years Ago
Posts: 3, Visits: 5
Every time I run my Python script it crashes when using the LoadVocal method on the variable for GetVisemeComponent. It's very important that I get this script automating this process, but any time I give it a go, it just fails completely. Any help would be greatly appreciated
AllenLee (RL)
AllenLee (RL)
Posted 4 Years Ago
View Quick Profile
Senior Member

Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 54, Visits: 526
Hi shane.lessa,

Could you show me a piece of code of your Python script?
And what is your audio source?

Allen Lee
shane.lessa
shane.lessa
Posted 4 Years Ago
View Quick Profile
New Member

New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)

Group: Forum Members
Last Active: 4 Years Ago
Posts: 3, Visits: 5
Sure thing:

import RLPy
avatar_list                  = RLPy.RScene.GetAvatars()
avatar                        = avatar_list[0]
viseme_component     = avatar.GetVisemeComponent()

audio            = RLPy.RAudio.CreateAudioObject()
audio_path    = "2.wav"
start_time     = RLPy.RGlobal.GetTime()

RLPy.RAudio.LoadAudioToObject(avatar, audio_path, start_time)
clip_name     = "Default"
result            = viseme_component.LoadVocal(audio, start_time, clip_name)
AllenLee (RL)
AllenLee (RL)
Posted 4 Years Ago
View Quick Profile
Senior Member

Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 54, Visits: 526
Hi shane.lessa, 

import RLPy
avatar_list                  = RLPy.RScene.GetAvatars()
avatar                        = avatar_list[0]
viseme_component     = avatar.GetVisemeComponent()

audio            = RLPy.RAudio.CreateAudioObject()
audio_path    = "2.wav"
#This function loads the audio file into the RAudioObject you created.
audio.Load(audio_path
start_time     = RLPy.RGlobal.GetTime()

#This function loads the audio into the character’s soundtrack, you can see it in the timeline 
RLPy.RAudio.LoadAudioToObject(avatar, audio_path, start_time)
clip_name     = "Default"
result            = viseme_component.LoadVocal(audio, start_time, clip_name)

Allen Lee
shane.lessa
shane.lessa
Posted 4 Years Ago
View Quick Profile
New Member

New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)New Member (72 reputation)

Group: Forum Members
Last Active: 4 Years Ago
Posts: 3, Visits: 5
Thank you for your assistance with this. I found that the issue causing the crash was that the .wav file was not placed in the following path:
C:\Program Files\Reallusion\iClone 7\Bin64


I was assuming that the working directory would be detected as being the same directory as the iClone project file, but in fact iClone reads the working directory as being the path above in 'Bin64'. So either the .wav file had to be placed there instead of the project folder, or an absolute path needed to be used for the .wav file's location.

TLDR:
iClone's working directory defaults to the path above, NOT a project's folder.



Reading This Topic