LINUX.ORG.RU

TRUE-DEATH-PRIMITIVE-LINUX-CHIPTUNE

 , , ,


14

5

Представляю вашему вниманию очередное ненужноподелие — программу Robotonic. Сотня строчек говнокода на православной сишечке превращает любые входные данные в нечто мелодичное. Четыре параметра (длина последовательности, длительность «ноты», частота дискретизации и уровень тёплого лампового шума) регулируются константами, по просьбам трудящихся могу прикрутить ключи. Использование, например: cat /dev/urandom | ./robotonic | aplay. Можно вместо входного файла вбивать музон прямо с клавиатуры (учтите, что программа жуёт символы по четыре).

Начиналось сие поделие как факультативная лабораторка. Препод (внезапно, юниксойд) задал запилить что-нибудь наглядно демонстрирующее рулёзность пайпов. Я, недолго думая, реализовал давнюю задумку: прогу, которая из любых входных данных генерирует нечто более музыкообразное, чем TDPLM. Препод в целом остался недоволен, ибо хотел что-либо, что можно цеплять в длинную последовательность. Прога временно ушла в чулан, летом я её раскопал, довёл до более-менее приемлемого звучания и закопал обратно. Сегодня внезапно вспомнил, послушал полчасика незамыленным слухом и решил, что прога готова к употреблению; чутка причесал сырцы и залил на гитхаб.

Гуманитариям, говнарям и прочим нежноухим просьба проходить мимо.

На всякий случай оставлю здесь демо.

Перемещено beastie из talks

★☆

Последнее исправление: INFOMAN (всего исправлений: 3)

C fb0 как-то монотонно выходит. А если через gzip - хорошо получается. Лучше всего - выхлоп tcpdump.

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)
Ответ на: комментарий от batekman

Можешь залить выхлоп куда-нибудь? C shadow разумеется

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)

а вообще - респект, годно и круто

reprimand ★★★★★
()
Ответ на: комментарий от buratino

А что, енто через врапперы можно? переписывать всё на этом вашем питюшёне не хочу :3

buratino

Злобный? а почему опять забанили-то?

MiniRoboDancer ★☆
() автор топика
Ответ на: комментарий от buratino

/dev/dsp, не? А что, у вас в опёнке OSS до сих пор, али вообще велосипед какой?

MiniRoboDancer ★☆
() автор топика
Ответ на: комментарий от MiniRoboDancer

Злобный? а почему опять забанили-то?

Потому что он переименовался.

Valkeru ★★★★
()
Ответ на: комментарий от batekman

Шрифты классно звучат.

Ядро тоже ничего так.

А вот сама софтина не очень звучит

Valkeru ★★★★
()
Последнее исправление: Valkeru (всего исправлений: 1)
Ответ на: комментарий от MiniRoboDancer

короче, сделал аудиоаватаросервер :), но оказалось интереснее играть с espeak :) играю :) эх, собрать бы rhvoice

buratino ★★★★★
()
Ответ на: комментарий от Valkeru

Андроид всегда прй чём, когда его можно обосрать.

MiniRoboDancer ★☆
() автор топика
Ответ на: комментарий от MiniRoboDancer

Потому что(опустим -o - его положение не важно. Также опустим те факты что CFLAGS и LDFLAGS не указаны - привет проблемы на некоторых архитектурах, CC не используется - кросскомпиляции хана):

Должно быть:

gcc $(SOURCES) $(LIBS)

У тебя:

gcc -lm Robotonic.c

То есть

gcc $(LIBS) $(SOURCES)

Чуешь разницу? Ну и если чуешь - пофикси плз тогда и остальное что ли. Могу pull request прислать

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)

Круть! Можно попробовать насочинять что-нибудь самому.

echo -e "-_-_-_-_-_a_a_-a-a-\!_\!----111111" | ./robotonic | aplay

Kilte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Строго говоря, это всё не совсем правда: порядок может быть любым. Лучше б ты gcc(1) процитировал:

It makes a difference where in the command you write this option; the linker searches and processes libraries and object files in the order they are specified. Thus, foo.o -lz bar.o searches library z after file foo.o but before bar.o. If bar.o refers to functions in z, those functions may not be loaded.


Кстати, пойду послушаю man gcc | ./robotonic | aplay.

thriller ★★
()
Последнее исправление: thriller (всего исправлений: 1)
Ответ на: комментарий от thriller

Бесспорно, но то что при этом символы будут связываться не в том порядке, о котором думал ТС - это факт.

Pinkbyte ★★★★★
()
Ответ на: комментарий от MiniRoboDancer

А смысл? оно слишком примитивно, проще алгоритм обработки входных данных к какому-нибудь из OPL-синтезаторов прикрутить.

у меня есть аппаратный OPL2 (сдернул с isa звуковухи) на макетке прикрученный через FT2232 (bus mode) к usb. на рамдомных данных выдавал вполне эпичный звук.

exception13 ★★★★★
()
Ответ на: комментарий от buratino

К espeak рюссиш прикручивается? Так-то festival читает чуть получше, но интерфейс недружелюбный и пакеты с голосами весят дофига.

MiniRoboDancer ★☆
() автор топика
Ответ на: комментарий от MiniRoboDancer

говорит, только осеня осеня плохо говорит... зато реализовывается за 10 минут :) с rhvoice буду долго и нудно разбираться.... фестиваль только разогревается час :) а мне надо огг-шку по запросу :)

buratino ★★★★★
()
Ответ на: комментарий от buratino

Это ещё куда ни шло. Самое интересное, что интонации оно при этом правильно подбирает.

MiniRoboDancer ★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.