Allow reading of audio files via str path
This commit is contained in:
parent
4fc60bf5e9
commit
31b9280194
@ -500,7 +500,8 @@ def write_wav(wav_file, pcm_data, audio_format=DEFAULT_FORMAT):
|
|||||||
|
|
||||||
|
|
||||||
def read_wav(wav_file):
|
def read_wav(wav_file):
|
||||||
wav_file.seek(0)
|
if not type(wav_file) is str:
|
||||||
|
wav_file.seek(0)
|
||||||
with wave.open(wav_file, "rb") as wav_file_reader:
|
with wave.open(wav_file, "rb") as wav_file_reader:
|
||||||
audio_format = read_audio_format_from_wav_file(wav_file_reader)
|
audio_format = read_audio_format_from_wav_file(wav_file_reader)
|
||||||
pcm_data = wav_file_reader.readframes(wav_file_reader.getnframes())
|
pcm_data = wav_file_reader.readframes(wav_file_reader.getnframes())
|
||||||
@ -530,7 +531,8 @@ def write_audio(
|
|||||||
|
|
||||||
|
|
||||||
def read_wav_duration(wav_file):
|
def read_wav_duration(wav_file):
|
||||||
wav_file.seek(0)
|
if not type(wav_file) is str:
|
||||||
|
wav_file.seek(0)
|
||||||
with wave.open(wav_file, "rb") as wav_file_reader:
|
with wave.open(wav_file, "rb") as wav_file_reader:
|
||||||
return wav_file_reader.getnframes() / wav_file_reader.getframerate()
|
return wav_file_reader.getnframes() / wav_file_reader.getframerate()
|
||||||
|
|
||||||
@ -542,13 +544,18 @@ def read_opus_duration(opus_file):
|
|||||||
|
|
||||||
def read_ogg_opus_duration(ogg_file):
|
def read_ogg_opus_duration(ogg_file):
|
||||||
error = ctypes.c_int()
|
error = ctypes.c_int()
|
||||||
ogg_file_buffer = ogg_file.getbuffer()
|
if type(ogg_file) is str:
|
||||||
ubyte_array = ctypes.c_ubyte * len(ogg_file_buffer)
|
opusfile = pyogg.opus.op_open_file(
|
||||||
opusfile = pyogg.opus.op_open_memory(
|
bytes(ogg_file, encoding="utf-8"), ctypes.pointer(error)
|
||||||
ubyte_array.from_buffer(ogg_file_buffer),
|
)
|
||||||
len(ogg_file_buffer),
|
else:
|
||||||
ctypes.pointer(error),
|
ogg_file_buffer = ogg_file.getbuffer()
|
||||||
)
|
ubyte_array = ctypes.c_ubyte * len(ogg_file_buffer)
|
||||||
|
opusfile = pyogg.opus.op_open_memory(
|
||||||
|
ubyte_array.from_buffer(ogg_file_buffer),
|
||||||
|
len(ogg_file_buffer),
|
||||||
|
ctypes.pointer(error),
|
||||||
|
)
|
||||||
|
|
||||||
if error.value != 0:
|
if error.value != 0:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
@ -575,7 +582,8 @@ def read_duration(audio_type, audio_file):
|
|||||||
|
|
||||||
|
|
||||||
def read_wav_format(wav_file):
|
def read_wav_format(wav_file):
|
||||||
wav_file.seek(0)
|
if not type(wav_file) is str:
|
||||||
|
wav_file.seek(0)
|
||||||
with wave.open(wav_file, "rb") as wav_file_reader:
|
with wave.open(wav_file, "rb") as wav_file_reader:
|
||||||
return read_audio_format_from_wav_file(wav_file_reader)
|
return read_audio_format_from_wav_file(wav_file_reader)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user