SPC к командной строке WAV

Например, эти типы.SPC файлов: случайная SPC и папка WAV

Я не хочу, чтобы это принесло окно на переднем плане, просто невидимый процесс, который преобразует SPC в WAV.

executable foo/bar/input.spc bar/foo/output.wav

Я использую это в JAVA-приложении командной строки, таким образом, решение для Java ценилось бы, если это возможно. (Я могу использовать ProcessBuilder выполнять исполняемый файл если нет.)

3
задан 28 March 2017 в 12:38

1 ответ

Как удобный! FFMPEG может считать и преобразовать файлы SPC!

ffmpeg -i night1.spc -acodec pcm_u8 -ar 44100 night1.wav

Теперь, эта команда преобразует Ваш файл довольно чисто и выложит хорошее .wav файл (убедиться заменить night1.spc и night1.wav с тем, чем Вы хотите, чтобы имена файлов были).

, К сожалению, это не заканчивает историю в малейшем. После выполнения вышеупомянутой команды некоторое время, я получил следующий результат:

-rw-rw-r-- 1 kazwolfe kazwolfe 297M Mar 28 02:05 night1.wav
-rw-rw-r-- 1 kazwolfe kazwolfe  65K Mar 28 02:01 night1.spc

Это не может быть правильно..., давайте появимся открытый файл в Смелости и посмотрим то, что продолжается:

Короче говоря, файлам SPC не определили длину в них. В то время как там упоминание о длине в спецификации , это, кажется, часто игнорируется, и на самом деле проигнорированы в файлах, загруженных на Ваш Google Drive.

файлы SPC, как разорвано от SNES (в его исходном формате) были предназначены для цикличного выполнения в значительной степени навсегда. По сути, когда они играются (или преобразовываются в этом случае), они идут в также цикл навсегда.

Так, мы должны вручную передать в длине (и возможно сместить) к ffmpeg. К счастью, программа идет с прохладным небольшим параметром командной строки, названным -t <time>. Используя это, мы можем указать, сколько аудио мы хотим преобразовать.

Точно так же, если файл имеет смещение, мы можем использовать -ss <time> аргумент, чтобы указать, как далеко с начала мы хотим отсечь.

Поэтому принятие 45-секундного файла со смещением 5 секунд, команда, которую мы должны выполнить:

ffmpeg -i night1.spc -t 00:00:45 -ss 00:00:05 -acodec pcm_u8 -ar 44100 night1.wav
4
ответ дан 1 December 2019 в 15:51

Другие вопросы по тегам:

Похожие вопросы: