Как я могу скопировать CD в форматах ALAC или AIFF?

В настоящее время я запускаю iTunes в VirtualBox с Windows 8, чтобы скопировать мои компакт-диски в ALAC или AIFF. Это связано с историческими причинами, когда я перешел с OSX на Ubuntu и все еще люблю свой iPod Classic.

Однако я хочу начать копирование моих компакт-дисков из самой Ubuntu. Кто-нибудь может предложить лучший способ сделать это И продолжать копировать в ALAC и AIFF?

2
задан 17 February 2014 в 16:21

2 ответа

В интернете существует сценарий на два года, который должен удовлетворить ваши потребности. Он выполняет следующие действия:

  • Автоматически проверяет и устанавливает звуковую соковыжималку, ffmpeg и metaflac, дальнейшая их настройка не требуется;

  • Выполнить Sound-Juicer и позволяет вам выбрать метаданные cd из базы данных и нажать «Извлечь» для извлечения;

  • Закройте Sound-Juicer после извлечения всех ваших CD для конвертации;

  • Захват метаданных из файла FLAC и извлечение их для формата ALAC;

  • Выполните преобразование FLAC в ALAC с помощью ffmpeg и метаданные;

  • Переместить обработанные файлы FLAC в обработанный каталог;

  • Удалить исходные каталоги, которые были обработаны.

Вот как реализовать скрипт в 5 шагов:

1) Создать скрипт bash 'CDRip':

cd /usr/local/bin && gedit /usr/local/bin/CDRip

2) Вставить скрипт bash снизу , Базовые строки каталога должны быть отредактированы в пути к вашим файлам:

##############################
### SET YOUR PARAMETERS ### 
############################## 



#Set the base directory 
sBASEDIR="/DATA/Music/" 

#Set directory sound juicer rips to 
sIN="Ripped" 

#Set directory ALAC files are placed in 
sOUTALAC="Automatically Add to iTunes" 

#Set directory converted FLAC files are placed in 
sOUTFLAC="Processed" 



###################################
### DO NOT EDIT BELOWTHIS LINE ###
###################################

#Check and install flac 
problem=$(dpkg -s flac|grep installed) 
echo "Checking for flac: $problem" 
if [ "" == "$problem" ]; then 
     echo "No flac. Setting up flac" 
     sudo apt-get --force-yes --yes install flac 
fi 

#Check and install ffmpeg 
problem=$(dpkg -s ffmpeg|grep installed) 
echo "Checking for ffmpeg: $problem" 
if [ "" == "$problem" ]; then 
      echo "No ffmpeg. Setting up ffmpeg" 
      sudo apt-get --force-yes --yes install ffmpeg 
fi 

#Check and install sound-juicer 
problem=$(dpkg -s sound-juicer|grep installed) 
echo "Checking for sound-juicer: $problem" 
if [ "" == "$problem" ]; then 
      echo "No sound-juicer. Setting up sound-juicer" 
      sudo apt-get --force-yes --yes install sound-juicer 
fi 

#Start sound-juicer 
sound-juicer 

###############################
### START ALAC CONVERSION ### 
###############################


#Set up some directory paths based on the variables 
sINPATH="$sBASEDIR""$sIN" 
sOUTALACPATH="$sBASEDIR""$sOUTALAC" 
sOUTFLACPATH="$sBASEDIR""$sOUTFLAC" 
echo "Variables set" 

#Create ALAC output directory structure 
find $sINPATH -type d | sed "s/$sIN/$sOUTALAC/" | xargs -d'\n' mkdir 

#Create processed FLAC directory structure, prevents future reprocessing 
find $sINPATH -type d | sed "s/$sIN/$sOUTFLAC/" | xargs -d'\n' mkdir 

#Capture the FLAC meta data for conversion to ALAC metadata 
for i in "$sINPATH"/*/*/*.flac 
do 

ARTIST=`metaflac "$i" --show-tag=ARTIST | sed s/.*=//g` 
TITLE=`metaflac "$i" --show-tag=TITLE | sed s/.*=//g` 
ALBUM=`metaflac "$i" --show-tag=ALBUM | sed s/.*=//g` 
GENRE=`metaflac "$i" --show-tag=GENRE | sed s/.*=//g` 
TRACKTOTAL=`metaflac "$i" --show-tag=TRACKTOTAL | sed s/.*=//g` 
DATE=`metaflac "$i" --show-tag=DATE | sed s/.*=//g` 
TRACKNUMBER=`metaflac "$i" --show-tag=TRACKNUMBER | sed s/.*=//g` 

#Meta data options source:
#http://multimedia.cx/eggs/supplying-ffmpeg-with-metadata/ 

#Code to echo the metadata for debugging 
#echo $ARTIST 
#echo $TITLE 
#echo $ALBUM 
#echo $GENRE 
#echo $TRACKTOTAL 
#echo $DATE 
#echo $TRACKNUMBER 

#Set the array of files to process along with their output path 
o="${i/$sIN/$sOUTALAC}" 

#Set the array of files to process along with their new files extension 
o=""${o/.flac/.m4a}"" 

#Echo the files that will be processed to check in debugging 
o=""$(echo $o | sed 's/_//g')"" 

#Construct the filepath for the first file in the array to process 
filepath=${i%/*} 

#Construct the filename for the first file in the array to process 
filename=${i##*/} 

#Echo the path and file name to the terminal for debugging 
echo $i 
echo $o 

#Start the convrsion of file i in the array to ALAC with the metadata 
echo "n" |  ffmpeg -i "$i" -metadata title="$TITLE" -metadata author="$ARTIST" -metadata album="$ALBUM" -metadata year="$DATE" -metadata track="$TRACKNUMBER" -acodec alac "$o" 

#Move the ripped file that has been processed to the coverted file directory to stop ffmpeg trying to process the file again in future 
d="${i/$sIN/$sOUTFLAC}" 
mv "$i" "$d" 
done 

#Finally after all files have been processed delete the empty source ripped directories of the files which have been processed, which now reside in the converted folder and ALAC folder 
for FOLDER in $sINPATH/* 
    do 
    rm -r "$FOLDER" 
    done 
exit; 

3) Сохраните скрипт и установите его в качестве исполняемого

sudo chmod 555 /usr/local/bin/CDRip

4) Протестируйте скрипт вручную на наличие в первый раз это будет гарантировать, что у вас установлены все пакеты

CDRip

5) Если вы хотите установить сценарий как действие по умолчанию при вставке аудио CD, то в Nautilus (файл Ubuntu браузер не ниже 10.04) выберите:

Edit > Preferences > File Manager Preferences > Media > CD Audio

Укажите это, чтобы открыть свой скрипт CDRip! Работа выполнена.

Источник

0
ответ дан 17 February 2014 в 16:21

Используйте RubyRipper и введите ffmpeg -i %i -acodec alac -metadata artist=%a -metadata album=%b -metadata title=%t -metadata genre=%g -metadata track=%n -metadata year=%y %o.m4a в Предпочтения -> Кодеки -> Другие

0
ответ дан 17 February 2014 в 16:21
  • 1
    я don' t думают, что это поможет здесь, потому что вывод показывает 0 не обновленный, хотя я действительно рассматривал его, потому что версия ядра как один показанный определенно будет чем-то, что dist-обновление попыталось бы удалить, если что-то как linux-image-generic обновлено. – mchid 6 August 2015 в 03:40

Другие вопросы по тегам:

Похожие вопросы: