среда, 10 сентября 2014 г.

Linux: конвертируем *.wv WavPack в *.wav файлы

Скачал сегодня великолепную коллекцию музыки, которая была тщательно подобрана. Но вот беда — поставлялась она в каком-то непонятном формате. Каждый альбом был WV файлом. Как уверял источник — это особый формат и его удобно слушать и записывать. Ну-ну...
В общем сходу ни одна установленная программа на моем Linux Mint этот формат не скушала. Насколько я знаю некоторые проигрователи такое умеют как в Windows так и в Linux, но мне необходимы были файлы в формате mp3 или m4a для магнитолы в авто. Что ж, challenge accepted :)
Задача: преобразовать wv файлы в wav, результат сконвертировать в нужный нам формат. В моем случае ожидается m4a на выходе.
Для работы нам понадобится три программы: cuetools shntool wavpack.
1
sudo apt-get install cuetools shntool wavpack
Т.к. у нас Линукс это значит, что практически все мы можем автоматизировать shell-скриптами :) Что ж, напишем парочку.
Создайте файл run-unpacker.sh и дайте ему права на запуск:
1
2
touch run-unpacker.sh
chmod +x run-unpacker.sh
Откройте его своим любимым редактором и впишите следующее:
1
2
3
4
5
6
7
8
mkdir "$1encoded"
for f in $1*.wv; do
    filename=$(basename "$f")
    filename="${filename%.*}"
    newFile="$1encoded/$filename.wav"
    echo "$f -> $newFile"
    wvunpack "$f" -o "$newFile" -cc
done
Здесь мы запускаем wvunpack для каждого наденного wv файла с указанием откуда читать и куда писать.
Запускаем:
1
./run-unpacker.sh path
где path — путь к файлам wv. В папке с wv будет создана папка encoded, в которую будут аккуратно сложены wav файлы.
Следующий шаг — разбить большие wav файлы на на трэки:
1
2
touch run-splitter.sh
chmod +x run-splitter.sh
Вписываем в созданный файл следующее:
1
2
3
4
5
6
7
8
9
10
for cue in $1*.cue; do
    filename=$(basename "$cue")
    filename="${filename%.*}"
    output="$1$filename"
    wav="$1$filename.wav"
    mkdir $output;
    shnsplit -f $cue -t %t $wav -d $output
done
Здесь для каждого файла cue (метаданные кажого wav файла), который был создан вовремя работы wvunpack, запускается тулза shnsplit. Она, курируясь информацией с cue файла, разбивает wav файлы на дорожки. Каждый набор дорожек мы помещаем в отдельную папку.
В комманде shnsplit -f $cue -t %t $wav -d $output, замените %t на %n, если планируете восстановить метаданные (теги) каждой дорожки. Имена файлов будут состоять только из порядкового номера и расширения. После конвертации в окончательный формат воспользуйтесь утилитой cuetag (приблизительный пример: cuetag file.cue *.m4a)
Запустите созданный скрипт. В логе работы shnsplit может проскакивать предупреждение: shnsplit: warning: discarding initial zero-valued split point. Не обращайте внимания — ничего серьезного.
И вот он, результат — vw файл распакован и разбит на дорожки. Следующий шаг: конвертация в нужный формат. По этому поводу в сети очень много информации. Лично я воспользовался программой soundconverter, настроил ее и натравил на нужные файлы.
Вот и все, надеюсь заметка будет кому-то полезна.

Установить/обновить ядро Linux Kernel 3.16.2 (Stable) в Ubuntu/Linux Mint

Linux Kernel 3.16.2 является вторым корректировочным выпуском ядра версии 3.16. Список изменений в ядре 3.16.2 можно посмотреть ЗДЕСЬ.
Вы можете скачать соответствующие deb пакеты ОТСЮДА и установить их в Центре приложений Ubuntu. Или просто следуйте приведенным ниже инструкциям, которые помогут вам установить новое ядро несколькими командами в терминале.

Установить ядро версии 3.16.2 командами ниже, можно ​​в следующих дистрибутивахLinux:

Ubuntu 14.04/12.04 
Linux Mint 17/13
elementary OS 0.2/0.3

Установка ядра Linux Kernel 3.16.2

1. Откройте терминал, скопируйте и выполните одну из команд, согласно архитектуры вашей системы/компьютерана свой страх и риск:

Для 32-bit (одной командой):

cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16.2-utopic/linux-headers-3.16.2-031602-generic_3.16.2-031602.201409052035_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16.2-utopic/linux-headers-3.16.2-031602_3.16.2-031602.201409052035_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16.2-utopic/linux-image-3.16.2-031602-generic_3.16.2-031602.201409052035_i386.deb && sudo dpkg -i *.deb


Для 64-bit (одной командой): 

cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16.2-utopic/linux-headers-3.16.2-031602-generic_3.16.2-031602.201409052035_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16.2-utopic/linux-headers-3.16.2-031602_3.16.2-031602.201409052035_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16.2-utopic/linux-image-3.16.2-031602-generic_3.16.2-031602.201409052035_amd64.deb && sudo dpkg -i *.deb


 2. Обновите GRUB (GRUB надо обновлять в той системе Linux где он установлен, если у вас их более одной):

sudo update-grub

Примечание 1
. Если у вас установлен загрузчик BURG, то и его нужно обновить:

sudo update-burg

3. По окончании установки, закройте все приложения и перезагрузите компьютерследующей командой:

sudo reboot

После входа в систему, проверьте версию актуального ядра командой:

uname -r

Примечание 2
. Как вернуться к ранее установленному ядру, инструкция ЗДЕСЬ.

Если вы решили удалить ядро 3.16.2, выполните эту команду:

sudo apt-get purge linux-image-3.16.2-*

Источник: https://www.kernel.org/

понедельник, 1 сентября 2014 г.

Проблемы с удалением файлов

Уже несколько раз, после установки Убунту 14.04,  сталкивался с такой проблемой — во время удаления файла или папки система предлагает удалить все безвозвратно, минуя попадание в Корзину. Для решения проблемы следует выполнить нехитрые действия.
Запустим файловый менеджер Nautilus с правами суперпользователя. Для этого выполним следующую команду в Терминале:
sudo nautilus
В открывшемся менеджере  идем по адресу home/ваша учётная запись/.local/share  и удалить присутствующую папку Trash. Для этого нужно включить отображение скрытых файлов (Ctrl-H) или Вид — Показывать скрытые файлы. После этого перезагрузите систему и удаляемые файлы и папки снова будут попадать в Корзину.