and4027 |
|
Темы:
0
Сообщения:
49
Участник с: 08 сентября 2010
|
Во всяком случае, Вас честно предупредили:[ 146.342] (WW) NVIDIA: This server has an unsupported input driver ABI version (have 19.1, need < 19.0). The driver will continue to load, but may behave strangely. Можно попробовать воспользоваться советом из первого предложения - откатиться на 19.0, если совет Kycok не поможет. |
and4027 |
|
Темы:
0
Сообщения:
49
Участник с: 08 сентября 2010
|
Только что проверил. SystemMaxUse=100M, размер директории с файлами журнала 400М, из них половина - резервные копии. Это мы не правильно маны читаем или правда бага? |
and4027 |
|
Темы:
0
Сообщения:
49
Участник с: 08 сентября 2010
|
crawlingЭто позволит понять, аппаратная проблема или программная. |
and4027 |
|
Темы:
0
Сообщения:
49
Участник с: 08 сентября 2010
|
vadikДля чистоты эксперимента можно Live-CD с WinXP скачать. Их полный интернет. |
and4027 |
|
Темы:
0
Сообщения:
49
Участник с: 08 сентября 2010
|
crawlingПредлагаю кардинальное средство - выпилить пульс нафик. Всё равно от него вреда больше, чем пользы. Мне в своё время помогло от слишком громкого фона в скайпе избавиться. |
and4027 |
|
Темы:
0
Сообщения:
49
Участник с: 08 сентября 2010
|
crawlingНу так и поубирать не используемые во время записи с микрофона захваты |
and4027 |
|
Темы:
0
Сообщения:
49
Участник с: 08 сентября 2010
|
Это не ноутбук? Встроенных микрофонов, других источников звука нет? |
and4027 |
|
Темы:
0
Сообщения:
49
Участник с: 08 сентября 2010
|
Прошу прощения, если скажу глупость, но не пробовали скормить ей то, что она просит, т.е.arecord -f dat -r 48000 -D hw:0,0 -d 5 test.wav И что на это отвечает? |
and4027 |
|
Темы:
0
Сообщения:
49
Участник с: 08 сентября 2010
|
nafanjaНу это вопрос для другой темы в разделе "Курилка" lumberjackС тех пор скриптик изрядно пожирнел, был заточен под мои собственные предпочтения, и так и не переведён из разряда "учебных" в "рабочие", что не помешало нарезать им с полтора терабайта жирных лосей. Так что прежде чем запускать, посмотрите там, может чего поменять надо типа путей или формирования имени файлов. #!/bin/bash # скрипт нарезки wavpack, flac или wav lossless файла на кусочки по файлу разметки cue # зависимости: sox # wavpack # flac # vorbis-tools # shntool # enca #set -x E_CREAT_FILE=64 # ошибка создания файла E_UNNKNOWN_FT=65 # неподдерживаемый формат файла E_UNNKNOWN_ENC=66 # неизвестная ошибка чтения файла (скорее всего неизвестная кодировка) E_CREAT_WAV=67 # ошибка создания временной вафки OGG_DIR=~/Музыка/Музыка # папка с музыкой в формате ogg LOSSLESS_DIR=~/Музыка # папка с музыкой в lossless формате VinilLog=*log.txt # это маска файла с логом рипа VINILLOG=$(basename "`find -name $VinilLog -print`") [[ -e "$VINILLOG" ]] && enconv --convert-to=UTF8 "$VINILLOG" # конвертация лога в utf-8 TEMP_DIR=$(mktemp --directory --tmpdir "`basename $0`.XXX" ) || exit $? TIMEPOINTS="$TEMP_DIR/timepoints" # временный файл с точками начала и длины будущих кусочков TEMP_WAV="$TEMP_DIR/temp.wav" # временная вафка CUE="$TEMP_DIR/correct.cue" # обработанный cue echo "читаем $1" # сюда бы проверку на наличие аргумента # конвертация cue в utf-8, удаление виндовых символов перевода строки, пробелов и табуляций в начале строк # и добавление пустой строки в конец файла (а то некоторые забывают) cat "$1" | enconv --convert-to=UTF8 | sed -e 's/\r//' -e 's/^[ \t]*//' -e '$ a\' > $CUE || exit $E_UNNKNOWN_ENC # блок по разбору cue ALBUM_DATE=$(awk '/^(REM DATE)/ {printf "%4d", $NF}' "$CUE") # выдёргиваем из куя тег, которого не знает cueprint ALBUM_GENRE=$(awk '/^(REM GENRE)/ { for (i=3;i<=NF;i++) printf " " $i; print "" }' "$CUE") # а этот тэг хоть и знает, но не обрабатывает ALBUM_COMMENT=$(awk '/^REM [Cc][Oo][Mm][Ee][Nn][Tt]|[Cc][Oo][Mm][Mm][Ee][Nn][Tt]/ { for (i=3;i<=NF;i++) printf " " $i; print "" }' "$CUE") # то же # поля с третьего до конца строки ALBUM_TITLE=$(cueprint --disc-template '%T\n' "$CUE") ALBUM_ARTIST=$(cueprint --disc-template '%P\n' "$CUE") ALBUM_SONGWRITER=$(cueprint --disc-template '%S\n' "$CUE") # маленькое исторически сложившееся отступление от общепринятых правил if [ "$ALBUM_ARTIST" = "Various" ] then ArtistDirName="VA" else ArtistDirName="$ALBUM_ARTIST" fi OUT_OGG="$OGG_DIR"/"$ArtistDirName"/"$ALBUM_DATE - $ALBUM_TITLE" # сюда будем складывать то, что получилось OUT_LOSSLESS="$LOSSLESS_DIR"/"$ArtistDirName"/"$ALBUM_DATE - $ALBUM_TITLE" # склад готовой продукции mkdir -pv {"$OUT_OGG","$OUT_LOSSLESS"} track_tags () { # объявление функции, выдёргивающей теги треков из cue TRACK_NUMBER=$(cueprint --track-template '%02n\n' --track-number $N_TRK "$CUE") # а лучше обойтись без cueprint Track_Artist=$(cueprint --track-template '%p\n' --track-number $TRACK_NUMBER "$CUE") if [ "$Track_Artist" = "" ] # переключатель %P <-> %p по условию наличия последнего then TRACK_ARTIST="$ALBUM_ARTIST" else TRACK_ARTIST="$Track_Artist" fi TRACK_TITLE=$(cueprint --track-template '%t\n' --track-number $TRACK_NUMBER "$CUE") TRACK_COMPOSER=$(cueprint --track-template '%c\n' --track-number $TRACK_NUMBER "$CUE") # то же TRACK_SONGWRITER=$(cueprint --track-template '%s\n' --track-number $TRACK_NUMBER "$CUE") } creat_wav () { sox --multi-threaded --buffer 131072 --no-dither -q "$IN_FILE" -t wav $ENCODING - \ trim `sed -n "$N_STR"p "$TIMEPOINTS"` =`sed -n "$(($N_STR + 1))"p "$TIMEPOINTS"` \ || exit $E_CREAT_WAV } creat_ogg () { # ну тут всё ясно oggenc - --quality 9 --ignorelength --quiet \ -d "$ALBUM_DATE" -G "$ALBUM_GENRE" -l "$ALBUM_TITLE" \ -c albumartist="$ALBUM_ARTIST" -c comment="$ALBUM_COMMENT" \ -c albumsongrwriter="$ALBUM_SONGWRITER" \ -N "$TRACK_NUMBER" -a "$TRACK_ARTIST" -t "$TRACK_TITLE" \ -c composer="$TRACK_COMPOSER" -c songwriter="$TRACK_SONGWRITER" \ --output="$OUT_OGG"/"$OUT_FILE_NAME.ogg" } creat_wv () { # не только создаст файл, но и удалит временный (ключ -d); c тегом ALBUM_ARTIST непонятки, похоже, форматом не предусмотрено pv --name "$OUT_FILE_NAME.wv" --eta --rate --bytes --size `stat -c %s "$1"` "$1" --cursor | \ wavpack -hiq \ -w year="$ALBUM_DATE" -w genre="$ALBUM_GENRE" -w album="$ALBUM_TITLE" \ -w albumartist="$ALBUM_ARTIST" -w track="$TRACK_NUMBER" -w artist="$TRACK_ARTIST" \ -w songwriter="$TRACK_SONGWRITER" \ -w title="$TRACK_TITLE" -w composer="$TRACK_COMPOSER" -w comment="$ALBUM_COMMENT" - \ -o "$OUT_LOSSLESS"/"$OUT_FILE_NAME" \ || exit $E_CREAT_FILE } creat_flac () { # не только создаст файл, но и удалит временный # pv --name "$OUT_FILE_NAME.flac" --eta --progress --rate --bytes --size `stat -c %s "$1"` "$1" --cursor | \ flac --delete-input-file --compression-level-8 --force --totally-silent --output-name "$OUT_LOSSLESS"/"$OUT_FILE_NAME.flac" \ --tag date="$ALBUM_DATE" --tag genre="$ALBUM_GENRE" --tag album="$ALBUM_TITLE" \ --tag albumartist="$ALBUM_ARTIST" --tag albusongrwriter="$ALBUM_SONGWRITER" \ --tag tracknumber="$TRACK_NUMBER" --tag artist="$TRACK_ARTIST" --tag songwriter="$TRACK_SONGWRITER" \ --tag title="$TRACK_TITLE" --tag composer="$TRACK_COMPOSER" --tag comment="$ALBUM_COMMENT" $1 \ || exit $E_CREAT_FILE } IN_FILES=$(awk -F\" '/^FILE/ { print $2 }' "$CUE") # cписок разрезаемых файлов NS_IN_FILES=$(awk '/^FILE/ { print NR }' "$CUE") # номера строк куя, в которых эти файлы поименованы COUNT_FILES=`echo "$IN_FILES" | wc --lines` # кол-во разрезаемых файлов for N_FILE in `seq "$COUNT_FILES"` do IN_FILE=$(echo "$IN_FILES" | awk 'NR == '$N_FILE) # разрезаемый файл IN_FILE_TYPE=$(echo "$IN_FILES" | awk -F. 'NR == '$N_FILE'{ print $NF }') # его разрешение echo "Режем $IN_FILE" NS_CorrFile=`echo "$NS_IN_FILES" | awk 'NR == '$N_FILE` # номер строки, с которой начинается нужный фрагмент куя NS_NextFile=`echo "$NS_IN_FILES" | awk 'NR == '$(($N_FILE+1))'{ print ($1-1) }'` # номер строки, на которой он заканчивается [ "$NS_NextFile" ] || NS_NextFile=$(awk 'END {print NR}' "$CUE") # если номера строки нет, значит это конец файла Part_CUE=$(awk 'FNR == '$NS_CorrFile', FNR == '$NS_NextFile' { print $0 }' "$CUE") # выделение нужной части куя echo "$Part_CUE" | awk '/^INDEX 01/ {print $3}' | awk -F: '{print $1":"$2"."$3}' > "$TIMEPOINTS" # пишем во временный файл метки начала треков. C_TRK=`sed -n '$=' "$TIMEPOINTS"` # кол-во треков echo "`soxi -s "$IN_FILE"`s" >> "$TIMEPOINTS" # пишем во временный файл кол-во семплов (в качестве метки конца последнего трека) if [ $COUNT_FILES -eq 1 ] # назначение префикса порезанным файлам then PREFIX="" else case "$N_FILE" in 1 ) PREFIX="A" ;; # 1 ) PREFIX="LP1_" ;; 2 ) PREFIX="B" ;; # 2 ) PREFIX="LP2_" ;; 3 ) PREFIX="C" ;; 4 ) PREFIX="D" ;; esac fi case $IN_FILE_TYPE in wv|WV ) ENCODE='creat_wv' ;; flac|FLAC|wav|WAV ) ENCODE='creat_flac' ;; * ) echo "неподдерживаемый формат файла" exit $E_UNNKNOWN_FT ;; esac case `soxi -e "$IN_FILE"` in "Floating Point WavPack"|"Floating Point PCM" \ ) ENCODING='--encoding floating-point' ;; FLAC|"Signed Integer PCM" \ ) ENCODING='--encoding signed-integer' ;; * ) echo "неподдерживаемый формат файла" exit $E_UNNKNOWN_FT ;; esac for N_STR in `seq $C_TRK` do ((N_TRK += 1)) # инкрементное увеличение номера трека для тегов track_tags OUT_FILE_NAME="$PREFIX`echo $(printf "%02d" $N_STR)` - $TRACK_TITLE" creat_wav | tee "$TEMP_WAV" | \ pv --name "$OUT_FILE_NAME.ogg" --rate --bytes | \ creat_ogg # создание временной вафки и очередного кусочка ogg $ENCODE "$TEMP_WAV" done done rm -r "$TEMP_DIR" # удаление временных файлов # Ну и пропищать напоследок о завершении работы echo -n $'\a' |
and4027 |
|
Темы:
0
Сообщения:
49
Участник с: 08 сентября 2010
|
lumberjackПомнится, писал для этой же цели скриптик, использующий средства самого flac. И по той же причине - ну не надо мне в 44100 перегонять, а всё то, что нашлось на просторах интернета упорно игнорировало такое нехитрое требование. |