-=. ВНИМАНИЕ . =-
В данной ветке запрещены ссылки на кряки, эмуляторы, ломанные DLL и EXE файлы. Пользователи, нарушающие данные правила, будут наказываться (после первого предупреждения).
Основные понятия системы:
1. Модель К3 — представляет собой набор геометрических тел и примитивов, которым можно присвоить атрибуты. Геометрические тела и примитивы могут быть объединены в группы (блоки) и разнесены по слоям. Маска файла *.k3;
2. Атрибуты — представляют собой параметры со значениями или наборы параметров. В атрибуты записываются ссылки на базу данных, значения переменных, строковые, числовые или логические значения.
3. Макропрограмма — представляет собой описанную последовательность действий (читай алгоритм), описанную на скриптовом языке системы. Здесь аналогия с любыми макросами любой системы (например, язык LISP или макросы MS Office) Маска файла *.mac; Это обычные текстовые файлы, их можно открыть блокнотом.
4. Прототип — представляет собой совокупность макрофайлов, выполняющих построение геометрических тел и моделей, а так же процесс присвоения атрибутов. Тела могут объединяться в группы (сборочные единицы).
К3-Коттедж. Пошаговое руководство. «Быстрое начало».
5. Скрипты — представляют собой внешние модули, при помощи которых К3 осуществляет вызов и управление любыми приложенями, поддерживающими API и являющимися COM или OLE объектами.
6. Отчеты Fast Report — представляют собой внешние отчеты, созданные для программы FastReport. DLL для работы с этими отчетами входит в состав новой версии 6.1, а это значит, что для генерации отчетов теперь можно обойтись без Excel’а.
Как со всем этим работать (общая информация):
Подробная информация содержится в одноименных руководствах. Здесь содержится общая информация о том, как это все “пощупать” и посмотреть.
1. Модели могут быть подготовлены заранее (направляющие ящиков, ручки, петли и т.д.), в этом случае в справочниках дается ссылка на модель, а сама модель должна быть заранее создана и сохранена. Например, при описании ручки в поле S3 прайс-листа заносится название файла К3, в котором храниться данная модель. Так же модели могут быть отстроены с помощью прототипов или макросов. Условно макрос – алгоритм, результат его работы – конкретная модель (или группа моделей), которая может быть сохранена в отдельный файл к3. Подробная информация по созданию геометрических моделей в К3, находится в руководстве http://www.k3info.ru/doc/K3Doc_5_6.exe
2. Атрибуты – это параметры (группы параметров), описанных в системе. По атрибутам происходит идентификация моделей, выгрузка данных и т.д. Можно создавать свои атрибуты и присваивать их моделям. Попробуйте выбрать в меню “объекты-атрибуты-значения-информация” и укажите произвольный прототип. Система покажет все атрибуты, присвоенные объекту.
3. Почти все (за исключением внутренних команд) в К3 Мебель работает с помощью макросов. Если у вас включена панель команд (“Вид-панель инструментов-панель команд”) то при нажатии кнопок почти всегда вы увидите команду macro — путь – название файла (*.mac), который будет работать при текущей команде. Открыв макрос, можно посмотреть, как он работает. Все макросы лежат в папке PROTO текущей базы.
Быстрое начало. Урок 1. Создание шкафа с раздвижными дверьми.
5. Нажмите “Инструменты-редактор сценариев” и вы запустите K3 Talk, в нем должен быть включен “Вид-Состав”, откройте файл PKMScrLib.mdb из папки PROTO текущей базы и во вкладке “состав” вы увидите отчеты, которые можно вызывать. Вызовите в К3 отчет (например, деталировка) откройте макрос, который, запускается от данной кнопки, и посмотрите, какой отчет вызывается этой кнопкой. После этого вы можете открыть этот отчет в K3 Talk и посмотреть, как он работает.
6. По поводу программы Fast Report очень много информации в Интернете. Создание отчетов с помощью дизайнера Fast Report объективно проще скриптового инструмента, но это инструмент не позволяет управлять другими приложениями.
Резюме – система полностью открыта и все в ней поддается переделке. Если будет интерес, в будущем создам тему с описанием базы данных К3, где распишу, как происходит информационный обмен между К3 и внешними приложениями (на примере Access’a, входящего в состав ПКМ).
Ниже ссылка на программу MacroAnalizer, с которой удобно редактировать и просматривать макрофайлы K3.
Все… Желаю успехов в изучении программы.
Источник: promebelclub.ru
Как работать с программой к3
Информация о материале Категория: Первые шаги Просмотров: 195072
Введение:
Задача данного курса — познакомить вас с конструктором Lego mindstorms. Научить собирать базовые конструкции роботов, программировать их под определенные задачи, разобрать с вами базовые решения наиболее распространенных задач-соревнований.
Курс рассчитан на делающих первые шаги в мир робототехники с помощью конструктора Lego mindstorms. Хотя все примеры роботов в этом курсе сделаны с помощью конструктора Lego mindstorms EV3, программирование роботов объясняется на примере среды разработки Lego mindstorms EV3, тем не менее, владельцы Lego mindstorms NXT тоже могут присоединиться к изучению данного курса, и, надеемся, найдут для себя тоже полезное.
Урок №2 — Программирование движения робота
Информация о материале Категория: Первые шаги Просмотров: 310007
Источник: robot-help.ru
Как работать с программой ТРИО
Работа с программой озвучивания ТРИО
=== ВНИМАНИЕ в настоящее время программы Пианола и Трио переведены на современную платформу. Ознакомиться с их работой можно тут — http://www.proza.ru/2017/10/13/1274
См. также другие статьи в разделе о синтезе музыкального звука в среде Визуал Бейсик.
Программа Пианола и программа ТРИО входят в общий проект по созданию музыкальных записей звуком, синтезированным но компьютере. С историей проекта можно ознакомиться здесь — http://www.proza.ru/2016/12/29/1190
подробности о проекте целиком см. здесь — http://www.proza.ru/2016/06/10/1302
ссылка на звучание представленного на рисунке — http://yadi.sk/d/2ha3u4X8uhMMc
Другие записи можно прослушать здесь — http://yadi.sk/d/poMxlrBuxendv
В папке по адресу http://yadi.sk/d/zv-WYZdC328cGV находится всё необходимое для работы с проектом. Программа Пианола откомпиллирована, однако имеются и два файла — исходники этой программы.
Что касается программ озвучивания, то они запускаются из среды Турбо Бейсик. Эти программы, обозначенные общим названием ТРИО, состоят из начального файла (T_mono, T_stereo, T_mix или T_lp), организующего запись, и двух файлов T_B и T_FN с расширением INK, которые подключаются к начальному файлу.
Все статьи по музыке, относящиеся к проекту, находятся тут —
https://yadi.sk/d/MxeUfs3XtKA8p
В этой же папке находятся примеры — файл CP1.txt или CL1.txt можно загрузить в программу Пианола. Для этого запустите Пианолу, и в верхнем поле напечатайте CP1 и нажмите Enter. Затем дважды нажмите клавишу F8 и идите на нижнюю строку. Строка, на которую Вы попали, пустая, она лишняя, удалите её, нажав Del, и теперь можете экспериментировать.
Чтобы попробовать, как работает программа озвучивания, приготовьте для неё файлы партитуры P.txt и L.txt (можно просто переименовать примеры P1.txt и L1.txt). Затем запустите Турбо Бейсик, загрузите в него T_lp.bas и запустите программу через поле RUN. В ответ на возникший знак вопроса нажмите f и Enter.
Результат — файл PROBA.wav можно разглядывать и прослушивать, используя редактор Wave Editor. Через него же запись можно перевести в mp3 формат.
Программа T_mix.bas делает то же, но не разводит звук раздельно по динамикам, а делает для левой и правой руки лёгкий микс.
Программа T_mono.bas делает монозапись из файла партитуры A.txt. Предполагается, что это звук виолы. Чтобы соединить Виолу с фортепьяно нужно использовать три файла партитуры и программу T_stereo.bas.
ОБЩИЕ СВЕДЕНИЯ О ПРОГРАММЕ
Музыкальный звуковой файл, по имеющейся партитуре, создаёт программа озвучивания ТРИО. Структурно программа состоит из Дирижёра и трёх МУЗов — музыкантов, читающих каждый — свою партитуру (текстовый файл, содержащий указания на частоты, паузы, и на их длительности), и играющих каждый на своём инструменте.
Все доступные музыканту инструменты «сложены» в принадлежащую ему функцию создания звука в виде отдельных сценариев. Причём, одному инструменту может соответствовать не один, а два, или даже три сценария развития звука. Ведь и инструменты бывают разными, и звучать они могут очень по разному, если исполнитель постарается.
Играет он смычком, щипком, или стучит по деке — это ведь очень разные звуки. Тембр пианино отличается от тембра рояля. И аккордеоны бывают разными. Смешно было бы требовать одного унифицированного сценария на все варианты звучания одного инструмента.
Но и раздувать количество сценариев не следует — нехорошо загромождать программу большим количеством текста. Каждому отдельно взятому сценарию следует дать возможности перестройки в части громкости звучания отдельных компонентов, формы развития звука и тембра. Естественно, что такая перестройка должна делаться не «перетягиванием колков во время игры» — не изменением текста сценария, а указаниями партитуры. Также, как в обычной нотной записи мы читаем — форте, пиано, торжественно, спокойно, блестяще.
Также, как и в скрипичной технике, тембр звука определяется несколькими составляющими:
» В основе штрихов лежит не деташе, как это часто неверно полагают, — ведь оно само является штрихом, а соотношение пяти различных элементов движения правой руки: 1) проведение смычка; 2) характер начального импульса и заключительное филирование звука; 3) нажим или ослабление давления смычка на струну; 4) использование сил упругой эластичности, заложенных в самом смычке (в частности, вибрация трости); 5) автоматизированные (дрожательные, колебательные) природные движения мышц руки. Эти элементы в той или иной степени присутствуют в каждом штрихе, но их сочетание и баланс различны.»
Также и в синтезе музыкального звука перестройка его осуществляется параметрически. А конкретнее, через глобальные переменные, которые, в свою очередь, задаются через мнемонические указания в сценарии.
ОТСТУПЛЕНИЕ. ЧТО ТАКОЕ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ
Тут, людям несведущим в программировании, я хочу пояснить, что такое «глобальные переменные» и почему они так называются.
В тексте функции, делающей звук, каждой переменной даётся своё название, и, если мы хотим, чтобы значения переменных сохранялись, наши переменные не должны путаться — нельзя давать одно название двум разным переменным.
Однако, таких функций в программе ТРИО три. Они функционально совершенно одинаковы, и делают одно и то же, только принадлежат они разным МУЗам. Оказывается очень удобным и переменные в этих функциях называть одинаково. Как быть?
Представьте, что вы живёте в доме, в котором, кроме вашей, есть ещё две квартиры. В каждой квартире, и в вашей тоже, есть помещения, называемые одинаково. И во всех помещениях что-то лежит. Вам говорят — пойдите на кухню и возьмите там то, что найдёте. Разумеется, если вы находитесь в своей квартире, то вы пойдёте на свою кухню, а не на кухню соседа.
Но для программы это не разумеется. Чтобы указать, что у вас есть своя кухня, вам нужно объявить её статической или локальной переменной, вот так —
STATIC Kuhnja или LOCAL Kuhnja
В чём разница? Если вы объявили Кухню статической переменной, то вы можете что-нибудь в ней оставить, выйти из квартиры, вернуться, и найти то, что оставили, в полной сохранности.
Если же вы объявили Кухню локальной, то вы можете полноценно использовать её, пока находитесь в своей квартире — принести на кухню из коридора чемодан, сделать на кухне дубликат чемодана и отнести его в спальню, принести из спальни цветок и прибавить его к чемодану. Но, если вы выйдете из квартиры и вернётесь обратно, то ни чемодана, ни цветка вы там не обнаружите. Скорее всего, на кухне будет пусто.
А что, если вы совсем ничего не объявляли относительно названия Кухня, а вам говорят — иди туда! Что вы делаете? Вы идёте в город, и ищете помещение с названием Кухня. Для вашей квартиры Кухня является глобальной переменной, она доступна для вас, также как и для всех. Её можно использовать для пересылки всяких вещей.
В нашем случае — параметров, от партитуры к звуковой функции.
КАКИЕ УКАЗАНИЯ МОЖНО ДАВАТЬ В ПАРТИТУРЕ
Итак, глобальные переменные, это переменные, на значение которых ориентируются некоторые сценарии с тем, чтобы скорректировать свои статические параметры, или соответствующим образом выполнять свои действия по развитию звука.
Названия этих переменных состоят из букв, и одной или двух цифр. Первая цифра в имени переменной вносится МУЗом и соответствует его номеру, а сама переменная используется звуковой функцией, принадлежащей данному МУЗу. За последним следует следить при составлении новых сценариев, или при перенесении сценария от одного МУЗа к другому. Глобальные переменные в разных звуковых функциях должны быть разными. Статические или локальные переменные имеют одинаковые наименования, но глобальные по названиям различаются.
Вид мнемоники назначения глобальных переменных в партитуре отличается от самого названия переменной. Например, если в партитуре, читаемой 3-им МУЗом, встречается указание Ar=2, то переменная ARE3 принимает значение 2, то есть, появление такого указания эквивалентно выполнению оператора ARE3=2.
Указания в партитуре записываются только латинскими буквами, и с соблюдением разного написания заглавных и строчных букв.
Мнемонические задания могут быть общего плана, их можно записывать в одной строке, даже совмещая эти указания с указанием на паузу:
H=.8 M=.5 TE=50 — громкость, частотный множитель, длительность спада звука
и R=8 — назначение сценария (назначение музыкального инструмента).
Задание S=1.2 замедляет темп на 20%, а S=.8 устанавливает более быстрый темп.
Эти назначения руководят действиями МУЗа и запоминаются в его статических переменных.
Такими же являются и назначения эхо — exo=1, exo=2 или exo=3.
Эти назначения вы можете видеть на рисунке, они находятся в самом начале партитур для левой и правой руки. Ну, тут уж музыкантов придётся разделить — один играет правую партию из файла TF.TXT, а другой играет партию левой руки, причём и тот, и другой могут играть и аккордами.
Партитурные назначения являются бессрочными — они действуют до конца озвучивания, или до тех пор, пока они не будут отменены или новым партитурным назначением, или изнутри какого-нибудь сценария.
Если назначения не было, это не значит, что назначение отсутствует. По умолчанию, то есть если прежде не было никаких распоряжений, считается, что
H=1 M=1 TE=20 R=0 — звук простой синусоиды, и exo=0 — эха нет.
Также, как и задания общего плана, в одной строке можно совмещать и другие указания.
Эти указания делятся на три группы —
строковые (задания строк рельефа), численные (пользовательские) и табличные (аккордные). Рассмотрим их в этой очерёдности.
СТРОКОВЫЕ УКАЗАНИЯ В ПАРТИТУРЕ. A_указания
Строковое указание открывается заглавной латинской A. Например, оно может быть такого вида
A1r$=»некая строка из символов»
что будет эквивалентно присвоению A#1r$-«эта самая строка из символов»
где на месте # стоит цифра 1, 2 или 3, соответственно тому, какой МУЗ прочёл это указание в своей партитуре.
То же касается указаний A2r$=»строка» и A3r$=»строка».
Но не только это — одновременно устанавливается флаг ARE#=0. Флаг может использоваться звуковой функцией для выбора своих действий.
Флаг может быть установлен и отдельно, вот так — Ar=0 или Ar=1, 2. 9,
но если указать Ar=11 или Ar=12 . 15, то флаг будет установлен в положение 10, а в глобальной переменной A#rr$ появится обертонный рельеф одного из первых пяти флажолет,
а если указать Ar=16, Ar=17 или Ar=18, то — один из рельефов, характерных для звука альта.
Рельеф в переменной A#rr$ можно задать и непосредственно, вот так —
Ar=»строка изображающая рельеф» флаг ARE# при этом устанавливается в положение 10.
Итак, давайте посмотрим, какие глобальные переменные мы можем задать в партитуре, используя А_указания.
Это 9 строк — A11r$ A12r$ A13r$ A21r$ A22r$ A23r$ A31r$ A32r$ A33r$
три строки — A1rr$ A2rr$ A3rr$
и три флага — ARE1 ARE2 ARE3
Тройку из девяти первых строк можно заполнить нулевым рельефом — придать им значения «50», если дать указание Ar=-1
ЧИСЛЕННЫЕ УКАЗАНИЯ В ПАРТИТУРЕ. U_указания
Численное, или пользовательское указание, не столь сложно, как строковое. Оно открывается заглавной буквой U. Вот те пользовательские указания, которые предусмотрены в программе ТРИО на данный момент:
КОЭФФИЦИЕНТ EA, используемый в сценариях со звуком фортепьяно или трубы, может быть скорректирован по указанию UEA=1, -2 или любое другое число.
Это указание задаёт глобальные переменные UEA1 UEA2 UEA3 (по номеру МУЗа), имеющие приоритет в тех сценариях, в которых эти переменные учитываются.
ДИССИПАТИВНЫЕ DU1 DU2 DU3 корректируются по указаниям UDa= UDb= UDc=
Эти указания задают глобальные переменные UD1a UD2a UD3a UD1b UD2b UD3b UD1c UD2c UD3c,
имеющие приоритет в тех сценариях, которые их используют.
Назначения ПРИДЫХАНИЯ — UX=.3 задают диссипативный фактор сведения амплитуды к нулю. Этот параметр используется в сценарии CASE 5 ‘du du, то есть труба.
Снятие придыхания — UX=0
Глобальные переменные — UX1, UX2 и UX3 по умолчанию равны 0.
Назначение параметров для Виолы аналогично, например — UV=.35 и ключ UW=1 этим назначениям соответствуют глобальные переменные UV# и UW#
Для создания частотного вибрато Виолы только для первого МУЗа используется назначение w. , где . это число, целая часть которого указывает частоту вибрато, а дробная — амплитуду вибрато в процентах. При этом назначении указанное число заносится в глобальную переменную W1W. Переменная эта затем используется в сценарии для Виолы. Назначение w0 устанавливает W1W в ноль, вибрато в этом случае отсутствует.
Установка всех U переменных в ноль по умолчанию — U=0 или U=
УСТАНОВКА АККОРДОВ В ПАРТИТУРЕ. G_назначения
Использование аккордов в программе ТРИО подробно обсуждается тут —
http://www.proza.ru/2016/03/28/350
Самое распространённое аккордное назначение выглядит так — G=/43 здесь указывается, что нижний аккордный звук, с частотой, указанной в партитуре, сопровождается вторым звуком на 4 полутона выше, и третьим звуком, который на 3 полутона выше второго.
Этот же аккорд можно назначить и так — G=/+043 или G=/7-03
то есть, если в записи присутствует знак плюс или минус, то в качестве числа полутонов берётся двухзначное число, а если знака нет, то только одна цифра.
Между = и / может стоять целое число №, оно укажет на задержку появления звука в последовательности нот аккорда. Таким образом можно создать арпеджиато.
Для аккордного назначения не обязательно использовать отдельную строку. Если аккорды идут часто, то назначать аккорды удобнее в конце строк, указывающих на частоты. Разумеется, перед аккордным назначением в этом случае нужно сделать пробел, отделив его от предыдущих цифр.
Чтобы снять только назначение арпеджиато, сохранив прежний аккорд, нужно записать G=/, назначить арпеджиато к прежнему аккорду — G=№/, а чтобы перейти к одиночному звуку — G= безо всяких указаний после знака равенства, но проще это можно сделать локальным указанием g.
Все аккордные назначения находятся в общем глобальном двухмерном массиве Ac(10,3), индексированном в первом индексе по звукам аккорда, а во втором — по МУЗам. Таким образом, каждый аккорд может содержать до 10-ти звуков.
ЛОКАЛЬНЫЕ УКАЗАНИЯ, ШТРИХИ И НЮАНСЫ
Для тонкой регулировки звучания используются нюансы — мелкие локальные указания. Они характерны своей локализацией в партитуре — значки нюансов принимаются во внимание только в нотах, то есть только в тех строках, которые начинаются указанием частоты F= и длительности звучания ноты. Кроме того некоторые нюансы доступны только избранным МУЗам.
Общие для всех трёх МУЗов нюансы задаются значками < >> g
< увеличить громкость этой и последующих нот на 20%
> уменьшить громкость этой и последующих нот на 20 %
>> уменьшить громкость на 20% дважды
g снять аккордное назначение
r (без знака равенства) — указание на номер сценария. Равносильно общему R=
Особый для третьего МУЗа нюанс t прибавляет указанное число семплов к длительности звучания отмеченной этим знаком ноты. Отрицательное число после значка t сокращает время звучания ноты.
Например, в строке F= 292 T1= 9800 T2= 199 t800 время звучания ноты будет взято равным 9800+800=10600 семплов.
Поскольку предполагается, что ритмика третьего МУЗа является определяющей для второго МУЗа (они могут исполнять партии правой и левой руки для игры на фортепьяно), то вслед за моментом добавления времени звучания третьему исполнителю добавляется время (звучания или паузы) и исполнителю второму. Поэтому несмотря на замедления у 3-го МУЗа, второй МУЗ скорректирует своё время, и будет продолжать звучать синхронно с третьим.
Но если время звучания не увеличивается, а сокращается (при отрицательных значениях t), то вначале второй МУЗ проверяет — а может ли он сократить своё время, не получится ли отрицательный результат? В этом случае он своё укорочение времени откладывает до следующего звука или паузы.
Разумеется, изменения ритмики можно делать и вручную — изменив в партитурах времена T1 и T2 подходящим образом, но для этого нужны некие вычисления по части соотнесения времён, и делать замедления или ускорения с помощью значка t в третьей партитуре оказывается удобнее.
Особый нюанс задаёт значок l — супер легато. Нота с таким значком, и все последующие за ней ноты, оказываются лишёнными после нотной паузы — время T2 добавляется ко времени T1. Значок n нормализует звучание, возвращая его к заданному временами T1 и T2.
Эти значки Вы можете видеть на фрагментах партитур, показанных в окнах на рисунке.
Источник: proza.ru