Использование lame изнутри SoxSharp - PullRequest
0 голосов
/ 27 августа 2018

Я всегда использовал эту командную строку для создания mp3 с битрейтом 32 кбит / с и частотой дискретизации 22050 Гц:

"lame -b 32 --resample 22050 input.wav output.mp3"

Теперь я хотел использовать SoxSharp для этого, он имеет опцию mp3 и использует libmp3lame.dll, поэтому я думаю, что он должен работать.

Однако я не могу определить правильные параметры.

Доступные параметры для выхода mp3 перечислены ниже.

    Using nSox As Sox = New Sox("d:\dev\projects\sox-14-4-0\sox.exe")

        nSox.Output.Type = FileType.MP3
        nSox.Output.SampleRate = I guess that would be 22050 in my case?
        nSox.Output.Channels = 1 'yep, I want mono
        nSox.Output.Encoding = // not sure what to make of it
        nSox.Output.SampleSize = // not sure what to make of it
        nSox.Output.ByteOrder = // I guess I shouldn't touch that
        nSox.Output.ReverseBits  = // I guess I shouldn't touch that
        nSox.Output.Compression = // absolutely not sure what I should choose here

        nSox.Process("input.wav", "output.mp3")

    End Using

Кто-нибудь видит, куда я должен вставить свой "32"? И правильно ли .SampleRate = 22050 в моем случае ?? Диалоговое окно свойств файла Windows не дает мне никаких реальных подсказок, если я делаю это правильно, и Audacity конвертирует аудио в формат моего проекта.

Большое спасибо за помощь!

1 Ответ

0 голосов
/ 28 августа 2018

Изучая исходный код SoxSharp, он не может даже обработать самые простые команды lame из коробки. В основном все должно быть помещено в свойство "CustomArguments".

...