def create_marked_audio_file(mark_locations: Union[List[float], np.ndarray], output_path: Opt[str] = None, *,
audio_file: Opt[str] = None, duration: float = None):
if audio_file:
y, sr = librosa.load(audio_file)
marked_audio = librosa.core.clicks(times=mark_locations, sr=sr, length=len(y))
marked_audio = y + marked_audio
elif duration:
sr = 22050
marked_audio = librosa.core.clicks(times=mark_locations, sr=sr, length=int(sr * duration))
else:
raise ParameterError("Must provide either audio file or duration.")
librosa.output.write_wav(path=output_path, y=marked_audio, sr=sr)
return output_path
评论列表
文章目录