Rose debug info
---------------

Тексты заведующего фонограмм архивом фольклорно-этнографических записей Центра русского фольклора @

Позднее Ctrl + ↑

Донская вязь

Когда-то у нас был ансамбль Донская вязь
Михаил Масловский
Наталья Волкова
Сергей Стерликов
Василий Фоменко
Кирилл Чеботарёв

В 2009 году все это началось, а в 2017 собрались в последний раз.
Я лично считаю, что мы не выдержали испытания студийной записью.
Но было весело, это было хорошее время.
UPD 2022 Ансамбль возродили.
Новый состав:
Михаил Масловский
Кирилл Чеботарёв
Ирина Деревянкина

Это та самая запись в студии, она нам по большей части не понравилась. Писались наложением на один микрофон в домашней студии. Была мысль все это как-то дописать, переписать и довести до ума, но так и не собрались. Пусть будет здесь. Как памятник.

Скрипт рекурсивного переименования файлов в транслит

Иногда нужно переименовать кучу файлов из кириллицы в транслит
Любимая_песня_мамы.mp3 —> Lubimaja_pesnia_mami.mp3
В контексте работы с архивом именование файлов латиницей очень важно по нескольким причинам.

Простой пример: в некоторых случаях файл при публикации в интернете Любимая_песня_мамы.mp3 может преобразовываться вот в такое:
%D0%9B%D1%8E%D0%B1%D0%B8%D0%BC%D0%B0%D1%8F_%D0%BF%D0%B5%D1%81%D0%BD%D1%8F_%D0%BC%D0%B0%D0%BC%D1%8B.mp3
Это не удобно потому, что это нечитаемо, длинна названия увеличивается в три раза.
Имея опыт работы с разными собирателями могу утверждать, что файлы называют и подлиннее, умещая туда как минимум паспорт записи. Это тоже в некоторых случаях вызывает проблемы. Например при копировании на старых версиях Windows. Во всем виноваты устаревшие файловые системы и протоколы. Так же проблема с кириллицей может возникнуть в случае если ваш жесткий диск перестал работать и из него необходимо вытащить специальными программами информацию. Разработчики таких программ мало заботятся о странах не использующих латиницу. Восстановить имена файлов может и не получиться.

Конвертация

Когда файлов три или пять, это не беда, но если у вас их полторы тысячи и все он лежат в разных папках, то тут нужен скрипт. Я нашел такой в интернете, к сожалению не помню где, но если найду автора, то оставлю ссылку конечно.
Скрипт работает только в linux и других *nix системах (напрмер в MacOS)
Копируем текст в файл rename.sh
Даем права файлу на выполнение chmod u+x
Скрипт переименовывает все подряд в том каталоге в котором находится.
Запуск ./rename.sh

#!/bin/bash
# Перекодирует рекурсивно в текущем каталоге имена
# файлов и каталогов в транслит.

