Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ISSUE]: Unable to manage audio inputs and outputs for Audio: Server while running in Docker on Linux #924

Closed
6 tasks done
UnsavedTrash opened this issue Oct 5, 2023 · 2 comments

Comments

@UnsavedTrash
Copy link

Voice Changer Version

Built from docker on 10/3/23

Operational System

Arch Linux 6.5.5

GPU

RTX 3090

Read carefully and check the options

  • I've tried to Clear Settings
  • Sample/Default Models are working
  • I've tried to change the Chunk Size
  • GUI was successfully launched
  • I've read the tutorial
  • I've tried to extract to another folder (or re-extract) the .zip file

Model Type

RVC

Issue Description

When trying to use the option of Audio: Server all of the input and output options are none. While in Audio: Client mode all functionality works.

Due to not being able to map audio in Audio: Server mode I am unable to get any audio or input any audio.

My Linux desktop environment is KDE Plasma (x11) running with pipewire(pulse audio) as the main interface for inputting and outputting audio.

I am running the project as root and using the nvidia-container-toolkit package to get my GPU functioning within the docker container so there are no permissions issues and my GPU is fully being handled for the acceleration. I do not believe there is anything wrong with the generative aspects of the software, only the audio routing methods in Audio: Server mode.

Application Screenshot

image
image
image

When in client mode all input and output options are available
image

Logs on console

# ./start_docker.sh 
VC Client start...(with gpu)
exec with [UID : 1000, GID: 1000]
/voice-changer/server/MMVCServerSIO.py:3: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  from distutils.util import strtobool
    Booting PHASE :__main__
    PYTHON:3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0]
    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.
    External_Port:18888 Internal_Port:18888
    External_IP:192.168.0.167 172.17.0.1
    protocol: HTTPS(self-signed), key:keys/20231005_023922.key, cert:keys/20231005_023922.cert
    -- ---- -- 
    Please open the following URL in your browser.
    https://<IP>:<PORT>/
    In many cases, it will launch when you access any of the following URLs.
    https://127.0.0.1:18888/
    https://192.168.0.167:18888/
    https://172.17.0.1:18888/
    Booting PHASE :__mp_main__
    The server process is starting up.
    Booting PHASE :MMVCServerSIO
