參考文件 https://docs.nvidia.com/nim/riva/tts/latest/overview.html
$ export NGC_API_KEY="Y6NWM0NjYzYjYtMzczMy00MjVkLTg1NWQtZTE2MDNmZTAxNDBj"
$ echo "$NGC_API_KEY" | docker login nvcr.io --username '$oauthtoken' --password-stdin
$ export CONTAINER_ID=magpie-tts-multilingual
$ export NIM_TAGS_SELECTOR=name=magpie-tts-multilingual
$ docker run -it --rm --name=$CONTAINER_ID \
--gpus '"device=0"' \
--shm-size=8GB \
-e NGC_API_KEY \
-e NIM_HTTP_API_PORT=9000 \
-e NIM_GRPC_API_PORT=50051 \
-p 9000:9000 \
-p 50051:50051 \
-e NIM_TAGS_SELECTOR \
nvcr.io/nim/nvidia/$CONTAINER_ID:latest
# Create the cache directory on the host machine
$ export LOCAL_NIM_CACHE=~/.cache/nim
$ mkdir -p $LOCAL_NIM_CACHE
$ chmod 777 $LOCAL_NIM_CACHE
# Set appropriate value for container ID
$ export CONTAINER_ID=magpie-tts-multilingual
# Set the appropriate values for NIM_TAGS_SELECTOR.
$ export NIM_TAGS_SELECTOR="name=magpie-tts-multilingual,model_type=prebuilt"
# Run the container with the cache directory mounted in the appropriate location
$ docker run -it --rm --name=$CONTAINER_ID \
--gpus '"device=0"' \
--shm-size=8GB \
-e NGC_API_KEY \
-e NIM_TAGS_SELECTOR \
-e NIM_HTTP_API_PORT=9000 \
-e NIM_GRPC_API_PORT=50051 \
-p 9000:9000 \
-p 50051:50051 \
-v $LOCAL_NIM_CACHE:/opt/nim/.cache \
nvcr.io/nim/nvidia/$CONTAINER_ID:latest
$ curl -X 'GET' 'http://localhost:9000/v1/health/ready'
{"status":"ready"}
$ sudo apt-get install python3-pip
$ pip install -U nvidia-riva-client
$ cd $HOME
$ git clone https://github.com/nvidia-riva/python-clients.git
$ curl -sS http://localhost:9000/v1/audio/list_voices | jq
{
"en-US,es-US,fr-FR,de-DE,zh-CN": {
"voices": [
"Magpie-Multilingual.ZH-CN.HouZhen",
"Magpie-Multilingual.ZH-CN.Siwei",
"Magpie-Multilingual.ZH-CN.Louise",
"Magpie-Multilingual.ZH-CN.Pascal",
"Magpie-Multilingual.ZH-CN.Isabela",
"Magpie-Multilingual.ZH-CN.Diego",
"Magpie-Multilingual.ZH-CN.Ray",
"Magpie-Multilingual.ZH-CN.Mia",
"Magpie-Multilingual.ZH-CN.Aria",
"Magpie-Multilingual.ZH-CN.Long",
"Magpie-Multilingual.ZH-CN.North",
]
}
}
$ curl -sS http://localhost:9000/v1/audio/synthesize --fail-with-body \
-F language=zh-CN \
-F text="說書,相聲這種東西,人靠一張嘴,通過語言的結構,把看官聽眾吸引到故事里面。在演出的時候要求你身上的每個動作,都必須要有含義。" \
-F voice=Magpie-Multilingual.ZH-CN.Mia \
--output output.wav
$ curl -sS http://localhost:9000/v1/audio/synthesize_online --fail-with-body \
-F language=zh-CN \
-F text="說書,相聲這種東西,人靠一張嘴,通過語言的結構,把看官聽眾吸引到故事里面。在演出的時候要求你身上的每個動作,都必須要有含義。" \
-F voice=Magpie-Multilingual.ZH-CN.Ray \
-F sample_rate_hz=22050 \
--output output.raw
$ sudo apt update
$ sudo apt install -y sox
$ sox -b 16 -e signed -c 1 -r 22050 output.raw output.wav
Available Voices
Magpie-Multilingual.ZH-CN.Aria
Magpie-Multilingual.ZH-CN.Diego
Magpie-Multilingual.ZH-CN.HouZhen
Magpie-Multilingual.ZH-CN.Isabela
Magpie-Multilingual.ZH-CN.Long
Magpie-Multilingual.ZH-CN.Louise
Magpie-Multilingual.ZH-CN.Mia
Magpie-Multilingual.ZH-CN.North
Magpie-Multilingual.ZH-CN.Pascal
Magpie-Multilingual.ZH-CN.Ray
Magpie-Multilingual.ZH-CN.Siwei
$ docker stop $CONTAINER_ID
$ docker rm $CONTAINER_ID
沒有留言:
張貼留言