Reputation: 61
I am working on a script that split audios by 1 second, which performs its task well until i try to export all those files on different directories rather than source file directories, how can I make this script export file wherever I want.
from pathlib import Path
from pydub import AudioSegment
from pydub.utils import make_chunks
# directory ='files'
directory = r'C:\\Users\Siyam-Fahad\Desktop\\files'
files = Path(directory).glob('*')
for file in files:
myaudio = AudioSegment.from_file(file, "wav")
chunk_length_ms = 1000
chunks = make_chunks(myaudio, chunk_length_ms)
print(chunks)
for i, chunk in enumerate(chunks):
chunk_name = f"{file}{i}.wav"
print("exporting", chunk_name)
chunk.export(f'C:\\Users\Siyam-Fahad\Desktop\\pycode'+ chunk_name, format="wav")
Error log:
File "C:\Users\Siyam-Fahad\AppData\Local\Programs\Python\Python38\lib\site-packages\pydub\utils.py",
line 60, in _fd_or_path_or_tempfile fd = open(fd, mode=mode) OSError: [Errno 22]
Invalid argument: 'C:\\Users\\Siyam-Fahad\\Desktop\\pycodeC:\\Users\\Siyam-Fahad\\Desktop\\files\\mixkit-crickets-and-insects-in-the-wild-ambience-39.wav0.wav'
Upvotes: 1
Views: 817
Reputation: 364
I think you are not given the path correctly, did you miss backslash at some point in the directory
.
This the correct way directory = r'C:\\Users\\Siyam-Fahad\\Desktop\\files'
Upvotes: 1