[Voice Changer] VoiceChangerManager initializing...
[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.
[2023-10-05 02:39:33] connet sid : t7Gr9pyDKbKDGkLRAAAC
[2023-10-05 02:39:33] connet sid : lb4PKR2v2kbEqLyCAAAD
[Voice Changer] update configuration: modelSlotIndex 1696473575001
[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... 
gin_channels: 256 self.spk_embed_dim: 109
[Voice Changer] generate new embedder. (no embedder)
[Voice Changer] use torch contentvec Not implemented
[Voice Changer] Loading index...
Try loading... model_dir/1/added_IVF416_Flat_nprobe_1_GabeNewell_v2.index
GENERATE INFERENCER<voice_changer.RVC.inferencer.RVCInferencerv2.RVCInferencerv2 object at 0x7fe2533bcfa0>
GENERATE EMBEDDER<voice_changer.RVC.embedder.FairseqHubert.FairseqHubert object at 0x7fe234356590>
GENERATE PITCH EXTRACTOR<voice_changer.RVC.pitchExtractor.HarvestPitchExtractor.HarvestPitchExtractor object at 0x7fe234356710>
[Voice Changer] [RVC] Initializing... done
[Voice Changer][RVC]: update_settings modelSlotIndex:1696473575001
Generated Strengths: for prev:(4096,), for cur:(4096,)
[Voice Changer] warming up... generating sola buffer.
[Voice Changer] update configuration: passThrough true
[Voice Changer][RVC]: update_settings passThrough:true
[Voice Changer] update configuration: passThrough false
[Voice Changer][RVC]: update_settings passThrough:false
[Voice Changer] update configuration: rvcQuality 1
[Voice Changer][RVC]: update_settings rvcQuality:1
[Voice Changer] update configuration: rvcQuality 0
[Voice Changer][RVC]: update_settings rvcQuality:0
[Voice Changer] update configuration: modelSlotIndex 1696473738003
[Voice Changer] model slot is changed 1 -> 3
................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... 
gin_channels: 256 self.spk_embed_dim: 109
[Voice Changer] generate new embedder. (anyway)
[Voice Changer] use torch contentvec Not implemented
Generated Strengths: for prev:(4096,), for cur:(4096,)
[Voice Changer] Pipeline is not initialized.
[Voice Changer] Waiting generate pipeline...
[Voice Changer] Loading index...
Try loading... model_dir/3/added_IVF199_Flat_nprobe_1_ShiningArmor_v2.index
GENERATE INFERENCER<voice_changer.RVC.inferencer.RVCInferencerv2.RVCInferencerv2 object at 0x7fe237852fb0>
GENERATE EMBEDDER<voice_changer.RVC.embedder.FairseqHubert.FairseqHubert object at 0x7fe237b97340>
GENERATE PITCH EXTRACTOR<voice_changer.RVC.pitchExtractor.HarvestPitchExtractor.HarvestPitchExtractor object at 0x7fe237b96a70>
[Voice Changer] [RVC] Initializing... done
[Voice Changer][RVC]: update_settings modelSlotIndex:1696473738003
[Voice Changer] warming up... generating sola buffer.
[Voice Changer] update configuration: modelSlotIndex 1696473825004
[Voice Changer] model slot is changed 3 -> 4
................RVC
[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... 
Generated Strengths: for prev:(4096,), for cur:(4096,)
[Voice Changer] Pipeline is not initialized.
[Voice Changer] Waiting generate pipeline...
gin_channels: 256 self.spk_embed_dim: 109
[Voice Changer] generate new embedder. (anyway)
[Voice Changer] use torch contentvec Not implemented
[Voice Changer] Pipeline is not initialized.
[Voice Changer] Waiting generate pipeline...
[Voice Changer] Loading index...
Try loading... model_dir/4/added_IVF2170_Flat_nprobe_1.index
GENERATE INFERENCER<voice_changer.RVC.inferencer.RVCInferencerv2.RVCInferencerv2 object at 0x7fe250e46950>
GENERATE EMBEDDER<voice_changer.RVC.embedder.FairseqHubert.FairseqHubert object at 0x7fe2379daa70>
GENERATE PITCH EXTRACTOR<voice_changer.RVC.pitchExtractor.HarvestPitchExtractor.HarvestPitchExtractor object at 0x7fe237b97340>
[Voice Changer] [RVC] Initializing... done
[Voice Changer][RVC]: update_settings modelSlotIndex:1696473825004
[Voice Changer] warming up... generating sola buffer.
[Voice Changer] update configuration: modelSlotIndex 1696473983005
[Voice Changer] model slot is changed 4 -> 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... 
Pipeline has been deleted
gin_channels: 256 self.spk_embed_dim: 109
[Voice Changer] generate new embedder. (anyway)
[Voice Changer] use torch contentvec Not implemented
Generated Strengths: for prev:(4096,), for cur:(4096,)
[Voice Changer] Pipeline is not initialized.
[Voice Changer] Waiting generate pipeline...
[Voice Changer] Loading index...
Try loading... model_dir/5/added_IVF207_Flat_nprobe_1_MLP05RainbowDash_v2.index
GENERATE INFERENCER<voice_changer.RVC.inferencer.RVCInferencerv2.RVCInferencerv2 object at 0x7fe2375f1ba0>
GENERATE EMBEDDER<voice_changer.RVC.embedder.FairseqHubert.FairseqHubert object at 0x7fe213f147f0>
GENERATE PITCH EXTRACTOR<voice_changer.RVC.pitchExtractor.HarvestPitchExtractor.HarvestPitchExtractor object at 0x7fe2379daa70>
[Voice Changer] [RVC] Initializing... done
[Voice Changer][RVC]: update_settings modelSlotIndex:1696473983005
[Voice Changer] warming up... generating sola buffer.
[Voice Changer] update configuration: tran 2
[Voice Changer][RVC]: update_settings tran:2
[Voice Changer] update configuration: tran 9
[Voice Changer][RVC]: update_settings tran:9
[Voice Changer] update configuration: tran 8
[Voice Changer][RVC]: update_settings tran:8
[Voice Changer] update configuration: tran 10
[Voice Changer][RVC]: update_settings tran:10
[Voice Changer] update configuration: tran 12
[Voice Changer][RVC]: update_settings tran:12
[Voice Changer] update configuration: tran 13
[Voice Changer] update configuration: tran 11
[Voice Changer][RVC]: update_settings tran:13
[Voice Changer] update configuration: tran 3
[Voice Changer] update configuration: tran 4
[Voice Changer][RVC]: update_settings tran:11
[Voice Changer][RVC]: update_settings tran:3
[Voice Changer][RVC]: update_settings tran:4
[Voice Changer] update configuration: tran 6
[Voice Changer][RVC]: update_settings tran:6
[Voice Changer] update configuration: tran 14
[Voice Changer][RVC]: update_settings tran:14
[Voice Changer] update configuration: tran 7
[Voice Changer][RVC]: update_settings tran:7
[Voice Changer] update configuration: tran 15
[Voice Changer][RVC]: update_settings tran:15
[Voice Changer] update configuration: tran 16
[Voice Changer] update configuration: tran 17
[Voice Changer][RVC]: update_settings tran:16
[Voice Changer] update configuration: tran 19
[Voice Changer][RVC]: update_settings tran:17
[Voice Changer][RVC]: update_settings tran:19
[Voice Changer] update configuration: tran 20
[Voice Changer][RVC]: update_settings tran:20
[Voice Changer] update configuration: tran 22
[Voice Changer] update configuration: tran 21
[Voice Changer][RVC]: update_settings tran:22
[Voice Changer][RVC]: update_settings tran:21
[Voice Changer] update configuration: tran 23
[Voice Changer][RVC]: update_settings tran:23
[Voice Changer] update configuration: tran 22
[Voice Changer][RVC]: update_settings tran:22
[Voice Changer] update configuration: tran 21
[Voice Changer][RVC]: update_settings tran:21
[Voice Changer] update configuration: tran 20
[Voice Changer][RVC]: update_settings tran:20
[Voice Changer] update configuration: tran 19
[Voice Changer][RVC]: update_settings tran:19
[Voice Changer] update configuration: tran 18
[Voice Changer][RVC]: update_settings tran:18
[Voice Changer] update configuration: tran 17
[Voice Changer][RVC]: update_settings tran:17
[Voice Changer] update configuration: tran 16
[Voice Changer][RVC]: update_settings tran:16
[Voice Changer] update configuration: tran 15
[Voice Changer][RVC]: update_settings tran:15
[Voice Changer] update configuration: tran 14
[Voice Changer][RVC]: update_settings tran:14
[Voice Changer] update configuration: tran 13
[Voice Changer][RVC]: update_settings tran:13
[Voice Changer] update configuration: tran 12
[Voice Changer][RVC]: update_settings tran:12
[Voice Changer] update configuration: tran 11
[Voice Changer][RVC]: update_settings tran:11
[Voice Changer] update configuration: tran 10
[Voice Changer][RVC]: update_settings tran:10
[Voice Changer] update configuration: tran 9
[Voice Changer][RVC]: update_settings tran:9
[Voice Changer] update configuration: rvcQuality 1
[Voice Changer][RVC]: update_settings rvcQuality:1
[Voice Changer] update configuration: rvcQuality 0
[Voice Changer][RVC]: update_settings rvcQuality:0
[Voice Changer] update configuration: modelSlotIndex 1696474109003
[Voice Changer] model slot is changed 5 -> 3
................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... 
Pipeline has been deleted
Generated Strengths: for prev:(4096,), for cur:(4096,)
[Voice Changer] Pipeline is not initialized.
[Voice Changer] Waiting generate pipeline...
gin_channels: 256 self.spk_embed_dim: 109
[Voice Changer] generate new embedder. (anyway)
[Voice Changer] use torch contentvec Not implemented
[Voice Changer] Pipeline is not initialized.
[Voice Changer] Waiting generate pipeline...
[Voice Changer] Loading index...
Try loading... model_dir/3/added_IVF199_Flat_nprobe_1_ShiningArmor_v2.index
GENERATE INFERENCER<voice_changer.RVC.inferencer.RVCInferencerv2.RVCInferencerv2 object at 0x7fe2378eba60>
GENERATE EMBEDDER<voice_changer.RVC.embedder.FairseqHubert.FairseqHubert object at 0x7fe213f84d90>
GENERATE PITCH EXTRACTOR<voice_changer.RVC.pitchExtractor.HarvestPitchExtractor.HarvestPitchExtractor object at 0x7fe213f147f0>
[Voice Changer] [RVC] Initializing... done
[Voice Changer][RVC]: update_settings modelSlotIndex:1696474109003
[Voice Changer] warming up... generating sola buffer.
[Voice Changer] update configuration: modelSlotIndex 1696474120004
[Voice Changer] model slot is changed 3 -> 4
................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... 
Pipeline has been deleted
gin_channels: 256 self.spk_embed_dim: 109
[Voice Changer] generate new embedder. (anyway)
[Voice Changer] use torch contentvec Not implemented
Generated Strengths: for prev:(4096,), for cur:(4096,)
[Voice Changer] Pipeline is not initialized.
[Voice Changer] Waiting generate pipeline...
[Voice Changer] Loading index...
Try loading... model_dir/4/added_IVF2170_Flat_nprobe_1.index
GENERATE INFERENCER<voice_changer.RVC.inferencer.RVCInferencerv2.RVCInferencerv2 object at 0x7fe2378e8c40>
GENERATE EMBEDDER<voice_changer.RVC.embedder.FairseqHubert.FairseqHubert object at 0x7fe2378e8400>
GENERATE PITCH EXTRACTOR<voice_changer.RVC.pitchExtractor.HarvestPitchExtractor.HarvestPitchExtractor object at 0x7fe213f84d90>
[Voice Changer] [RVC] Initializing... done
[Voice Changer][RVC]: update_settings modelSlotIndex:1696474120004
[Voice Changer] warming up... generating sola buffer.
Pipeline has been deleted
[Voice Changer] update configuration: modelSlotIndex 1696474158001
[Voice Changer] model slot is changed 4 -> 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... 
Pipeline has been deleted
gin_channels: 256 self.spk_embed_dim: 109
[Voice Changer] generate new embedder. (anyway)
[Voice Changer] use torch contentvec Not implemented
Generated Strengths: for prev:(4096,), for cur:(4096,)
[Voice Changer] Pipeline is not initialized.
[Voice Changer] Waiting generate pipeline...
[Voice Changer] Loading index...
Try loading... model_dir/1/added_IVF416_Flat_nprobe_1_GabeNewell_v2.index
[Voice Changer] Pipeline is not initialized.
[Voice Changer] Waiting generate pipeline...
GENERATE INFERENCER<voice_changer.RVC.inferencer.RVCInferencerv2.RVCInferencerv2 object at 0x7fe2353ae2c0>
GENERATE EMBEDDER<voice_changer.RVC.embedder.FairseqHubert.FairseqHubert object at 0x7fe2353acac0>
GENERATE PITCH EXTRACTOR<voice_changer.RVC.pitchExtractor.HarvestPitchExtractor.HarvestPitchExtractor object at 0x7fe213f2ffa0>
[Voice Changer] [RVC] Initializing... done
[Voice Changer][RVC]: update_settings modelSlotIndex:1696474158001
[Voice Changer] warming up... generating sola buffer.
[Voice Changer] update configuration: rvcQuality 1
[Voice Changer][RVC]: update_settings rvcQuality:1
[Voice Changer] update configuration: rvcQuality 0
[Voice Changer][RVC]: update_settings rvcQuality:0
[Voice Changer] update configuration: serverReadChunkSize 64
[Voice Changer][RVC]: update_settings serverReadChunkSize:64
[Voice Changer] update configuration: serverReadChunkSize 320
[Voice Changer][RVC]: update_settings serverReadChunkSize:320
[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: 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: enableServerAudio 1
[Voice Changer][RVC]: update_settings enableServerAudio:1
[Voice Changer] update configuration: enableServerAudio 0
[Voice Changer][RVC]: update_settings enableServerAudio:0

@w-okada
Copy link
Owner

w-okada commented Oct 5, 2023

I think this is not an issue with the software.
I'm not very familiar with Docker on Arch Linux. However, generally speaking, unless you set up special configurations, you won't be able to access host devices from inside a Docker container. You might want to refer to Docker's manual or the like to configure it so you can access your audio device from within the Docker container.

Please share your method if it works out well.

@w-okada
Copy link
Owner

w-okada commented Oct 9, 2023

no res close

@w-okada w-okada closed this as completed Oct 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants