Отправляет email-рассылки с помощью сервиса Sendsay

запись в файл

Здравствуйте, Константин!
Большое спасибо за ответ.
Вы пишете:

А нельзя сделать так, чтоб не переключаться в другую консоль, а
воспользоваться как-нибудь уже запущенным мплеером для записи или
использовать тот же sox?

Запуская скрипт после at
Я получила следующий вывод:
$ at +1 minutes </home/radioscript

Try adding "echo 1024 > /proc/sys/dev/rtc/max-user-freq" to your system startup
scripts.

О чем это говорит?

Не могли бы Вы написать конкретный пример работы sox с вырезанием из
wav файла фрагмента или указать где об этом можно почитать
на русском языке?
Заранее благодарна, Марфуша.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 28432; Возраст листа: 1189; Участников: 1686
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/604166

Ответить   Thu, 26 Oct 2006 16:17:56 +0400 (#604166)

 

Ответы:

В сообщении от 1161868676 секунд после начала Эпохи marfa написал(а):

К сожалению, уже запущенным mplayer'ом воспользоваться нельзя. Разве
что делать вывод звука в Jack-сервер (Jack Audio Connection Kit), а
затем соединять его со звуковой картой, а потом еще с каким-нибудь
клиентом для записи в файл. Но намного проще параллельно запустить
другой процесс mplayer'а для записи. При этом переключатся на другую
консоль не обязательно (но так все же проще), а можно воспользоваться
возможностью переключения задач в bash. Делается это так

$ mplayer -noconsolecontrols -really-quiet url

Затем нажимаете Ctrl-Z, звук пропадает и Вы возвращаетесь обратно в
командную строку. Даете команду:

$ bg

И звук возвращается. При этом Вы остаетесь в командной строке. Когда
нужно записать поток командуете:

$ mplayer -ao pcm:file=filename.wav url

По окончанию выходите из mplayer'а как обычно. А чтобы остановить
первый запущенный процесс, который воспроизводит поток даете команду:

$ kill %1

sox не понимает URL'ы. И даже если бы понимал, то Вам все равно
пришлось бы переключится на другую консоль или иным способом получить
командную строку.

Это значит что нужно выполнить от root'а такие действия:

# echo 1024 > /proc/sys/dev/rtc/max-user-freq
# echo dev.rtc.max-user-freq = 1024 >> /etc/sysctl.conf

Про документацию на русском ничего не скажу. А пример показать могу.

$ sox входной_файл.wav выходной_файл.wav trim 00:07 00:03

Эта команда запишет в `выходной_файл.wav' фрагмент из
`входной_файл.wav' начинающийся с позиции 7 секунд и имеющий
продолжительность 3 секунды.

А удаление шума делается примерно так (поправьте если где-то ошибусь):

$ sox входной_файл.wav /dev/null trim 00:00 00:02 noiseprof профиль.noise
$ sox входной_файлwav выходной_файл.wav noisered профиль.noise

Здесь `00:00 00:02' означает фрагмент во входном файле, который содержит
только шум. По окончанию `профиль.noise' можно удалить.

Ответить   Konstantin Korikov Thu, 26 Oct 2006 16:43:30 +0300 (#604204)