Захотелось мне из кина песенку выдернуть, в смысле, получить в виде файла mp3 или вроде того. Задачка плевая, взять и с миксера записать, под виндой я вроде это делал. Почему бы и под линуксом не сделать? Благо программу Audacity уже ставил, пишет в лучшем виде.
Оказалось, что самый простой способ записать звук с софтового плеера - соединить шнурком (вполне вещественным) линейный выход звуковой карты с линейным же входом. Но мы не ищем легких путей. Я знаю, должен быть способ захватить играемый звук и записать его, чисто программными методами.
Короче, записывайте рецепт. Используем JACK.
Нам понадобится фильм, плеер для проигрывания фильма - SMPlayer, рекордер, для записи звука из фильма - Audacity, демон JACKd и его управлятор qJACKctl. Последние два - часть проекта JACK, назначение которого - соединять звуковые потоки. Все эти полезняшки находятся и ставятся командами
aptitude search what-you-need, aptitude install what-you-find.
Сначала надо запустить демона:
$ jackd -d alsa
От имени пользователя, не иначе. Возможно, понадобится запустить демона в риалтайм режиме, для этого команда будет такой:
$ jackd -R -d alsa
Но чтобы вы могли сделать это (использовать риалтайм), придется внести правки в файл
/etc/security/limits.conf
добавить строки вроде:
valik - rtprio 99
valik - memlock unlimited
Валик - это я. У вас будет учетка скорее всего другая. После этих правок надо перелогонится в систему.
Короче, демона запустили.
Теперь запускайте управлятор:
$ qjackctl &
Теперь запускайте плеер, и залезайте в его настройки:
Options-Preferences-General,
Output drivers, Audio: ставите "jack"
Теперь запускаете Audacity, в качестве источника звука выбираете "JACK Audio connection kit, system" или что-то вроде того.
Теперь самое сложное. Подгоняете источник (фильму) к месту старта отрезка, секунд за тридцать до. Ставите на play. Теперь у вас есть 30 секунд чтобы сделать следующее:
В Audacity стартануть запись, перейти в окно JACK Audio Connection Kit (то, которое появилось после запуска qJACKctl) и нажать кнопу "Connect", открыв окно коннекшенов.
В окне коннекшенов во вкладке Audio вы слева выбираете плеер (MPlayer) а справа рекордер (PortAudio) и жмете кнопу Connect. Да, перед этим надо сделать дисконнект для пары (слева-справа) System и PortAudio.
Потому как по умолчанию оно коннектится не так как нам надо.
Запись пошла, это видно по форме сигнала в аудасити. Когда надо, жмем стоп для записи, отрезаем лишнее и сохраняем.
После чего можно закрыть все эти джеки и прочие лишнии программы и вернить настройки аудио в норму. И послушать, что записалось.
У меня записалось нормально. Хотя во время записи сигнал шел с шумом. Пес его знает, откуда шум. В записи его нет.
Если я и забыл какие детали, в интернете все найдете:
- audacity.sourceforge.net/help/faq?s=recording&i=streaming
- jackaudio.org/faq
- jackaudio.org/applications
- linux-sound.org/snded
- wiki.audacityteam.org/index.php?title=Linux_Issues
А вот, и на ютубе нашлось, правда звук поносный, у меня лучше записалось.
Как в фильме:
И вариант расширенный:
Комментариев нет:
Отправить комментарий