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

mac m2 实时变声报错 #2285

Open
odayang opened this issue Sep 5, 2024 · 0 comments
Open

mac m2 实时变声报错 #2285

odayang opened this issue Sep 5, 2024 · 0 comments

Comments

@odayang
Copy link

odayang commented Sep 5, 2024

设备信息:Mac m2
python版本:3.8
音频设备列表:

  0 Dubbing Virtual Device , Core Audio (1 in, 1 out)
  1 Microphone, Core Audio (0 in, 2 out)
  2 BlackHole 16ch, Core Audio (16 in, 16 out)
  3 BlackHole 2ch, Core Audio (2 in, 2 out)
> 4 MacBook Pro麦克风, Core Audio (1 in, 0 out)
  5 MacBook Pro扬声器, Core Audio (0 in, 2 out)
  6 DTAudioPlugin, Core Audio (2 in, 2 out)
  7 Screaming Bee, Core Audio (2 in, 2 out)
< 8 多输出设备, Core Audio (0 in, 2 out)

当我运行gui_v1.py,点击“开始音频转换”时报错,报错信息如下:

(.venv) (base)  nono@MacBook-Pro  ~/tmp/Retrieval-based-Voice-Conversion-WebUI   main ±  python3.8 gui_v1.py
2024-09-05 13:48:25 | INFO | faiss.loader | Loading faiss.
2024-09-05 13:48:25 | INFO | faiss.loader | Successfully loaded faiss.
2024-09-05 13:48:26 | INFO | configs.config | No supported Nvidia GPU found
2024-09-05 13:48:26 | INFO | configs.config | overwrite v1/32k.json
2024-09-05 13:48:26 | INFO | configs.config | overwrite v1/40k.json
2024-09-05 13:48:26 | INFO | configs.config | overwrite v1/48k.json
2024-09-05 13:48:26 | INFO | configs.config | overwrite v2/48k.json
2024-09-05 13:48:26 | INFO | configs.config | overwrite v2/32k.json
2024-09-05 13:48:26 | INFO | configs.config | overwrite preprocess_per to 3
2024-09-05 13:48:26 | INFO | configs.config | Use mps instead
2024-09-05 13:48:26 | INFO | configs.config | Half-precision floating-point: False, device: mps
Input device: 4:MacBook Pro麦克风
Output device: 8:多输出设备
cuda_is_available: False
gui_config: /Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/models/kiki.pth /Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/models/kiki.index
/Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/.venv/lib/python3.8/site-packages/fairseq/checkpoint_utils.py:315: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
  state = torch.load(f, map_location=torch.device("cpu"))
2024-09-05 13:48:34 | INFO | fairseq.tasks.hubert_pretraining | current directory is /Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI
2024-09-05 13:48:34 | INFO | fairseq.tasks.hubert_pretraining | HubertPretrainingTask Config {'_name': 'hubert_pretraining', 'data': 'metadata', 'fine_tuning': False, 'labels': ['km'], 'label_dir': 'label', 'label_rate': 50.0, 'sample_rate': 16000, 'normalize': False, 'enable_padding': False, 'max_keep_size': None, 'max_sample_size': 250000, 'min_sample_size': 32000, 'single_target': False, 'random_crop': True, 'pad_audio': False}
2024-09-05 13:48:34 | INFO | fairseq.models.hubert.hubert | HubertModel Config: {'_name': 'hubert', 'label_rate': 50.0, 'extractor_mode': default, 'encoder_layers': 12, 'encoder_embed_dim': 768, 'encoder_ffn_embed_dim': 3072, 'encoder_attention_heads': 12, 'activation_fn': gelu, 'layer_type': transformer, 'dropout': 0.1, 'attention_dropout': 0.1, 'activation_dropout': 0.0, 'encoder_layerdrop': 0.05, 'dropout_input': 0.1, 'dropout_features': 0.1, 'final_dim': 256, 'untie_final_proj': True, 'layer_norm_first': False, 'conv_feature_layers': '[(512,10,5)] + [(512,3,2)] * 4 + [(512,2,2)] * 2', 'conv_bias': False, 'logit_temp': 0.1, 'target_glu': False, 'feature_grad_mult': 0.1, 'mask_length': 10, 'mask_prob': 0.8, 'mask_selection': static, 'mask_other': 0.0, 'no_mask_overlap': False, 'mask_min_space': 1, 'mask_channel_length': 10, 'mask_channel_prob': 0.0, 'mask_channel_selection': static, 'mask_channel_other': 0.0, 'no_mask_channel_overlap': False, 'mask_channel_min_space': 1, 'conv_pos': 128, 'conv_pos_groups': 16, 'latent_temp': [2.0, 0.5, 0.999995], 'skip_masked': False, 'skip_nomask': False, 'checkpoint_activations': False, 'required_seq_len_multiple': 2, 'depthwise_conv_kernel_size': 31, 'attn_type': '', 'pos_enc_type': 'abs', 'fp16': False}
/Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/.venv/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:134: FutureWarning: `torch.nn.utils.weight_norm` is deprecated in favor of `torch.nn.utils.parametrizations.weight_norm`.
  WeightNorm.apply(module, name, dim)
/Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/infer/lib/jit/get_synthesizer.py:12: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
  cpt = torch.load(pth_path, map_location=torch.device("cpu"))
Index search FAILED or disabled
/Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/.venv/lib/python3.8/site-packages/local_attention/rotary.py:33: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.
  @autocast(enabled = False)
/Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/.venv/lib/python3.8/site-packages/local_attention/rotary.py:55: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.
  @autocast(enabled = False)
Loading fcpe model
  [INFO]: device is not None, use mps
  [INFO]    > call by:torchfcpe.tools.spawn_infer_cf_naive_mel_pe_from_pt
/Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/.venv/lib/python3.8/site-packages/torchfcpe/models_infer.py:191: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
  ckpt = torch.load(pt_path, map_location=torch.device(device))
  [WARN] args.model.use_harmonic_emb is None; use default False
  [WARN]    > call by:torchfcpe.tools.spawn_cf_naive_mel_pe
/Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/.venv/lib/python3.8/site-packages/torch/nn/functional.py:4552: UserWarning: MPS: The constant padding of more than 3 dimensions is not currently supported natively. It uses View Ops default implementation to run. This may have performance implications. (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/aten/src/ATen/native/mps/operations/Pad.mm:472.)
  return torch._C._nn.pad(input, pad, mode, value)
Spent time: fea = 0.288s, index = 0.000s, f0 = 0.350s, model = 0.563s
Exception ignored from cffi callback <function _StreamBase.__init__.<locals>.callback_ptr at 0x17183e940>:
Traceback (most recent call last):
  File "/Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/.venv/lib/python3.8/site-packages/sounddevice.py", line 894, in callback_ptr
    return _wrap_callback(
  File "/Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/.venv/lib/python3.8/site-packages/sounddevice.py", line 2714, in _wrap_callback
    callback(*args)
  File "gui_v1.py", line 980, in audio_callback
    _, sola_offset = torch.max(cor_nom[0, 0] / cor_den[0, 0])
  File "/Users/nono/tmp/Retrieval-based-Voice-Conversion-WebUI/.venv/lib/python3.8/site-packages/torch/_tensor.py", line 1043, in __iter__
    raise TypeError("iteration over a 0-d tensor")
TypeError: iteration over a 0-d tensor

是我哪里选择不对吗?

@odayang odayang closed this as completed Sep 5, 2024
@odayang odayang reopened this Sep 5, 2024
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

1 participant