Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: nex555-penguin 13 Prosince 2012, 22:48:58

Název: nefunguje mi roura :/
Přispěvatel: nex555-penguin 13 Prosince 2012, 22:48:58
Zdravím, mořím se tu s jedním problémem už asi hodinu a stejně jsem nepřišel na vyřešení

potřebuji hromadně převést mnoho midi souborů do mp3

 
Kód: [Vybrat]
mkfifo roura
 fluidsynth /usr/share/sounds/sf2/FluidR3_GM.sf2 pokus.mid -F roura & lame roura pokus.mp3

skončí:
Kód: [Vybrat]
Rendering audio to file 'roura'..
Warning: unsupported audio format
fluidsynth: error: Failed to open audio file 'roura' for writing
[1]   Dokončena

pokud pustím zvlášť ve dvou terminálech tak to funguje v pořádku - vím že to bude nějaká blbost na moji straně ale už fakt nevím... :/

... ještě mě napadlo, fluidsynthu to chvíli trvá než naskočí a začne tam sypat data a pokud pustím opačně (tj. nejdříve
Kód: [Vybrat]
lame roura pokus.mp3 a pak terpve   
Kód: [Vybrat]
fluidsynth /usr/share/sounds/sf2/FluidR3_GM.sf2 pokus.mid -F roura tak to vypíše tu samou chybu jako když to pustím v jednom příkazu (to "Warning: unsupported audio format" se vyhodí v terminálu u lame). Tak mě napadlo, jestli by se lame nedalo spustit až o chvíli déle (jen se divím, že si nepočká na to, až v rouře něco bude mít - takhle počká si ale jakmile si lame otevře rouru pro čtení, fluidsynth už do ní není schopný zapsat...  :-\ )
děkuji předem za pomoc
Název: Re:nefunguje mi roura :/
Přispěvatel: daysleeper 13 Prosince 2012, 23:55:00
Možná bude stačit dát příkazu lame input parametr naznačující, jaký typ souboru má očekávat, např.
Kód: [Vybrat]
lame -r roura vysl.mp3 #raw
viz man lame, část INPUT
Název: Re:nefunguje mi roura :/
Přispěvatel: MacHala 14 Prosince 2012, 09:40:10
proc vlastne nepouzivas normalni rouru (|)? Myslim, ze vzhledem k tomu jak je to tam s buffrovanim, tak by tenhle problem nastat nemel...

EDIT: aha, nekoukal jsem na man page fluidsynthu, myslel jsem ,ze jako je zvykem pri pouziti - misto souboru pouzije standardni vystup
Název: Re:nefunguje mi roura :/
Přispěvatel: nex555-penguin 14 Prosince 2012, 09:59:28
prosím o přesný příklad příkazu . Samosebou jednoduchá roura bylo to první co jsem zkoušel ale fluidsynth očekává za -F soubor a lame zase také očekává nějaký vstup, lame se mi povedlo donutit aby četlo z stdin (díky daysleeper)  ale prostě to nějak nechodí dohromady (fluidsynth odmítne zapisovat), zkoušel jsem i zástupná znamínka ( - ) ale výsledek pořád nic... buďto fluidsynth odmítne zapisovat a lame pak nemá co číst, nebo fluidsynth začne zapisovat ale lame skončí chybou, protože FS nezačne zapisovat hned od začátku (chvíli mu trvá než načte soundfonty)
Název: Re:nefunguje mi roura :/
Přispěvatel: beer 14 Prosince 2012, 10:09:15
Nezvládl by to i avconv?

Kód: [Vybrat]
#!/bin/bash
find *.mid|while read line;
do avconv -i "$line" "$line".mp3;
done
Název: Re:nefunguje mi roura :/
Přispěvatel: beer 14 Prosince 2012, 10:27:08
Nebo by to třeba šlo takto? Fluidsynth neznám, nepoužívám, takže nevím...

Kód: [Vybrat]
#!/bin/bash
find *.mid|while read line;
do fluidsynth /usr/share/sounds/sf2/FluidR3_GM.sf2 -F "$line" "$line".mp3;
done

Edit, mohlo by fungovat toto...

Kód: [Vybrat]
fluidsynth -F pokus.wav /usr/share/sounds/sf2/FluidR3_GM.sf2 pokus.mid
avconv -i pokus.wav pokus.mp3