오류 해결 관련 질문입니다..
조회수 308회
녹음파일과 음원을 합성하는 코딩 중입니다..
line 24, in <module>
v_data = np.array(v_data[0:len(v_data):diffRate])
TypeError: slice indices must be integers or None or have an __index__ method
이러한 오류가 뜨면서 자꾸 실행이 되지 않습니다.. 뭐가 문제인걸까요..?
<전체 코드>
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
from scipy.io.wavfile import write
import os
v_samplerate, v_data = sio.wavfile.read('voice.wav')
b_samplerate, b_data = sio.wavfile.read("Invisible_Beauty.wav")
v_times = np.arange(len(v_data))/float(v_samplerate)
b_times = np.arange(len(b_data))/float(b_samplerate)
if (len(v_data.shape) > 1) :
v_data = np.array(v_data[:,0])
if (len(b_data.shape) > 1) :
b_data = np.array(b_data[:,0])
if (v_samplerate > b_samplerate) :
diffRate = v_samplerate / b_samplerate
v_data = np.array(v_data[0:len(v_data):diffRate])
sr = b_samplerate
elif (v_samplerate < b_samplerate) :
diffRate = int(b_samplerate / v_samplerate)
b_data = np.array(b_data[0:len(b_data):diffRate])
sr = v_samplerate
else :
sr = b_samplerate
mix_data = v_data + b_data[sr*10:len(v_data)+sr*10]
b_data[sr*10:len(v_data)+sr*10] = mix_data
scaled = np.int16(b_data/np.max(np.abs(b_data)) * 32767)
write('voice2.wav', sr, scaled)
os.system("start voice2.wav")
댓글 입력