Конвертировать mp3 в flac файлы

Я пытаюсь найти способ легко конвертировать mp3 в файлы flac, используя ruby ​​(предпочтительно) на стороне сервера. У меня есть куча аудио, которые я хотел бы транскрибировать с помощью Google Voice API, но он принимает только flac. (между прочим). Может найти конвертер flac2mp3, который будет работать на ноутбуке, просмотрел код и, к сожалению, похоже, просто вызывает системную команду, которая требует локальной установки кодеков. .

Может быть, есть API, который сделает это для меня? Или простой способ установить кодеки и запустить такую ​​команду на героку.


person Carpela    schedule 23.08.2016    source источник
comment
Рекомендация сторонних ресурсов не относится к теме Stack Overflow — вам придется найти другой способ сформулировать свой запрос, иначе этот вопрос, скорее всего, будет закрыт. Кроме того, действительно ли имеет смысл конвертировать из формата с потерями в формат без потерь?   -  person MarsAtomic    schedule 23.08.2016
comment
FWIW: superuser.com/questions/457548/how-can-i-convert-an-mp3-to-flac/   -  person orde    schedule 23.08.2016


Ответы (1)


@orde связан с актуальным вопросом, который рекомендует следующее:

ffmpeg -i input.mp3 output.flac

Это не команда ruby, это системная команда (т.е. unix или windows)

Чтобы вызвать системную команду из ruby, вы можете использовать обратные кавычки или system.

Например, после того, как вы установили ffmpeg в свою систему

def convert_mp3_to_flac(mp3_path)
  flac_path = mp3_path.gsub(".mp3", ".flac")
  system("ffmpeg -i #{mp3_path} #{flac_path}")
end 
person max pleaner    schedule 23.08.2016
comment
Да, я зашел так далеко после прочтения кода в драгоценном камне. Просто кажется полным баллашем. Нужно будет каким-то образом интегрировать сборочный пакет ffmpeg в heroku, чтобы иметь возможность это сделать. Не знаю, почему Google не может просто разрешить форматы, которые люди действительно используют... - person Carpela; 24.08.2016
comment
этот, похоже, работает: elements.heroku.com/buildpacks/jonathanong/ ... после того, как вы добавите его, вам нужно зафиксировать произвольное изменение кода и git push heroku master запустить новую сборку, тогда heroku run "ffmpeg --version" должно работать - person max pleaner; 24.08.2016