w-okada / voice-changer

リアルタイムボイスチェンジャー Realtime Voice Changer
Other
16.38k stars 1.8k forks source link

[ISSUE]: The program works on my processor but I don't see any load on my graphics card #1289

Open camilo1bash opened 3 months ago

camilo1bash commented 3 months ago

Voice Changer Version

MMVCServerSIO_win_onnxgpu-cuda_v.1.5.3.15

Operational System

Windows 10

GPU

RTX 3050

Read carefully and check the options

Model Type

RVC

Issue Description

cuando inicio el programa, veo que en el administrador de tareas la GPU no tiene nada de carga, ya he intentado descargar y probar con diferentes versiones, tengo una pc con las siguientes características :

Tambien desactivé el antivirus y lancé el start_http.bat como administrador pero no funciona.

Application Screenshot

image

Logs on console

D:\Documentos\MMVCServerSIO>MMVCServerSIO.exe -p 18888 --https false --content_vec_500 pretrain/checkpoint_best_legacy_500.pt --content_vec_500_onnx pretrain/content_vec_500.onnx --content_vec_500_onnx_on true --hubert_base pretrain/hubert_base.pt --hubert_base_jp pretrain/rinna_hubert_base_jp.pt --hubert_soft pretrain/hubert/hubert-soft-0d54a1f4.pt --nsf_hifigan pretrain/nsf_hifigan/model --crepe_onnx_full pretrain/crepe_onnx_full.onnx --crepe_onnx_tiny pretrain/crepe_onnx_tiny.onnx --rmvpe pretrain/rmvpe.pt --model_dir model_dir --samples samples.json Booting PHASE :main PYTHON:3.10.11 (tags/v3.10.11:7d4cc5a, Apr 5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)] Activating the Voice Changer. [Voice Changer] download sample catalog. samples_0003_t2.json [Voice Changer] download sample catalog. samples_0003_o2.json [Voice Changer] download sample catalog. samples_0003_d2.json [Voice Changer] model_dir is already exists. skip download samples. Internal_Port:18888 protocol: HTTP


Please open the following URL in your browser.
http://<IP>:<PORT>/
In many cases, it will launch when you access any of the following URLs.
http://127.0.0.1:18888/

[VCClient] Access http://127.0.0.1:18888/ [VCClient] wait web server...0 http://127.0.0.1:18888/ Booting PHASE :main Booting PHASE :MMVCServerSIO [Voice Changer] VoiceChangerManager initializing... [Voice Changer] model slot is changed -1 -> 5 ................RVC [Voice Changer] [RVCr2] Creating instance VoiceChangerV2 Initialized (GPU_NUM(cuda):1, mps_enabled:False, onnx_device:GPU) [Voice Changer][RVC]: update_settings gpu:0 [Voice Changer][RVCr2] Initializing... 2024-07-21 21:13:26.3545179 [W:onnxruntime:, session_state.cc:1030 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the preferred execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to improve perf. 2024-07-21 21:13:26.3641257 [W:onnxruntime:, session_state.cc:1032 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-minimal build will show node assignments. [Voice Changer] generate new embedder. (no embedder) 2024-07-21 21:13:29.4502972 [W:onnxruntime:, session_state.cc:1030 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the preferred execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to improve perf. 2024-07-21 21:13:29.4598566 [W:onnxruntime:, session_state.cc:1032 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-minimal build will show node assignments. [VCClient] wait web server...10 http://127.0.0.1:18888/ [Voice Changer] Loading index... [Voice Changer] Index file is not found GENERATE INFERENCER<voice_changer.RVC.inferencer.OnnxRVCInferencerNono.OnnxRVCInferencerNono object at 0x0000017519D5FB20> GENERATE EMBEDDER<voice_changer.RVC.embedder.OnnxContentvec.OnnxContentvec object at 0x0000017531E70460> GENERATE PITCH EXTRACTOR<voice_changer.RVC.pitchExtractor.RMVPEOnnxPitchExtractor.RMVPEOnnxPitchExtractor object at 0x0000017531E704C0> [Voice Changer] [RVC] Initializing... done [Voice Changer][RVC]: update_settings f0Detector:rmvpe [Voice Changer][RVC]: update_settings serverReadChunkSize:2048 [Voice Changer][RVC]: update_settings silentThreshold:0.00004 [Voice Changer][RVC]: update_settings modelSlotIndex:1717993104005 [Voice Changer] VoiceChangerManager initializing... done. [Voice Changer] MMVC_Rest initializing... [Voice Changer] MMVC_Rest initializing... done. [Voice Changer] MMVC_SocketIOApp initializing... [Voice Changer] MMVC_SocketIOApp initializing... done. [VCClient] wait web server... done 200 [2024-07-21 21:14:51] connet sid : 1-Z10S_RjOSuRBkMAAAC [2024-07-21 21:14:51] connet sid : CJCyYf0DfVuJFeucAAAD Generated Strengths: for prev:(4096,), for cur:(4096,) [Voice Changer] warming up... generating sola buffer. [Voice Changer] update configuration: enableServerAudio 1 [Voice Changer][RVC]: update_settings enableServerAudio:1 [Voice Changer] update configuration: enableServerAudio 0 [Voice Changer][RVC]: update_settings enableServerAudio:0 [Voice Changer] update configuration: f0Detector crepe [Voice Changer][RVC]: update_settings f0Detector:crepe

camilo1bash commented 3 months ago

actualizo registro de consola: [Voice Changer] [RVCr2] Creating instance VoiceChangerV2 Initialized (GPU_NUM(cuda):1, mps_enabled:False, onnx_device:GPU) Pipeline has been deleted [Voice Changer][RVC]: update_settings gpu:0 [Voice Changer][RVCr2] Initializing... 2024-07-21 21:31:42.7878781 [W:onnxruntime:, session_state.cc:1030 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the preferred execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to improve perf. 2024-07-21 21:31:42.7983336 [W:onnxruntime:, session_state.cc:1032 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-minimal build will show node assignments. [Voice Changer] generate new embedder. (anyway) 2024-07-21 21:31:45.8093334 [W:onnxruntime:, session_state.cc:1030 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the preferred execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to improve perf. 2024-07-21 21:31:45.8207970 [W:onnxruntime:, session_state.cc:1032 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-minimal build will show node assignments. [Voice Changer] update configuration: modelSlotIndex 1721615501000 [Voice Changer] model slot is changed 1 -> 0 ................RVC [Voice Changer] [RVCr2] Creating instance VoiceChangerV2 Initialized (GPU_NUM(cuda):1, mps_enabled:False, onnx_device:GPU) [Voice Changer][RVC]: update_settings gpu:0 [Voice Changer][RVCr2] Initializing... 2024-07-21 21:31:50.2105918 [W:onnxruntime:, session_state.cc:1030 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the preferred execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to improve perf. 2024-07-21 21:31:50.2222371 [W:onnxruntime:, session_state.cc:1032 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-minimal build will show node assignments. [Voice Changer] generate new embedder. (anyway) 2024-07-21 21:31:51.7375361 [W:onnxruntime:, session_state.cc:1030 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the preferred execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to improve perf. 2024-07-21 21:31:51.7486808 [W:onnxruntime:, session_state.cc:1032 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-minimal build will show node assignments. [Voice Changer] Loading index... [Voice Changer] Loading index... [Voice Changer] Index file is not found GENERATE INFERENCER<voice_changer.RVC.inferencer.OnnxRVCInferencer.OnnxRVCInferencer object at 0x0000017535ABFE80> [Voice Changer] Index file is not found GENERATE EMBEDDER<voice_changer.RVC.embedder.OnnxContentvec.OnnxContentvec object at 0x00000175114DCFA0> GENERATE INFERENCER<voice_changer.RVC.inferencer.OnnxRVCInferencer.OnnxRVCInferencer object at 0x000001757538BF10> GENERATE PITCH EXTRACTOR<voice_changer.RVC.pitchExtractor.RMVPEOnnxPitchExtractor.RMVPEOnnxPitchExtractor object at 0x000001757538BF70> GENERATE EMBEDDER<voice_changer.RVC.embedder.OnnxContentvec.OnnxContentvec object at 0x0000017532DEDD80> [Voice Changer] [RVC] Initializing... done GENERATE PITCH EXTRACTOR<voice_changer.RVC.pitchExtractor.RMVPEOnnxPitchExtractor.RMVPEOnnxPitchExtractor object at 0x000001757538BF70> [Voice Changer] [RVC] Initializing... done Pipeline has been deleted [Voice Changer][RVC]: update_settings f0Detector:rmvpe [Voice Changer][RVC]: update_settings f0Detector:rmvpe [Voice Changer][RVC]: update_settings serverReadChunkSize:448 [Voice Changer][RVC]: update_settings serverReadChunkSize:448 [Voice Changer][RVC]: update_settings silentThreshold:0.00004 [Voice Changer][RVC]: update_settings enableServerAudio:0 [Voice Changer][RVC]: update_settings silentThreshold:0.00004 [Voice Changer][RVC]: update_settings modelSlotIndex:1721615501000 [Voice Changer][RVC]: update_settings enableServerAudio:0 [Voice Changer][RVC]: update_settings modelSlotIndex:1721615501000

Kuuko-fokkusugaru commented 3 months ago

Desgraciadamente no has mostrado la captura completa por lo que no puedo identificar qué settings estás usando exactamente.

El el log parece haber ciertas discrepancias sobre la asignación de recursos a la cpu en vez de la gpu. Esto puede deberse a varias cosas como el F0 que hayas escogido o drivers desactualizados.

Lo primero que harás será volver a descomprimir el archivo entero pero esta vez en una carpeta diferente en la ruta de cualquiera de tus discos duros (mejor si no es C). Abre el start_http.bat y espera paciente a que se descargue todo lo necesario y se abra la interfaz. Es importante no interrumpir el proceso porque, si no se hace completamente a la primera, el resto de veces que intentes fallará y no descargará los archivos necesarios por lo que tendrías que borrar todo y volver a empezar. Después vas a dejar todas las opciones por defecto, sin descargar ninguna otra voz. Vas a usar la primera de la lista sin más. En el F0 detection vas a escoger rmvpe (no rmpev_onnx). Deja el programa en modo cliente, no lo cambies a server como se ve en el log a no ser que lo quieras usar desde otro PC (en cualquier caso te interesa primero hacerlo funcionar normal antes de nada). Selecciona tu micrófono en la lista de dispositivos de entrada y tus altavoces o cascos en la salida (dejemos el virtual audio cable y similares para cuando ya consigamos que funcione). El monitor lo puedes dejar en none pues ya lo vas a escuchar por la salida que hayas escogido. Como el primer modelo es chica, si eres chico tendrás que poner el tune sobre el 12 según lo grave que sea tu voz. Si eres chica probablemente en el 2 o 4 sea suficiente. Selecciona tu gráfica en la lista de dispositivos para evitar usar la CPU. Dale a start, el botón verde, y espera a que el programa inicie. Sabrás si inicia porque deberías ver unos números en la esquina superior izquierda de la foto del avatar de la voz que has cargado.

La 3050 es una gráfica de gama baja. No sé muy bien qué capacidad tendrá de procesar lo necesario. En cualquier caso "debería" funcionar. De quedarse corta, lo notarás porque el audio tendrá muchísimo delay (varios segundos). Aunque las opciones por defecto están bien para un uso equilibrado con buena calidad y rendimiento, puedes bajar el chunk a 128 perfectamente sin notar pérdida en la calidad, lo cual te puede ayudar en el rendimiento.

Pero es muy importante que sigas los pasos que te he dado, sobre todo el de actualizar los drivers pues ya han habido otras personas con tu mismo problema y lo único que tenían que hacer es actualizar.

Cuando lo hayas probado todo, reporta de vuelta el resultado.

Si sigues con problemas, intenta incluir una captura completa del programa. Y cuando vayas a compartir los logs, hazlo de forma limpia. Esto quiere decir que evites cambiar cosas durante el uso. Esto es fácil de hacer si primero configuras todo, cierras el programa, lo vuelves a abrir y directamente le das a start. De ese modo el log no tendrá todos los pasos que hayas hecho de cambiar pitch, F0, modelo, etc ya que todo eso puede ser confuso y yo no soy programadora XD.

Recuerda lo importante, actualizar drivers e iniciar el programa descomprimiéndolo desde cero en una carpeta vacía y dejar que se descargue TODO hasta que inicie la interfaz.

camilo1bash commented 3 months ago

Hola Diosito, soy yo de nuevo :-)

he cambiado de procesador y tarjeta madre, tengo el procesador i5 6500, memoria ram ddr4, no se si eso tenga que ver algo. he descargado la versión MMVCServerSIO_win_onnxgpu-cuda_v.1.5.3.15 que tengo entendido es la que se usa para para grafica NVIDIA, he descargado todo, he abierto el programa y aun la carga sigue estado en la CPU. Despues de descargar todo abro el programa como me recomendaste y comparto el log:

C:\Users\CAMILO CHAPARRO\Downloads\cambiador de voz\MMVCServerSIO>MMVCServerSIO.exe -p 18888 --https false --content_vec_500 pretrain/checkpoint_best_legacy_500.pt --content_vec_500_onnx pretrain/content_vec_500.onnx --content_vec_500_onnx_on true --hubert_base pretrain/hubert_base.pt --hubert_base_jp pretrain/rinna_hubert_base_jp.pt --hubert_soft pretrain/hubert/hubert-soft-0d54a1f4.pt --nsf_hifigan pretrain/nsf_hifigan/model --crepe_onnx_full pretrain/crepe_onnx_full.onnx --crepe_onnx_tiny pretrain/crepe_onnx_tiny.onnx --rmvpe pretrain/rmvpe.pt --model_dir model_dir --samples samples.json Booting PHASE :main PYTHON:3.10.11 (tags/v3.10.11:7d4cc5a, Apr 5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)] Activating the Voice Changer. [Voice Changer] download sample catalog. samples_0003_t2.json [Voice Changer] download sample catalog. samples_0003_o2.json [Voice Changer] download sample catalog. samples_0003_d2.json [Voice Changer] model_dir is already exists. skip download samples. Internal_Port:18888 protocol: HTTP


Please open the following URL in your browser.
http://<IP>:<PORT>/
In many cases, it will launch when you access any of the following URLs.
http://127.0.0.1:18888/

[VCClient] Access http://127.0.0.1:18888/ [VCClient] wait web server...0 http://127.0.0.1:18888/ Booting PHASE :main Booting PHASE :MMVCServerSIO [Voice Changer] VoiceChangerManager initializing... [Voice Changer] model slot is changed -1 -> 1 ................RVC [Voice Changer] [RVCr2] Creating instance VoiceChangerV2 Initialized (GPU_NUM(cuda):1, mps_enabled:False, onnx_device:GPU) [Voice Changer][RVC]: update_settings gpu:0 [Voice Changer][RVCr2] Initializing... 2024-07-29 00:12:31.7427866 [W:onnxruntime:, session_state.cc:1030 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the preferred execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to improve perf. 2024-07-29 00:12:31.7558709 [W:onnxruntime:, session_state.cc:1032 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-minimal build will show node assignments. [Voice Changer] generate new embedder. (no embedder) 2024-07-29 00:12:32.3797016 [W:onnxruntime:, session_state.cc:1030 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the preferred execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to improve perf. 2024-07-29 00:12:32.3951958 [W:onnxruntime:, session_state.cc:1032 onnxruntime::VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-minimal build will show node assignments. [Voice Changer] Loading index... [Voice Changer] Index file is not found GENERATE INFERENCER<voice_changer.RVC.inferencer.OnnxRVCInferencer.OnnxRVCInferencer object at 0x000001B3E925FAC0> GENERATE EMBEDDER<voice_changer.RVC.embedder.OnnxContentvec.OnnxContentvec object at 0x000001B3E92E0400> GENERATE PITCH EXTRACTOR<voice_changer.RVC.pitchExtractor.RMVPEOnnxPitchExtractor.RMVPEOnnxPitchExtractor object at 0x000001B3E92E0460> [Voice Changer] [RVC] Initializing... done [Voice Changer][RVC]: update_settings serverReadChunkSize:128 [Voice Changer][RVC]: update_settings f0Detector:crepe [Voice Changer][RVC]: update_settings modelSlotIndex:1722229507001 [Voice Changer] VoiceChangerManager initializing... done. [Voice Changer] MMVC_Rest initializing... [Voice Changer] MMVC_Rest initializing... done. [Voice Changer] MMVC_SocketIOApp initializing... [Voice Changer] MMVC_SocketIOApp initializing... done. [VCClient] wait web server... done 200 [2024-07-29 00:13:09] connet sid : sGy2XzARUkvffLkfAAAC [2024-07-29 00:13:09] connet sid : 3iqr7xBG2bhJsOz8AAAD

En este caso que me recomiendas hacer?? image image image

Kuuko-fokkusugaru commented 3 months ago

Para el F0 detection, no todos están hechos para usar la GPU. Ahora mismo no recuerdo si crepe es para la CPU o la GPU, pero tienes otros mejores para la GPU como rmvpe (recomendado este 100%) o rmvpe_onnx.

También te sigo insistiendo en que descargues la última versión. La que tienes no es la última, bájate la que termina en 18a y prueba a ver.