воскресенье, 13 марта 2011 г.

Поддержка usb в virtualbox OSE в gentoo

Редко пользуюсь virtualbox, стоит версия собранная из исходников.
Которая раньше называлась ose. У меня стоят:
app-emulation/virtualbox-4.0.4:0
app-emulation/virtualbox-additions-4.0.4:0
app-emulation/virtualbox-modules-4.0.4:0
Помню, что как-то в 2010 году надо было прошить флешку, и поддержки usb в этой версии не было. Все ссылались на бинарную версию. Сейчас залез и с приятным удивлением обнаружил что эта поддержка появилась и в обычной версии:



Все работает, пользоваться очень удобно :) Побольше бы программ такого уровня


суббота, 12 марта 2011 г.

Решение проблемы с конвертацией dts wavpack альбомов в mp3

Все было хорошо, все работало. А конкретно, скрипт cue2tracks который исправно перегонял различные cue+flac , cue+ape , cue+m4a альбомы прямо в mp3. Причем красиво пегонял , с расставленными тегами и правильными именами файлов
Но вот попалось странное , а именно Enigma - The Platinum Collection (DTS) который был захерачен в wavpack.
Вот тут-то и выдал cue2tracks после конвертации с виду такие красивые mp3 файлы, да только вот при проигрывании был один шум. Не катит.
Попробовал руками, используя shntool с конвертацией в mp3 и flac - результат аналогичный. Хотя сам shntool собран c поддержкой wavpack.
Сами альбомы cue+wav прекрасно открывались в smplayer и vlcplayer, а значит косяк был где-то в конвертере.
Покопавшись , нашел что просто разбивка в wav без конвертации работает. Уже что-то, однако на выходе получается пачка wav файлов. Однако при конвертации их в mp3 получается только шум , аналогичный тому , что выдавал shntool и cue2tracks
ffmpeg -i "Cuted_pcm_s16le.wav" "Cuted_pcm_s16le.mp3"
ffmpeg определяет wav файл как Stream #0.0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
но работать с ним вупор отказывается. Видимо это не просто wav файл.
В итоге нашел решения, которое приводит этот непростой wav к простому:

  1. Изначально у нас имеются два файла cue+wav. Wav файл можно с помощью mplayer привести к "нормальному" wav:
mplayer -ao pcm "Enigma - The Lost Ones - The Platinum Collection CD3.wav" -ao pcm:file="Enigma - The Lost Ones - The Platinum Collection CD3.wav1"
Затем переименовываем получившийся wav1 в wav и подменяем им оригинальный файл. Что интересно, размер двух файлов у меня получился одинаковый.
Далее cue2tracks без проблем конвертирует весь альбом в mp3 и красиво рассталяет теги.
2. Аналогично можно конвертировать уже разрезанные wav файлы.
Засабмитил баг разработчикам ffmpeg, так как его код при конвертации явно выдает шум, а также хромиум , использующий ffmpeg для проигрывания файлов, выдает аналогичный шум при проигрывании моего файла.
Вот ссылка на одну из песен в этом формате. У кого есть желание, можете поэкспериментировать :)
Кстати, а кто чем конвертировал альбомы в wavpack ?

Ps: в раздаче смотрю люди тоже ругаются на шипение. Похоже не все так просто с этим dts+wavpack :)

Update: В баге разработчики ffmpeg ответили, что это мой файль несмотря на расширение нифига не wav , а dts.
И чтобы ffmpeg его корректно конвертировал , надо делать вот так
ffmpeg -f dts -i "Cuted_pcm_s16le.wav" "Cuted_pcm_s16le.mp3"
Далее, посмотрел форматы, поддерживыемые shntool, а следовательно и cue2tracks. Dts там нету.
Конечным решением является заранее переконвертить wav файл с помощью mplayer или ffmpeg:
1. Через mplayer :
mplayer -ao pcm "Enigma - The Lost Ones - The Platinum Collection CD3.wav" -ao pcm:file="Enigma - The Lost Ones - The Platinum Collection CD3.wav1"
Затем переименовать полученный wav1 вместо оригинального wav и запустить cue2tracks, либo cuebreakpoints+shnsplit . На выходе сразу получаете mp3 с расставленными тегами
cue2tracks -R -c mp3 -o "%N. %t" "Enigma - The Lost Ones - The Platinum Collection CD3.wav" "Enigma - The Lost Ones - The Platinum Collection CD3.wav"
2. Через ffmpeg :Wav файл, отконвертированный мной во flac через ffmpeg cue2tracks есть не хочет. Поэтому второй вариант сначала сделать простой сплит без конвертации:
cue2tracks -R -c wav -o "%N. %t" "Enigma - The Lost Ones - The Platinum Collection CD3.wav" "Enigma - The Lost Ones - The Platinum Collection CD3.wav"
Затем полученные файлы через ffmpeg перегнать в mp3
ffmpeg -f dts -i "02. Lost Two.wav" -b 320 "02. Lost Two.mp3"
Чтобы понять в каком формате закодирован файл, можно запустить mplayer:
mplayer "Enigma - The Lost Ones - The Platinum Collection CD3.wav"
И найти строчку вида : Selected audio codec: [ffdca] afm: ffmpeg (FFmpeg DTS)