| ||
Музыка из консолиПетр 'Roxton' Семилетов Недавно я беседовал с программой искусственного интеллекта Megahal (http://prdownloads.sourceforge.net/ --Music apps for console mode — is that cool? (Музыкальные проги для консольного режима — это круто?) --Yes, — ответил я. Тогда кибернетический разум изрек: --Let me tell you a secret. I have absolutely no idea about that. Please. Let's talk about that.(Позволь сказать тебе по секрету. Я абсолютно не имею понятия, о чем ты. Предлагаю поговорить об этом.) Раз уж тема заинтересовала Megahal'а, подумал я, то и читателям она может быть не менее интересна. Итак, сегодня речь пойдет о консольных звуковых программах для Linux. Они не так ужасны, как может показаться на первый взгляд. Да, терминал, текстовый режим, клавиатура... Так ли все плохо? Но если компьютер старый, видяха глючит и ГРАФИКУ ВООБЩЕ НЕ ДЕРЖИТ? Сидеть молча перед черным экраном с зелеными буквами? Нет уж! Консольные звуковые проги под Линукс — это просто другое «измерение» софтового мира, на которое стоит обратить внимание. Вот и обратим. Но сначала — важное замечание: консольные команды и их параметры следует набирать так, как они написаны в этой статье, соблюдая регистр букв и не употребляя «-», если показано «--». Первым в очереди стоит CD-плейер — cdplay. Держу пари, что он у вас установлен. Просто наберите в консоли cdp и нажмите Enter. Если ничего не вышло, установите программу с дистрибутива Linux — cdp входит в состав любого клона Красной Шапки. Люблю слушать музыкальные CD именно в Линуксе. У меня CD-ROM от Teac, на двадцать четыре скорости. Функции ACPI (то есть цифрового «снятия» звука с носителя) в нем как-то хитро устроены — Winamp и прочие играет СD аналоговым способом, в то же время Audiograbber все же благополучно находит эту ACPI и оцифровывает все как нужно. А в Линуксе все тип-топ — диски играются как положено — цифра! Пожалуй, cdp — наиболее популярный плейер после XMMS (новая версия которого вышла в ноябре, полностью избавленная от «наследия» Winamp; теперь это совершенно оригинальный продукт — сходите на http://www.xmms.org и убедитесь сами). Запускаем cdp, видим простое окошко — минимализм полный, дальне некуда. Зато практично. Клавишами «влево» и «вправо» ходим по списку треков. Клавиша «вверх» выдвигает каретку CD-ROM'а (а есть еще такая утилита как eject — она выдвинет вам не только CD, но и ZIP-дискету, если нужно!) Клавиши с цифрами отвечают за следующие функции: 9 — играть; 8 — пауза или возобновить; 7 — стоп; 6 — следующий трек; 5 — повторить текущий трек с начала; 4 — перейти на предыдущую дорожку; 3 — перемотка вперед на 15 секунд; 2 — «жесткий» выход — останов музыки, выдвижение каретки, завершение работы программы; 1 — перемотка назад на 15 секунд; 0 — «мягкий» выход из интерактивного режима плейера, музыка продолжает играть; . — (точка) — помощь; Enter — редактировать название песни; a — редактировать имя исполнителя; c — редактировать название CD. Когда вы запускаете cdplay командой cdp, то он стартует в интерактивном режиме — вы можете управлять им с клавиатуры. Второй режим, «тихий», удобен в том случае, если вы хотите запустить музычку и спокойно заниматься своими делами. А вот и команды для этого режима: cdplay — играть CD. cdplay stop — остановить музыку. Кстати, когда вы выходите из cdp по клавише «0», то выключить музыку можно также этой командой. cdplay play номер_дорожки — играть дорожку номер такую-то. Ага, вот и вы уже соображаете, как связать плейер с любимым планировщиком задач или будильником :-). Теперь о плохом. Ну, не то чтобы совсем плохом... Однако эта программа весьма охоча на системные ресурсы. От количества памяти и быстроты процессора ее аппетиты не зависят. Просто она отнимает 40-80 процентов вычислительной мощности (эти проценты постоянно скачут от минимума к максимуму). При том, что XMMS 1.2.5 (та самая, свежая) отнимает на тех же дисках всего до 20 процентов! Следующим в нашем обзоре будет культовый, да — культовый плейер MPG123 от группы разработчиков во главе с Michael Hipp. Качество звучания MPG123 настолько потрясающе, что этот движок стал интегрирован со многими популярнейшими плейерами. Например, XMMS играет эмпешки именно через MPG123. Более того, скорей качайте отсюда (http://www.milky.ne.jp/~galaxy/in_mpg123_118.zip) аналогичный плагин для Winamp! Устанавливать его нужно так: 1. Распаковать плагин и скопировать его в папку Winamp > Plugins. 2. Запустить Winamp, в нем зайти в Preferences. Там в окне конфигурации стандартного плагина Nullsoft MPEG Audio Decoder, в General > File Assotiation нужно убрать из списка MP3, чтоб старый плагин не распускал руки :-). А потом перезапустить Winamp и поразиться совершенно свежему и доселе неслыханному звучанию убитых MP3/128... Но вернемся к Линуксу. Без сомнения, у вас в дистрибутиве есть MPG123. Если нет — качайте ( http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz), устанавливайте, пользуйтесь. Сейчас разберем, как. Строгая командная строка, никакого интерактива: mpg123 имя_файла — воспроизвести файл mpg123 -@ имя_файла — проиграть все файлы из плейлиста (подходит любой список файлов). Немного примеров для иллюстрации: mpg123 Paper_Cuts.mp3 — играть файл Paper_Cuts.mp3 из текущей директории. mpg123 -@ Nirvana_Bootlegs.m3u — играть плейлист Nirvana_Bootlegs.m3u. Обратите внимание на то, что MPG123 из командной строки в упор не видит файлы, в именах которых содержатся пробелы. То бишь, когда файл с пробелами в имени содержится в плейлисте, то проблем не возникает. А когда имя передается в параметре, напрямую — увольте, «кина не будет». В плейлисте могут находиться ссылки на файлы в Сети. Формат каждой строки плейлиста будет таков: http://host.domain:port/имяфайла. Пример плейлиста из двух элементов — один ссылается на файл в Сети, другой — на эмпешку на автоматически монтированном CD-ROM'е: http://www.doors.org/the_end.mp3 /mnt/cdrom/Nirvana/1989 Bleach/04 — School.mp3 Производительность MPG123: На Athlon 900 при воспроизведении файла с битрейтом 128 поедается максимум 9 процентов ресурса CPU. На такой седой древности как 486DX4-100 битрейт 112 (стерео) тянет уже 66 процентов. Но ведь это неплохо! :-) Владельцы совсем уж раритетных машин могут попробовать запускать MPG123 с параметром -m (или --singlemix), который микширует два канала в один, то есть играет моно вместо стерео. Это разгружает процессор, но иногда сильно нагружает слушателя. Как еще облегчить машине задачу? -2 или -4 — произвести даунсамплинг с соотношением 2 к 1 (то бишь до 22 килогерц) или 4:1 (убийственные 11 килогерц). Если на 22 килогерцах слушать еще можно (при качестве колонок ниже среднего разница по сравнению с 44 кГц будет минимальной), то 11 — это уже такой LoFi, что можно прятаться, накрыв голову подушкой. Раз уж мы заговорили о параметрах в командной строке, то продолжим тему: -a устройство (или --audiodevice устройство) — задать аудиоустройство, на которое будет выдаваться звук. По умолчанию это /dev/audio или /dev/dsp. Нечто иное можно выбирать в случае, если у вас более одной звуковых карт, или одна с несколькими выходами, и вы хотите указать конкретно, на какой выход подавать сигнал. Выполнение программы можно прервать, нажав Ctrl+C. В режиме воспроизведения плейлиста использование этой комбинации клавиш означает переход к следующей в списке композиции, а если быстро нажать Ctrl+C дважды, то работа завершается. Но прощаться с MPG123 еще рано. Давайте еще с ним повозимся. Например, необходимо конвертировать MP3 в WAV. Результатом декодирования MP3 по умолчанию является формат PCM 16 бит, так называемый RAW-Data. Это тот же «вавчик», только без заголовка. Любой продвинутый волновой редактор, вроде линуксового Broadcast’а или виндовых Cool Edit и SoundForge понимают его не хуже, чем китаец китайский язык. Поэтому, прикажем MPG123 выдавать декодированный поток не на звуковую карту, а на устройство стандартного вывода — stdout. Зачем? А ведь мы можем перенаправить стандартный выход в файл! Пусть для примера исходный файл называется School.mp3. Следующей командой мы декодируем его в волновой файл school.wav, а заодно командной time изменяем, сколько времени и ресурсов системы затрачено на выполнение операции: time mpg123 -s School.mp3 > school.wav В итоге получаем волновой файл и подробный отчет о производительности выполненной задачи. Например, на моей машине декодирование School.mp3 (2.5 Мб) в school.wav (27 Мб) заняло 2 секунды. Завершая тему MPG1236, могу указать на более-менее пристойный фронт-энд (графический интерфейс) к нему под Qt — Apollo Player на http://www.apolloplayer.org. Хотя, на мой взгляд, проще использовать либо консольный оригинал, либо слушать эмпешки через XMMS — ведь в ней MP3 декодируется тем же движком MPG123. mikmod (Version 3.1.6) — еще одна легенда. Консольный плейер трекерных модулей. Он точно входит в ваш дистрибутив Linux, а если нет, то качайте его с www.mikmod.org/download.html. Поддерживаемые форматы: IT, XM, S3M, MTM, 669, STM, ULT, FAR, MED, AMF, DSM, IMF, GDM, STX, OKT и MOD — причем плейер читает их даже из архивов (ZIP, lha, lzh, zoo, rar, gz, bz2, tar, tar.gz, tar.bz2). mikmod настолько удачен, настолько качественно играет модули, что портирован практически на все платформы — Macintosh, OS/2, BeOS, FreeBSD, IRIX, Solaris, Windows, есть даже платформо-независимая версия на Java (http://t2.technion.ac.il/~shlomif/jmikmod/jmm-24.04.98.zip). Одно время Sonique использовал для воспроизведения модулей плагин с движком mikmod — как с этим обстоит дела в настоящее время, не знаю, поскольку перестал следить за развитием Sonique... Но сейчас мы говорим о Линуксе. Проблемы совместимости со звуковыми системами? Проблем нет: mikmod пашет под ALSA, OSS, esd (aka EsounD — демон распределения доступа к звуковой подсистеме между различными приложениями). Более того, он умеет направлять звуковой выход в WAV- или PCM-файл, либо в pipe-поток или стандартный выход — например, вы можете перенаправить звуковые данные в какой-нибудь MP3-кодер. Управление? Жмите H, и увидите список всех клавиш. Клавиша C — меню настроек. Обратите внимание на Output Options > Driver — здесь нужно выбрать, на какой драйвер играть. Это может быть ваша звуковая подсистема (OSS, к примеру), диск-райтер, стандартный выходной поток, и так далее. О другом и рассказывать нет нужды — плейер полностью интерактивен (в отличие от MPG123), управляется с клавиатуры, поддерживает плейлисты. Короче, полный комфорт! --mikmod rulezz forever, — сказал, вернее, напечатал я искусственному интеллекту. --Mikmod rules forever, — то ли согласился, то ли поправил мою орфографию Megahal, после чего разумный диалог вести с ним стало сложно — виртуальный собеседник назвал Альберта Эйнштейна «японской деревянной имитацией самурайского меча» и нес такую дичь, что пришлось с ним вежливо попрощаться. --bye --Bye. It was nice chatting to you, — к программе вернулся здравый смысл, а читатели уже поняли намек, что статья подошла к своему логическому завершению. Источник: http://www.mycomp.com.ua/
| ||
Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com |