# shopt встроенная команда оболочки. Управляет опциями оболочки.
# Если в каталоге нет ни одного файла, соответствующего шаблону,
# то за имя файла принимается сам шаблон.
# Ключ nullglob исправляет эту ситуацию
shopt -s nullglob
# Перебираем все файлы в текущем каталоге
for NAME in * ; do
# sed-ом заменяем символы кирилицы на символы латиницы
 TRS=`echo $NAME | sed "y/абвгдезийклмнопрстуфхцы/abvgdezijklmnoprstufxcy/"`
 TRS=`echo $TRS | sed "y/АБВГДЕЗИЙКЛМНОПРСТУФХЦЫ/ABVGDEZIJKLMNOPRSTUFXCY/"`
 TRS=${TRS//ч/ch};
 TRS=${TRS//Ч/CH} TRS=${TRS//ш/sh};
 TRS=${TRS//Ш/SH} TRS=${TRS//ё/jo};
 TRS=${TRS//Ё/JO} TRS=${TRS//ж/zh};
 TRS=${TRS//Ж/ZH} TRS=${TRS//щ/sh\'};
 TRS=${TRS///SH\'} TRS=${TRS//э/je};
 TRS=${TRS//Э/JE} TRS=${TRS//ю/ju};
 TRS=${TRS//Ю/JU} TRS=${TRS//я/ja};
 TRS=${TRS//Я/JA} TRS=${TRS//ъ/\`};
 TRS=${TRS//ъ\`} TRS=${TRS//ь/\'};
 TRS=${TRS//Ь/\'}
 TRS=${TRS// /_}
 # переименовываем
 mv -v "$NAME" "$TRS"
# Если это каталог, заходим в него
 if [[ `file -b "$TRS"` == directory ]]; then
 cd "$TRS"
 "$0"
 cd ..
 fi
done

Скрипт миграции MySQL базы на удаленный сервер

Код скопировать в файл, например migrate.sh,
и установить ему права на выполнение: chmod u+x migrate.sh
Запуск: ./migrate.sh

#!/bin/bash

# Настройки локального сервера MySQL
localuser='mysqluser' 
localpasswd='mysqlpasswd'
localdbname='DB'

# Настройки сервера Mysql на который заливаем базу
remoteuser='mysqluser' 
remotepasswd='mysqlpasswd'
remotedbname='DB'

# удалять старую базу "yes" Будьте внимательны! Убедитесь, что у вас есть резервная копия!
del='no' 
# Имя новой базы которая будет добавлена если стоит "no"
newdb='DB' 
# ваш удаленный сервер, я рекомендую настроить беспарольный доступ по ключу с помощью ssh-copy-id
sshhost='root@yourhost' 


# Копируем на удаленный сервер дамп базы во временную папку (возможно нужно будет поправить путь к mysqldump)
/usr/local/mysql/bin/mysqldump -u $localuser -p$localpasswd $localdbname | gzip  | ssh  $sshhost 'cat > /tmp/db.sql.gz' 
# Если в конфиге указано del значит удаленную базу сначала удаляем. Если в конфиге стоит нет или любое другое значение, то будет создана новая база
if [ $del = 'yes' ]; then 
# Удаляем старую базу
	ssh $sshhost "mysql -u $remoteuser -p$remotepasswd -e 'DROP DATABASE $remotedbname;'" 
# Создаем новую базу с тем же именем
	ssh $sshhost "mysql -u $remoteuser -p$remotepasswd -e 'CREATE DATABASE $remotedbname;'" 
# Заливаем дамп в базу
	ssh $sshhost "zcat /tmp/db.sql.gz | mysql -u $remoteuser -p$remotepasswd $remotedbname" 
# Удаляем загруженный дамп из временной папки
	ssh $sshhost "rm -f /tmp/db.sql.gz" 
else
# Создаем новую базу
	ssh $sshhost "mysql -u $remoteuser -p$remotepasswd -e 'CREATE DATABASE $newdb;'" 
# Заливаем дамп в новую базу
	ssh $sshhost "zcat /tmp/db.sql.gz | mysql -u $remoteuser -p$remotepasswd $newdb" 
# Удаляем дамп из временной папки
	ssh $sshhost "rm -f /tmp/db.sql.gz" 
fi

Метаданные файлов

В заключении хочется затронуть тему, которая в отличие от всего вышеизложенного редко освещается в статьях и пособиях, имеющих отношение к фольклору, в частности, к экспедиционной и архивной работе. Речь пойдёт о метаданных медиафайлов.

В Википедии слово «метаданные» описывается довольно сложным для понимания практического смысла текстом. Если пытаться выразиться максимально просто и доходчиво, то применительно именно к медиафайлам (аудио, видео, фото), это данные о файле, которые содержатся внутри самого файла. Разные типы файлов содержат разную информацию, но некоторые общие свойства есть у абсолютно всех файлов. Например, дата создания файла хранится внутри всех без исключения файлов. Именно поэтому важно перед началом сеанса записи настроить правильную дату в рекордере или диктофоне, на который вы производите запись, поскольку дата добавляется внутрь файла именно в момент его создания самим рекордером.

Многим известно, что в графических файлах (jpeg, tiff и т. д.) сохраняются данные о том, на какую фотокамеру и объектив был снят этот снимок, значения диафрагмы, выдержки, ISO, фокусное расстояние, в случае если у фотокамеры был подключён GPS приёмник, то записываются и географические координаты. Практически все фотографии, снятые на мобильный телефон, содержат эту информацию, поскольку подавляющее большинство смартфонов оснащено GPS или Глонасс-приёмниками. Но, помимо этого, файл jpeg в поле comment может хранить 65333 знака, это около 18 страниц текста. Аудио файлы wav, flac, mp3, ogg так же обладают внутренними метаданными, и нас интересует возможность добавления своего произвольного текста внутрь этих файлов. Для чего? В первую очередь, в целях облегчения идентификации файла независимо от его названия и места хранения. Файл может быть переименован, перемещён, даже отредактирован в какой-нибудь программе, но метаданные его при этом сохраняются. Это удобство трудно переоценить. Если говорить о метаданных аудиофайлов, то у разных форматов они конечно будут отличаться. Например, для mp3 и ogg были разработаны специальные наборы полей, id3 и id3v2-тэги, в которых предусмотрены такие поля как: название альбома, название песни, жанр, исполнитель и прочее. Обусловлено это тем, что форматы mp3 и ogg разрабатывались для использования в сфере популярной музыки. Последние версии id3-тэгов позволяют помещать внутрь файла довольно внушительный объем текста. В поле comment может поместиться текст песни. Формат wav обладает более скромными возможностями, его поле comment ограничено 64 символами, в этом он безусловно проигрывает более современному lossless формату flac, который так же, как и mp3, позволяет хранить в себе относительно большие объемы текстовых данных.

За редким исключением, все метаданные можно редактировать. Для этого есть много различных программ, но программы эти не универсальны и какие-то подходят больше для фотографий, какие-то для аудиоматериалов. Из бесплатных программ для редактирования аудиофайлов можно назвать: Tag&Rename, Metatogger, Tagscanner, Quod Libet.

Для массовой обработки MP3 файлов с помощью скриптов есть консольная программа eye3D и Mutagen. Последняя позволяет редактировать тэги и у других типов медиафайлов (flac, ogg, итд)

Какие-то точные рекомендации о том, что именно прописывать в метаданные файла при копировании их с флэш-накопителей рекордера или диктофона, дать трудно вследствие того, что у каждого собирателя или организации уже есть своя сложившаяся система упорядочивания материала. Безусловно, прежде всего наличие такой программы необходимо в полевых условиях для того, чтобы исправить неправильные даты записи в случае, если не успели или забыли их выставить на рекордере. Минимально имеет смысл внести хотя бы данные о собирателе и об организации, которая проводила сеанс записи, возможно, место записи или же сокращённый шифр, по образцу именования директорий, приведённый в предыдущей главе.

к оглавлению

Организация иерархии папок с записанным материалом

Каждая организация вырабатывает свои принципы хранения цифрового материала, что обусловлено отсутствием единого стандарта. Отсутствие единого стандарта не является какой-то особенной проблемой при условии того, что такой стандарт выработан внутри организации, и ему неукоснительно следуют. Проблемой как раз является отсутствие системы. При объединении разнородных архивов, полученных от разных собирателей и организаций, в какой-то момент возникает ситуация, когда в материалах могут разобраться один или два человека, что сильно затрудняет какую-либо работу с фондом. Данная тема больше относится уже не к первичной обработке материала, а непосредственно к работе с фондом, но некоторые аспекты этой проблемы связаны напрямую именно с первичной обработкой.

Исторически в ходе экспедиционных поездок фиксировался разный материал, например, только аудиозаписи, что было естественно для этномузыкологов в эпоху аналоговой записи; аудио и фото; аудиозаписи и рукописные материалы. В рамках физического хранения аналоговых носителей было логично объединять хранение материалов по типу: кассеты с кассетами, бобины с бобинами, плёнки с плёнками, тетради с тетрадями и так далее. К сожалению, во многих организациях это принцип сохранился и при организации древа каталогов хранения цифровых материалов.

В результате видео-, фото- и аудиоматериалы одной экспедиции и одного сеанса записи могут храниться на разных жёстких дисках, что не очень рационально для работы с фондами. Речь здесь не идёт о тех случаях, когда для определённого типа материала используется специальная программа. Например, для фотографий организовано хранение при помощи Google Picasa, а для аудио- и видеозаписей используется медиаплеер Itunes. Такой принцип, возможно, будет затруднительно соблюдать для оцифрованных бобин или аудио- и видеокассет, где на одном файле с оцифрованной бобины могут находиться материалы разных сеансов записи и даже разных экспедиций. Принцип хранения всех материалов сеанса записи в одной директории, в первую очередь, больше подходит, и даже необходим для базового хранения исходников, полученных в ходе экспедиций, где запись велась на цифровую аппаратуру.

В Центре русского фольклора выработан следующий принцип организации древа каталогов:

Скриншот иерархии папок

Все материалы сеанса записи сохраняются в директорию, название которой формируется исходя их даты проведения сеанса «2019.06.21», кодового номера региона, в котором был проведён сеанс «61» (Ростовская область), аббревиатуры организации или нескольких организаций «CRF-RAM-SCRTK» (Центр русского фольклора, Российская академия музыки имени Гнесиных, Самарский центр русской традиционной культуры), источник поступления материала «E» (экспедиция), сокращённое название района и название населённого пункта «Bkv-Il'in» (Боковский район, хутор Ильин).

Внутри этой директории создаются поддиректории для каждого типа материалов с таким же названием и добавлением индекса типа материала: «A» — аудио, «F» — фото, «V» — видео, «R» — реестр. Каждая папка отвечает за данные записанные с одного из устройств. Если запись велась на несколько рекордеров, то для каждого из них создаётся отдельная папка с присвоением номера A1, A2. Файлы внутри этих поддиректорий переименовываются с добавлением индекса и порядкового номера «V1», «V2» (видео №1, видео №2) и так далее.
Главная идея заключается в том, чтобы в имени файла можно было увидеть всю информацию отображенную в вышестоящей иерархии папок. Глядя на файл мы можем понять, кем, когда и где и в какой из сеансов записи он был создан.

Имена файлов должна содержать нули перед номером. 001, 002, 003. Это связано с тем, что операционные системы производят сортировку по первому знаку. Если у вас в папке 15 файлов именованные как 1, 2, 3,....11, 23, 13, то при сортировке после 1 будет идти 11. Для этого надо примерно понимать какой количество файлов в папке и выставлять соотвествующее количество нулей.

Несмотря на то, что все современные системы поддерживают юникод, и проблем с кириллическим названием директорий и файлов уже практически не возникает, тем не менее было принято решение все названия файлов писать латиницей. Это может уберечь от проблем при дальнейшей работе, например при написании служебных скриптов на различных языках программирования или добавлении директорий с файлами в какую-либо программу учёта, которая не гарантированно поддерживает корректную работу с кириллическими шрифтами.

I уровень — экспедиция

2014-GRCRF-34-E-Volgogradskaya — директория

II уровень — сеанс записи

02.10.2014-34-GRCRF-E-Alk-Alekseevskaya-1
02.10.2014-34-GRCRF-E-Alk-Alekseevskaya-2

III уровень — тип материала (аудио, видео, фото)

02.10.2014-34-GRCRF-E-Alk-Alekseevskaya-1-A
02.10.2014-34-GRCRF-E-Alk-Alekseevskaya-1-V
02.10.2014-34-GRCRF-E-Alk-Alekseevskaya-1-F

IV уровень — учетная единица (название файла)

...-1-A\02.10.2014-34-GRCRF-E-Alk-Alekseevskaya-1-A-01.wav
...-1-V\02.10.2014-34-GRCRF-E-Alk-Alekseevskaya-1-V-01.mp4
...-1-F\02.10.2014-34-GRCRF-E-Alk-Alekseevskaya-1-F-0001.jpg

Таблица источников материала

E — экспедиция
L — коллекция частных лиц
К — концерты, фестивали
R — радио, телевидение
U — коллекции учреждений
S — студийные записи

Таблица индексов типов материала

А — аудиоматериалы
KA — многоканальная запись
R — рукописные заметки собирателя (реестр)
F — фотографии
FК — фотокопии
V — видео
VК — видеокопии

к оглавлению

Ранее Ctrl + ↓