spleeter icon indicating copy to clipboard operation
spleeter copied to clipboard

[Discussion] It's possible to use pipe with Spleeter?

Open Slidix99 opened this issue 4 years ago • 3 comments

I'm on Ubuntu and i've videos files. I will know if it's possible to use the pipes with Spleeter because i want, firstly, convert my video files in wav format and after that use the pipeline with Spleeter and re-use a pipe to create waveforms. For the moment, i'm trying that :

ffmpeg -i myFile.mp4 -f wav - | spleeter separate -i - -p spleeter:2stems -o separated

but i've errors like that:

Traceback (most recent call last): File "/home/l2-rd4/workspace/anaconda3/lib/python3.7/multiprocessing/pool.py", line 121, in worker result = (True, func(*args, **kwds)) File "/home/l2-rd4/workspace/anaconda3/lib/python3.7/site-packages/spleeter/audio/ffmpeg.py", line 108, in save os.makedirs(directory) File "/home/l2-rd4/workspace/anaconda3/lib/python3.7/os.py", line 221, in makedirs mkdir(name, mode) FileExistsError: [Errno 17] File exists: 'separated/-' """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/home/l2-rd4/workspace/anaconda3/bin/spleeter", line 8, in sys.exit(entrypoint()) File "/home/l2-rd4/workspace/anaconda3/lib/python3.7/site-packages/spleeter/main.py", line 54, in entrypoint main(sys.argv) File "/home/l2-rd4/workspace/anaconda3/lib/python3.7/site-packages/spleeter/main.py", line 46, in main entrypoint(arguments, params) File "/home/l2-rd4/workspace/anaconda3/lib/python3.7/site-packages/spleeter/commands/separate.py", line 45, in entrypoint separator.join() File "/home/l2-rd4/workspace/anaconda3/lib/python3.7/site-packages/spleeter/separator.py", line 68, in join task.get() File "/home/l2-rd4/workspace/anaconda3/lib/python3.7/multiprocessing/pool.py", line 657, in get raise self._value File "/home/l2-rd4/workspace/anaconda3/lib/python3.7/multiprocessing/pool.py", line 121, in worker result = (True, func(*args, **kwds)) File "/home/l2-rd4/workspace/anaconda3/lib/python3.7/site-packages/spleeter/audio/ffmpeg.py", line 108, in save os.makedirs(directory) File "/home/l2-rd4/workspace/anaconda3/lib/python3.7/os.py", line 221, in makedirs mkdir(name, mode) FileExistsError: [Errno 17] File exists: 'separated/-' av_interleaved_write_frame(): Broken pipe Error writing trailer of pipe:: Broken pipe size= 1304kB time=00:00:06.93 bitrate=1540.9kbits/s speed=0.204x
video:0kB audio:1308kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Conversion failed!

I can do the commands separately but with pipes I've problems . So if you have solutions, I'm listening. Thanks!

Slidix99 avatar Aug 04 '20 10:08 Slidix99

Hello and thank you for your suggestion.

Indeed, pipe are not supported as we do not read data from stdin but from file only. One solution for your problem would be to use an intermediate file.

Although I feel like this would be indeed a nice feature to add (through a --stdin parameter). So we will probably consider it in the future.

Faylixe avatar Aug 04 '20 11:08 Faylixe

Nice, Thank you for your reply

Slidix99 avatar Aug 04 '20 12:08 Slidix99

Hi, is there any news about the use of pipe with Spleeter?

vadd98 avatar Jun 15 '22 15:06 vadd98