Irodori-TTSでは、Sonyの音声ウォーターマーク技術 SilentCipher が利用されています。
本当にウォーターマークが埋め込まれているのか気になったので、実際に生成した音声をデコードして確認してみました。検証には、SilentCipherのデコーダを利用しました。
import silentcipher
model = silentcipher.get_model(
model_type="44.1k",
ckpt_path="Models/44_1_khz/73999_iteration",
config_path="Models/44_1_khz/73999_iteration/hparams.yaml",
device="cuda"
)
result = model.decode(
"output.wav",
phase_shift_decoding=False
)
print(result)
生成した生のWAVファイル
Irodori-TTSが生成したWAVファイル
生成直後のWAVファイルを調べたところ、以下の結果となりました。
{
'messages': [[73, 82, 68, 84, 83]],
'confidences': [0.9423558712005615],
'status': True
}
messages をASCIIコードへ変換すると、IRDTS となり、Irodori-TTS用の識別子が埋め込まれていることが確認できました。
また、
status = True
confidence = 0.942
となっており、0.9を超えているため、高い信頼度でウォーターマークが検出されています。
今回の検証では、Irodori-TTSが生成した生のWAVファイルには、SilentCipherのウォーターマークが正常に埋め込まれていることを確認できました。