norae-2 / sandboxes /voice_generation.py
kopyl's picture
Upload folder using huggingface_hub
330f49f verified
from scipy.io.wavfile import write
from infer import vc_single
import numpy as np
def generate_wav(audio_file='/workspace/RVC/Vanessa.mp3', method='pm', index_rate=0.6, output_file='output.wav'):
song_output = vc_single(
0,
audio_file,
0.0,
'',
method,
'',
'',
index_rate
)
if not song_output:
return {'error': 'Failed to generate audio. No song output.'}
output_status = song_output[0]
if output_status != 'Success':
return {'error': 'Failed to generate audio. No success message.'}
output_bitrate_and_song = song_output[1]
if len(output_bitrate_and_song) != 2:
return {'error': 'Failed to generate audio. Bitrate and song does not have 2 elements.'}
output_bitrate, output_song = output_bitrate_and_song
if type(output_bitrate) != int:
return {'error': 'Failed to generate audio. Bitrate is not an integer.'}
if type(output_song) != np.ndarray:
return {'error': 'Failed to generate audio. Song is not a numpy array.'}
write(output_file, output_bitrate, output_song)
return {'success': 'Audio generated successfully.'}