iOS
機能説明
オーディオデータを入力すると、Apple ARKitの標準である52種類の表情のデータが出力されます。詳細については、ARFaceAnchorをご参照ください。これらの表情データを利用して、Unityに渡してモデルを動かすといった、さらに進んだ開発を行うことができます。
アクセス方法
方法1:Tencent Effect SDKと一緒に使用
1. 音声から表情sdkへの変換は、Tencent Effect SDKに結合されているため、最初の接続はTencent Effectのドキュメントに従って行う必要があります。
2. Tencent Effect SDK完全版をダウンロードします。
3. Tencent Effectの独立した統合のドキュメントを参照して統合を完了します。
4. Tencent Effect SDK完全版内のAudio2Exp.frameworkをプロジェクトに登録し、かつプロジェクトのtarget->General->Frameworks、Libraries、and Embedded ContentをEmbed & Signに設定します。
方法2:独立した音声表情変換SDKによる接続
音声から表情への変換のみが必要で、Tencent Effect SDKの機能を使用する必要がない場合は、独立した音声表情変換SDKの使用を検討することができます。Audio2Exp.frameworkパッケージは、約7MBです。プロジェクトにAudio2Exp.frameworkとYTCommonXMagic.frameworkの2つの動的ライブラリを導入し、かつプロジェクトのtarget->General->Frameworks、Libraries、and Embedded ContentをEmbed & Signに設定します。
統合の手順
1. Licenseを設定します。認証 をご参照ください。
2. モデルファイルの設定:必要なモデルファイルaudio2exp.bundleをプロジェクトディレクトリにコピーします。その後、Audio2ExpApiのinitWithModelPath:インターフェースを呼び出した際、パラメータaudio2exp.bundle"をモデルファイルが存在するパスに渡します。
インターフェースの説明
インターフェース | 説明 |
+ (int)initWithModelPath:(NSString*)modelPath; | 初期化し、モデルのパスを渡します。上記の説明をご参照ください。戻り値が0の場合は成功です。 |
+ (NSArray )parseAudio:(NSArray )inputData; | 入力するのはオーディオデータであり、シングルチャネル、16Kサンプルレート、配列の長さは267(すなわち267のサンプリングポイント)である必要があります。出力されるデータは長さが52のfloat配列で、52の表情ベースを表し、値は0~1の間で、順序は Apple標準順{"eyeBlinkLeft","eyeLookDownLeft","eyeLookInLeft","eyeLookOutLeft","eyeLookUpLeft","eyeSquintLeft","eyeWideLeft","eyeBlinkRight","eyeLookDownRight","eyeLookInRight","eyeLookOutRight","eyeLookUpRight","eyeSquintRight","eyeWideRight","jawForward","jawLeft","jawRight","jawOpen","mouthClose","mouthFunnel","mouthPucker","mouthRight","mouthLeft","mouthSmileLeft","mouthSmileRight","mouthFrownRight","mouthFrownLeft","mouthDimpleLeft","mouthDimpleRight","mouthStretchLeft","mouthStretchRight","mouthRollLower","mouthRollUpper","mouthShrugLower","mouthShrugUpper","mouthPressLeft","mouthPressRight","mouthLowerDownLeft","mouthLowerDownRight","mouthUpperUpLeft","mouthUpperUpRight","browDownLeft","browDownRight","browInnerUp","browOuterUpLeft","browOuterUpRight","cheekPuff","cheekSquintLeft","cheekSquintRight","noseSneerLeft","noseSneerRight","tongueOut"}です。 |
+ (int)releaseSdk | 使用完了後に呼び出し、リソースを解放します |
統合コード例
// 音声表情変換sdkの初期化NSString *path = [[NSBundle mainBundle] pathForResource:@"audio2exp" ofType:@"bundle"];int ret = [Audio2ExpApi initWithModelPath:path];// 音声データから52種類の表情データへの変換NSArray *emotionArray = [Audio2ExpApi parseAudio:floatArr];// sdkのリリース[Audio2ExpApi releaseSdk];// Tencent Effect sdk xmgaicと結合して使用します// 対応するリソースを使用して美顔sdkを初期化しますself.beautyKit = [[XMagic alloc] initWithRenderSize:previewSize assetsDict:assetsDict];// avatar素材をロードします[self.beautyKit loadAvatar:bundlePath exportedAvatar:nil completion:nil];// 52の表情データを美顔sdkに渡すと、効果を確認することができます[self.beautyKit updateAvatarByExpression:emotionArray];
説明:
録音については、
TXCAudioRecorder
をご参照ください。インターフェースの使用については、
VoiceViewController
およびその関連クラスをご参照ください。