我在尝试设置这个吉他谱转录器时遇到了一个问题,路径未定义的问题。正如你在代码中看到的,我尝试将路径设置为 r'C:\Users\Bruger\Desktop\GuitarSet\audio\audio_hex-pickup_original'
等等。我没有太多编程经验,只是按照在线教程进行操作,但我真的很想知道这里出了什么问题。提前感谢你。
path = r'C:\Users\Bruger\Desktop\GuitarSet\audio\audio_hex-pickup_original'
audio_file = os.listdir(path)
audio_path = os.path.join(path, audio_file[file_num])
# 去噪函数
def cqt_lim(CQT):
new_CQT = np.copy(CQT)
new_CQT[new_CQT < -60] = -120
return new_CQT
# 执行常数-Q变换
data, sr = librosa.load(audio_path, sr = None, mono = True, offset = start, duration = dur)
CQT = librosa.cqt(data, sr = 44100, hop_length = 1024, fmin = None, n_bins = 96, bins_per_octave = 12)
CQT_mag = librosa.magphase(CQT)[0]**4
CQTdB = librosa.core.amplitude_to_db(CQT_mag, ref = np.amax)
new_CQT = cqt_lim(CQTdB)
---------------------------------------------------------------------------
**NameError Traceback (most recent call last)
<ipython-input-45-144a3248f390> in <module>
14
15 # 执行常数-Q变换
---> 16 data, sr = librosa.load(audio_path, sr = None, mono = True, offset = start, duration = dur)
17 CQT = librosa.cqt(data, sr = 44100, hop_length = 1024, fmin = None, n_bins = 96, bins_per_octave = 12)
18 CQT_mag = librosa.magphase(CQT)[0]**4
NameError: name 'audio_path' is not defined**
回答:
可能是 audio_path
和 audio_file
的缩进问题。
可以看看之前的代码吗?