Roadmap / encodec.cpp / ggml
Inferencia del modelo de corteza de Sunoai en C/C ++ puro.
Con bark.cpp , nuestro objetivo es llevar a la comunidad de texto multilingüe realista realista realista en tiempo real .
Modelos compatibles
¡Modelos que queremos implementar! Por favor abra un PR :)
Demostración en Google Colab (#95)
Aquí hay una ejecución típica usando 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 msAquí hay un video de ladridos en el iPhone:
Aquí están los pasos para usar bark.cpp
git clone --recursive https://github.com/PABannier/bark.cpp.git
cd bark.cpp
git submodule update --init --recursive Para construir bark.cpp debe usar 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 Los pesos se pueden cuantificar utilizando la siguiente estrategia: q4_0 , q4_1 , q5_0 , q5_1 , q8_0 .
Tenga en cuenta que para preservar la calidad de audio, no cuantificamos el modelo de códec. La mayor parte del cálculo está en el pase hacia adelante de los modelos GPT.
./build/examples/quantize/quantize ./ggml_weights.bin ./ggml_weights_q4.bin q4_0 bark.cpp es un esfuerzo continuo que se basa en los esfuerzos de la comunidad para durar y evolucionar. Su contribución es bienvenida y muy valiosa. Puede ser
bark.cpp . No dude en informarlo sobre la sección del tema.