Архив за месяц: Декабрь 2013

Фрист

Набирал как-то ноты немецкой рождественской песни «Stille Nacht», решил добавить туда немецкий текст — мне видеть его как-то привычнее, чем русский перевод, к тому же неточный и с лишними слогами. Добавил — обнаружил странный глюк: написанное в исходном тексте слово Christ в скомпилированном листе с нотами преобразовалось в Phrist. Заменил латинскую C на похожую кириллическую С — стало выглядеть как надо. Кто такой Фрист — не нашёл.

Не zip

На сайте prostopleer.com есть, вроде бы, возможность скачать целиком музыкальный альбом. Но потом — сюрприз! — скачавшийся zip-файл вовсе не является ZIP-архивом: ни unzip, ни 7z не желают его открывать. Лишь всемогущий mplayer спокойно играет одну пьесу за другой.

Анализ содержимого показал: в начале архива идёт стандартная сигнатура PK♥♦ (50 4B 03 04), но за ней — имена файлов вместе с мусором и сами файлы, без какого-либо сжатия. Достать музыку из такого файла при наличии перла — легко!

#!/usr/bin/perl -0777 -n

=head1 DESCRIPTION

Split big pseudo zip-archive from prostopleer.com into small mp3 files.

=head1 USAGE

 ./split.pl big-pseudo.zip

=head1 SEE ALSO

L<< https://gist.github.com/shoorick/7785185 >>

=head1 AUTHOR

Alexander Sapozhnikov
L<< http://shoorick.ru/ >>
L<lt>shoorick@cpan.orgE<gt>

=cut

binmode(STDIN);

my $divisor = "ID3\x04\x00";
my @chunks = split $divisor;
shift @chunks;

my $i = 1;
foreach my $chunk ( @chunks ) {
    open(my $fh, '<', sprintf('%02d.mp3', $i++))
        or die "cannot open for writing: $!";
    print $fh $divisor, $chunk;
    close $fh;
}

Оно же — на гитхабе: https://gist.github.com/shoorick/7785185

«Я увеличила грудь дома» — пишут спамеры. Спросонья недоумеваю: у дома есть грудь? Её надо увеличивать? Чё за бред с утра?

И чё дальше?

  1. РБТ — уроды!
    эмоциональное оценочное суждение
  2. Меня не устраивает, как работает челябинское ОАО ТТЦ Рембыттехника: ремонт осуществляют не в полном объёме, на выставленную по этому поводу претензию не реагируют, за дополнительный ремонт, игнорируя действующее законодательство, мою претензию и собственные же устные обещания, хотят денег. Деньги, конечно, им придётся заплатить хотя бы для того, чтоб забрать отремонтированную стиральную машину, но хочется, во-первых, их наказать и, во-вторых, вернуть хотя бы часть суммы.

Пич спелл

Нотный редактор MuseScore при наборе в нём произведений, изобилующих случайными знаками альтерации, иногда промахивается: обозначает ноту не так, как задумал автор. В сибелиусе, насколько помню, сразу была возможность заменить ноту на другую, энгармонически ей равную путём нажатия какого-то сочетания клавиш. В MuseScore по умолчанию такого нет. Как нет и хоть какой-то команды, содержащей в себе слово enharmonic. Есть Notes → Pitch Spell, которая, вроде, делает нужное — заменяет ноту энгармоническим её эквивалентом. Эксперимент на реальных нотах показал, что не всё так гладко: команда не позволяет перебрать все возможные варианты (а их число легко может составлять три) — она выбирает какой-то один вариант и при повторном её применении не делает ничего. Но гораздо хуже другое: команда меняет не выделенные ноты, а вообще все, по всему произведению. Видимо, придётся как и раньше — нажимать ↑↓ для замены ноты с диезом на энгармонически равную ей ноту с бемолем и ↓↑ — для замены в обратную сторону. Кстати, дубль-диезы с дубль-бемолями таким способом поставить не удаётся — такой способ и ноты с одиночными-то бемолями иногда пропускает, не даёт выбрать.