{"id":123,"date":"2014-05-21T05:21:11","date_gmt":"2014-05-21T05:21:11","guid":{"rendered":"https:\/\/www.experimini.org\/blog\/?p=123"},"modified":"2014-09-29T09:46:57","modified_gmt":"2014-09-29T09:46:57","slug":"puredata-eine-grafische-programmiersprache","status":"publish","type":"post","link":"https:\/\/www.experimini.org\/blog\/?p=123","title":{"rendered":"Puredata &#8211; eine grafische Programmiersprache"},"content":{"rendered":"<p>Puredata ist eine grafische Programmiersprache zur Manipulation von Datenstr\u00f6men. Puredata-Programme k\u00f6nnen in eine plattformabh\u00e4ngige Standalone-Anwendung \u00fcberf\u00fchrt werden, d.h. sie sind z.B. unter Windows als EXE Datei ausf\u00fchrbar.<\/p>\n<h2>Die Programmieroberfl\u00e4che<\/h2>\n<p><a href=\"https:\/\/www.experimini.org\/blog\/wp-content\/uploads\/2014\/05\/pd_konsole.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-125\" title=\"Puredata Konsole\" alt=\"Screenshot der Puredata Konsole\" src=\"https:\/\/www.experimini.org\/blog\/wp-content\/uploads\/2014\/05\/pd_konsole-300x272.jpg\" width=\"300\" height=\"272\" srcset=\"https:\/\/www.experimini.org\/blog\/wp-content\/uploads\/2014\/05\/pd_konsole-300x272.jpg 300w, https:\/\/www.experimini.org\/blog\/wp-content\/uploads\/2014\/05\/pd_konsole.jpg 515w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nPatchfenster<\/p>\n<p><!--more--><\/p>\n<p>Haken bei &#8220;DSP&#8221; setzen =&gt; Verkn\u00fcpfung zur Soundkarte aktiviert (beim Entwickeln besser ausmachen, kann sonst nervig sein). IN und OUT zeigen den ein- und ausgehenden Audio-Pegel.<\/p>\n<h2>Hallo Welt<\/h2>\n<h3>Objekttypen<\/h3>\n<ul>\n<li>Messages<\/li>\n<li>Number-Box (Float)<\/li>\n<li>Objekte (die machen die Arbeit)<\/li>\n<\/ul>\n<p>Kleine Rechtecke am oberen Rand von Objekten sind &#8220;Inlets&#8221;, dort gehen die Signale rein, Rechtecke am unteren Rand sind &#8220;Outlets&#8221;, dort kommen die Signale wieder raus. Das linke Inlet ist &#8220;hei\u00df&#8221;, d.h. der Wert wird sofort verarbeitet.<\/p>\n<p>Ein Inlet kann mehrere Signale aufnehmen, aber immer nur eins zur Zeit.<\/p>\n<p>Das Patchfenster hat zwei Modi: Ausf\u00fchrung und Editieren. Zwischen den Modi kann man mit Strg-E wechseln.<\/p>\n<p>Komplexe Abl\u00e4ufe k\u00f6nnen zu benannten Objekten zusammengefasst werden.<\/p>\n<h2>Ein Haufen Beispiele<\/h2>\n<ul>\n<li>Z\u00e4hler<\/li>\n<li>entprellter Z\u00e4hler<\/li>\n<li>Klatschz\u00e4hler<\/li>\n<li>Klangsynthese<\/li>\n<\/ul>\n<p>Es gibt eine Reihe vordefnierter Objekte, z.B. Toggle, Z\u00e4hler, AD-Wandler, Message.<\/p>\n<p>Stream-Objekte sind durch eine dem Namen nachgestellte Tilde gekennzeichnet.<\/p>\n<p>Patches k\u00f6nnen \u00fcber benannte send-Objekte Nachrichten an andere Patches schicken (receive-Objekt)<\/p>\n<p>Zu jedem Objekt kann \u00fcber Rechtsklick eine Hilfe abgerufen werden.<\/p>\n<h2>ADSR H\u00fcllkurve<\/h2>\n<p>Die ADSR-H\u00fcllkurve bestimmt den Lautst\u00e4rkeverlauf eines Tons:<\/p>\n<p>Attack &#8211; Zeit f\u00fcr Ansteigen der Lautst\u00e4rke bis zum Maximum<br \/>\nDecay &#8211; Zeit f\u00fcr Abfallen bis zur Sustain-Lautst\u00e4rke<br \/>\nSustain &#8211; Haltelautst\u00e4rke<br \/>\nRelease &#8211; Zeit f\u00fcr Abfallen des Tons auf Null<\/p>\n<p>Wir bauen uns ein Objekt, das die Einstellung der Parameter einer ADSR H\u00fcllkurve erlaubt. Die damit erzeugten T\u00f6ne klingen hart oder weich, je nach Einstellung. So langsam stellt sich ein Gef\u00fchl daf\u00fcr ein, was mit Puredata geht.<\/p>\n<p><a href=\"https:\/\/www.experimini.org\/blog\/wp-content\/uploads\/2014\/05\/klatschzaehler.pd_.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-126\" alt=\"Puredata Klatschz\u00e4hler\" src=\"https:\/\/www.experimini.org\/blog\/wp-content\/uploads\/2014\/05\/klatschzaehler.pd_-280x300.jpg\" width=\"280\" height=\"300\" srcset=\"https:\/\/www.experimini.org\/blog\/wp-content\/uploads\/2014\/05\/klatschzaehler.pd_-280x300.jpg 280w, https:\/\/www.experimini.org\/blog\/wp-content\/uploads\/2014\/05\/klatschzaehler.pd_.jpg 632w\" sizes=\"auto, (max-width: 280px) 100vw, 280px\" \/><\/a><\/p>\n<p>Am Ende entsteht ein Schwellwertschalter, der bei \u00dcberschreiten einer gewissen (einstellbaren) Lautst\u00e4rke einen Ton mit einer zuvor festgelegten H\u00fcllkurve abspielt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Puredata ist eine grafische Programmiersprache zur Manipulation von Datenstr\u00f6men. Puredata-Programme k\u00f6nnen in eine plattformabh\u00e4ngige Standalone-Anwendung \u00fcberf\u00fchrt werden, d.h. sie sind z.B. unter Windows als EXE Datei ausf\u00fchrbar. Die Programmieroberfl\u00e4che Patchfenster<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-123","post","type-post","status-publish","format-standard","hentry","category-software"],"_links":{"self":[{"href":"https:\/\/www.experimini.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.experimini.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.experimini.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.experimini.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.experimini.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=123"}],"version-history":[{"count":3,"href":"https:\/\/www.experimini.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/123\/revisions"}],"predecessor-version":[{"id":167,"href":"https:\/\/www.experimini.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/123\/revisions\/167"}],"wp:attachment":[{"href":"https:\/\/www.experimini.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.experimini.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.experimini.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}