File size: 1,199 Bytes
abf6bf2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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.'}