Запись звука из командной строки

Windows 7

Для записи звука на семерке можно использовать стандартную утилиту

Ключ -d позволяет не ждать завершения записи

Windows 10

После ввода окружения Metro SoundRecorder.exe был удален из системы и для Win10 требуется другой механизм.
Предлагаю использовать стороннюю библиотеку, для работы с видио и аудио файлами, ffmpeg

Скачиваем ffmpeg и переходим в каталог его размещения.

Для получения ориентира, я решил записать стандартным средством звукозаписи пример аудиофайла.
Кстати запустить его можно из консоли таким образом:

Нужно мне это было что бы посмотреть его параметры, так как качество меня вполне устраивало.

Видим:

Контейнер: .m4a; Кодек: aac (LC); Битрейт: 196 kb/s

Далее смотрим список устройств чтобы найти ваш микрофон. Для этого нужно ввести следующую команду:

На этом шаге я столкнулся с тем, что имя моего микрофона отображалось почему то кракозябрами. Такими ╨Ь╨╕╨║╤А╨╛╤Д╨╛╨╜ либо такими Микрофон.
В данном случае это слово «Микрофон» в кодировках CP866 и CP1251, соответственно.

При подобной проблеме, можете или перейти на сайт с декодером(первый в поиске),
или же использовать Alternative name — буквенно-цифровой ID устройства, который всегда отображается нормально.

Я выбрал такой же кодек как в файле-примере, поставил битрейт повыше, и в конечном виде команда у меня приняла такой вид.

Можно выбрать любой битрейт, но на официальном сайте выше 256 не рекомендуют, т.к. это избыточно.
Для минимального битрейта используйте ключ-q:a 0

Ключ -t определяет длительность записи. Можно и без него, но при остановке команды из Powershell, файл при запуске сообщает о повреждении.  А остановить запись штатным образом, нажатием «Q», не дает сам PoSh.

В то же время запуск и завершение этой команды в CMD происходят успешно.

Альтернатива для Powershell может быть запись в MP3

Используется другой кодек и следовательно формат файла. Качество особо не ухудшается. Но самое главное, что при остановке выполнения сценария PoSh, файл не повреждается.

И еще пару команд:

Конечно же библиотека должна быть скопирована предварительно.

А в данном примере psexec сам копирует на удаленный компьютер файл и выполняет его с заданными параметрами

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *