bark.cpp
v1.0.0
路线图 / codec.cpp / ggml
纯C/C ++的Sunoai树皮模型的推断。
借助bark.cpp ,我们的目标是将实时现实的多语言文本到语音发电带给社区。
支持模型
我们要实施的模型!请打开公关:)
Google Colab上的演示(#95)
这是使用bark.cpp的典型运行:
./ main - p "This is an audio generated by bark.cpp"
__ __
/ / _ ____ ______ / / __ _________ ____
/ __ / __ `/ ___ / //_/ / ___/ __ / __
/ / _ / / / _ / / / / ,< _ / / __ / / _ / / / _ / /
/ _ . ___ /__,_/ _ / / _ /| _ | ( _ ) ___ / . ___ / . ___ /
/ _ / / _ /
bark_tokenize_input : prompt : 'This is an audio generated by bark.cpp'
bark_tokenize_input : number of tokens in prompt = 513 , first 8 tokens : 20795 20172 20199 33733 58966 20203 28169 20222
Generating semantic tokens : 17 %
bark_print_statistics : sample time = 10.98 ms / 138 tokens
bark_print_statistics : predict time = 614.96 ms / 4.46 ms per token
bark_print_statistics : total time = 633.54 ms
Generating coarse tokens : 100 %
bark_print_statistics : sample time = 3.75 ms / 410 tokens
bark_print_statistics : predict time = 3263.17 ms / 7.96 ms per token
bark_print_statistics : total time = 3274.00 ms
Generating fine tokens : 100 %
bark_print_statistics : sample time = 38.82 ms / 6144 tokens
bark_print_statistics : predict time = 4729.86 ms / 0.77 ms per token
bark_print_statistics : total time = 4772.92 ms
write_wav_on_disk : Number of frames written = 65600.
main : load time = 324.14 ms
main : eval time = 8806.57 ms
main : total time = 9131.68 ms这是iPhone上播种的树皮的视频:
这是使用bark.cpp的步骤
git clone --recursive https://github.com/PABannier/bark.cpp.git
cd bark.cpp
git submodule update --init --recursive为了构建bark.cpp,您必须使用CMake :
mkdir build
cd build
# To enable nvidia gpu, use the following option
# cmake -DGGML_CUBLAS=ON ..
cmake ..
cmake --build . --config Release # Install Python dependencies
python3 -m pip install -r requirements.txt
# Download the Bark checkpoints and vocabulary
python3 download_weights.py --out-dir ./models --models bark-small bark
# Convert the model to ggml format
python3 convert.py --dir-model ./models/bark-small --use-f16
# run the inference
./build/examples/main/main -m ./models/bark-small/ggml_weights.bin -p " this is an audio generated by bark.cpp " -t 4可以使用以下策略对权重进行量化: q4_0 , q4_1 , q5_0 , q5_1 , q8_0 。
请注意,为了保持音频质量,我们不量化编解码器模型。该计算的大部分在GPT模型的正向中。
./build/examples/quantize/quantize ./ggml_weights.bin ./ggml_weights_q4.bin q4_0bark.cpp是一项持续的努力,依靠社区努力持续和发展。欢迎您的贡献和非常有价值。可以
bark.cpp时,您可能会遇到错误。不要犹豫,在问题部分上报告。