Конвертируйте mp3 из моно в стерео, используя Lame


4

Приложение требует, чтобы принимаемые им mp3-файлы были закодированы с 2 каналами (стерео), но исходные файлы имеют только 1 канал (моно).
Мы используем Lame для преобразования, но мне не удается заставить его клонировать моноканал и создать поддельное стерео.

lame.exe -m j mono.mp3 stereo.mp3

-m d или же -m s похоже, тоже не работает. Можно ли сделать это с хромой?


1
Вы должны просто использовать LAME для этого, или вы хотели бы использовать Audacity?
SaintWacko

Lame вызывается из другого приложения как команда оболочки. Audacity не рассматривался, так как я думал, что у него нет полезного интерфейса командной строки. Я, конечно, могу пересмотреть!
ANisus

Ну, насколько я знаю, у него нет интерфейса командной строки. Вот что мне было интересно: зачем вам нужно было использовать LAME.
SaintWacko

Ответы:


4

Ответ на мой собственный вопрос: Нет - это невозможно с хромой

Мое обходное решение заключается в использовании инструмента командной строки sox и сделайте дублирование канала до mp3-конвертации:

sox mono.wav -c 2 stereo.wav

Затем используйте lame:

lame -m j stereo.wav stereo.mp3

ну, есть такая вещь, как совместное стерео, которое вы в основном использовали здесь, что фактически означает, что вы дублируете моноканал.
holms

1
@holms Да, это то, что я использую. -m j создаст совместное стерео, но насколько я знаю, это не совсем дубликат, а скорее кодирование разницы между каналами. И .. хорошо .., поскольку в дубликате нет разницы, размер добавляемого файла должен быть незначительным :)
ANisus

1

Вы можете сделать это с помощью ffmpeg. Вот команда, которую я использовал для монофонических mp3-файлов с частотой дискретизации 11025 Гц и битрейтом 40 кбит / с:

ffmpeg -i mono.mp3 -ac 2 -ab 96000 -ar 22050 stereo.mp3

1

Вы можете использовать хромой для этого. С моно WAV вход, просто используйте -m s как хромой вариант. При использовании других параметров lame по умолчанию вывод будет (простой) стерео.

РЕДАКТИРОВАТЬ: я был неправ! Оригинальный ответ постеров был верным: когда входной сигнал wav монофонический, вы не можете получить хромоту, чтобы сделать его стерео с -m s,


Обратите внимание, что при наличии монофонического wav-файла в качестве входного сигнала lame выводит Joint Stereo по умолчанию, если вы не укажете что-то еще.
abekonge

это тоже было неправильно. Сожалею.
abekonge

0

Согласно Документация LAME @ Режимы, я бы попробовал "-m d". Вам также следует подумать об удвоении вашего битрейта, потому что он теперь используется двумя каналами, а не одним.


Как я уже заметил, -m d а также -m s тоже не работал (или -m f в этом отношении). Кажется, что lame игнорирует его и создает одноканальный файл. Двойной битрейт - хорошее предложение :)
ANisus

1
Извините, я не видел этого м ( -m i тоже не работает? кажется, нет никакой возможности назначить каждому каналу входной файл ...
Chake

Но идея использовать один и тот же файл дважды для каждого канала - хорошая идея. Это был бы один способ решить это наверняка. Я тоже смотрю на это.
ANisus
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.