close

Tiszta adatok

Ugrás a navigációhoz Ugrás a kereséshez
Image
Képernyőkép a Pure Data-ról.

A Pure Data (vagy Pd) egy vizuális programozási nyelv , amelyet Miller Puckette fejlesztett ki az 1990-es években interaktív számítógépes zenék és multimédiás művek létrehozására . Bár Puckette a szoftver fő szerzője, a Pd egy nyílt forráskódú projekt , és nagy fejlesztői bázis dolgozik a program új kiterjesztésén. A BSD licenchez hasonló licenc alatt adják ki .

A Pd terjedelmében és felépítésében nagyon hasonló Puckette eredeti Max programjához (amit az IRCAM -nál fejlesztettek ki ), és bizonyos mértékig interoperábilis a Max/MSP -vel , a Max nyelv kereskedelmi utódjával. Mind a Pd, mind a Max vitatható példák az "adatfolyam" programozási nyelvekre. Az ilyen típusú nyelveken a funkciók vagy "objektumok" egy grafikus környezetben vannak összekapcsolva vagy "foltozva" egymással, amely modellezi a vezérlés és a hang áramlását. A Max eredeti verziójától eltérően azonban a Pd-t mindig arra tervezték, hogy jelfeldolgozást és vezérlési sebességet végezzen a natív CPU-n, ahelyett, hogy a jelszintézist és -feldolgozást egy PDS-kártyára (például az Ariel ISPW-re, amelyet Max/FTS-hez használtak) töltené át. . A Pd kód az alapja David Zicarelli MSP-bővítményeinek a Max nyelvhez a szoftveres hangfeldolgozáshoz.

A Max-hez hasonlóan a Pd-nek is van egy moduláris kódbázisa külső elemekkel vagy objektumokkal, amelyeket szoftverben írt programok építőelemeiként használnak. Ez tetszőlegesen bővíthetővé teszi a programot egy nyilvános API -n keresztül , és arra ösztönzi a fejlesztőket, hogy adják hozzá saját hang- és vezérlőrutinjaikat akár C programozási nyelven, akár kívülállók segítségével Python , Javascript , Ruby és esetleg más nyelveken is. A Pd azonban önmagában egy programozási nyelv. A natívan Pd-ben írt moduláris és újrafelhasználható kódegységek, úgynevezett "patch"-ek vagy "absztrakciók", önálló programokként használatosak, és szabadon megoszthatók a Pd felhasználói közösség között, és a Pd használatához nincs szükség más programozási készségekre, de segít. .

A "Graphical Environment for Multimedia" ( GEM ) külső és más, a vele való együttműködésre tervezett külső eszközök hozzáadásával (mint például a Pure Data Packet, a PiDiP for Linux , a framestein for Windows , a GridFlow az n-mátrix feldolgozáshoz, amely integrálja a Pure Data-t a Ruby programozási nyelv stb.), lehetőség van videók, OpenGL grafikák , képek stb. valós időben történő létrehozására és manipulálására, az interaktivitás végtelennek tűnő lehetőségeivel hanggal, külső érzékelőkkel stb.

Ezenkívül a Pd-t natívan úgy tervezték, hogy lehetővé tegye a hálózatokon vagy az interneten keresztüli élő együttműködést, lehetővé téve a LAN -on keresztül , vagy akár a világ különböző részein csatlakozó zenészek számára , hogy valós időben zenéljenek együtt.

A kódot programozó egységeket "patch"-nek vagy absztrakciónak nevezik, független programként használják, és szabadon megosztják a Pd-felhasználók közössége között. A foltok különböző, egymással összekapcsolt objektumokból állnak. Felsõ részében találjuk a bemeneteket, ahová a számértékeket vagy más típusú adatokat küldjük, az alsó részben pedig ezek kimenetét.

Image
Aljavítás.

Lehetőség van másodlagos javítások, másodlagos javítások létrehozására is. A fő javításon belül vannak. Úgy jön létre, hogy egy objektumba beírja a „pd” betűket, majd egy szóközt és az aljavításnak adni kívánt nevet, amint az az ábrán látható. Rákattintva megnyílik az az ablak, ahol megtaláljuk a subpatch kódját.

A programnak két állapota van, amelyben a felhasználó tartózkodhat. Szerkesztési módban vagy futási módban. Az egyik állapotból a másikba való váltáshoz a Ctrl+E billentyűkombinációt írjuk le. Amikor szerkesztés módban vagyunk, módosíthatjuk a dobozok tartalmát, illetve a köztük lévő kapcsolatot. Végrehajtási módban lehetőségünk van a teljes javítás elindítására, illetve az értékek módosítására a reprodukálása közben vagy leállításakor. Küldhetünk ütéseket, módosíthatjuk a változók értékét a "szám" objektumon belül, vagy aktiválhatjuk és deaktiválhatjuk a kód szektorait a [toggle] objektum segítségével, aktiválva, ha van keresztje, és deaktiválva, ha nincs.

Objektumok típusai

Image
Pd objektumok.

Objektum : A viselkedése a beleszúrt szövegtől függ. A programnak van néhány előre definiált objektuma, amelyeket harmadik felek programoztak különböző nyelveken, például a C. A Pd felismeri az objektum típusát, és ez a doboz már így is viselkedik.

Számok : Használatuk sokrétű lehet, a jel értékének szabályozásától a folt különböző pontjain az értékek inicializálásáig, amelyeket például egy kép átlátszatlanságát szabályozó objektumokhoz továbbítanak.

Üzenetek : Az objektumok számára továbbított információkkal látják el őket.

Szimbólum : Ez az objektum mindaddig tárol egy szimbólumot, amíg nem kap egy [robbanást] vagy egy másik szimbólumot. Ekkor jön ki ez a szimbólum a tárgyból, a doboz alján keresztül. Ezek az objektumok csak akkor érhetők el Pd-ben, ha letöltötte és megfelelően telepítette a megfelelő könyvtárat . Nem kell az egyszerű könyvtárakban létezniük, bár általában a telepítőfájlokban szerepelnek.

Megjegyzés : arra fogjuk használni, hogy a kódunk által követett különböző lépésekben pontosításokat adjunk.

A legfontosabb objektumok

Image
Oszcillátor.

Az [osc~] objektum szinuszos jelet generál. Az oszcillációs frekvencia attól az értéktől függ, amelyet a bal felső sarokban lévő objektum bemenetén adtunk meg. Valahányszor oszcillátort helyezünk el, egy szorzót és egy digitális analóg átalakítót (dac~) is el kell helyeznünk. Ez azért van így, mert az alapértelmezett „osc~” maximális amplitúdója 1, ezért megszorozzuk 0,1-gyel, hogy csökkentsük az amplitúdót, majd elküldjük a „dac~”-nak. A "dac~" objektumnak két bemenete van, amelyek a géped hangkártyájának két kimeneti csatornájára utalnak.

Image
Bumm.


A [robbanás] funkciója az utána közvetlenül kapcsolódó művelet aktiválása.


Image
meter_pd.

Metro : Időnként küldje el a [bang] sorozatot. Úgy hozzuk létre, hogy egy tárgyba írjuk a „meter” szót. Ennek az objektumnak két bemenete van, a bal oldali fogadja a [durranásokat]. Ez elindítja a metrót; fogadja a „stop” szövegű üzeneteket is, amelyek leállítják a metró működését. Az aktiváláshoz a nullától eltérő számot is küldhetünk. Ha nullát küldenek rá, a mérő leállítja a [durranások] küldését. A jobb oldali bejegyzésben bemutatjuk azt a számot, amely a ütések küldésének gyakoriságát szabályozza, ennek mértékegysége ezredmásodperc. Ugyanabban a [méter] mezőben a meter szó után és egy szóköz után egy szám kerül beírásra, amelyet az objektum már pontként értelmez.

Image
Rajt


Indítás : Futtatja a javítás azon objektumait, amelyeket önmagához csatlakoztatott. A [start] objektumot úgy hozzuk létre, hogy beírjuk egy üzenetbe a „start” szót.



Stop : Leállítja az éppen futó javítás végrehajtását. Úgy hozzuk létre, hogy beírjuk a „stop” szót az üzenetbe.

Image
Választó.

Kiválasztás : Kiválasztóként működünk egy kezdetben megadott numerikus feltétel szerint. A „select (space) condition” szó beírásával hozzuk létre. Ily módon, ha a bemeneti érték megegyezik a feltétellel, akkor a bal oldali kimeneten keresztül durranás érkezik. Ha nem egyeznek, a bumm a megfelelő kimenetre kerül. Több egyidejű, szóközzel elválasztott feltétel is megadható. Ahány feltétel, annyi indulás plusz egy döntő jön létre. Ha az érték megfelel az egyik feltételnek, akkor az adott értéknek megfelelő kimenet küldi el a bangot. Ha nem egyezik, a [bang]-t mindig az utolsó, jobb szélső kimenet küldi.

Mózes : A „mózes” szót egy tárgy belsejébe írjuk, hogy működőképes legyen. Két bemenetet és két kimenetet tartalmaz. A bal oldali bemenetben a folyamatban lévő értéket kapcsoljuk össze, a jobb oldalon pedig azt az értéket, amelyet szegélyként szeretnénk használni. Ha a folyamat értéke kisebb, mint a határ, akkor a bemeneti értéket a bal oldali kimenetből veszi. Másrészt, ha az érték egyenlő vagy nagyobb, mint a szegélyként működő érték, akkor a számot a jobb oldali kimenetből adja ki. Hasonlíthatnánk a [moses]-t egy egyidejű aluláteresztő és felüláteresztő szűrőhöz.

GNU telepítés lehetséges problémák és megoldások

A Pd GNU-ban történő telepítéséhez ki kell tömörítenünk a programmal letöltött csomagot, és futtassa a „.deb” kiterjesztésű fájlt. Az első lehetséges probléma, amit találhatunk, az az, hogy az Ubuntu Studio disztribúcióban már alapértelmezés szerint telepítve van egy Pure Data. Mivel a Pd_extended verzió használata javasolt (bár ez nagyon gyakran változik), el kell távolítanunk a GNU/linux Ubuntu Pure Data-t, hogy az új telepítésekor ne legyen problémánk mappák megosztása . Egy másik nagyon gyakori és fontos tényező a GNU programok telepítésekor az esetlegesen létező másodlagos könyvtári függőségek. A program megfelelő működéséhez telepíteni kell őket. A Pure Data és néhány külső függvénytár esetében bizonyos függőséget a Synaptic nevű csomagkezelővel kell telepíteni. Ott megtaláljuk, melyikre van szükségünk.

A Pd helyes működésének tesztelése után a program erőforrásainak optimalizálása érdekében indításkor betöltjük a leggyakrabban használt könyvtárakat, hogy ne kelljen minden alkalommal importálni őket, amikor használni akarjuk őket. Ily módon, amikor elindítja a Pd-t a gépen, azok automatikusan betöltődnek.


Image
Audio/MIDI teszt.

Linux

Gyors bemutatkozás

Ha megvan a stabil Pd a gépünkön, folytatjuk a program első tesztjét, hogy ellenőrizzük a hangkártyánkkal való kapcsolat megfelelőségét. Ezt megtaláljuk a Media> test audio és MIDI menüpontban. Ott a hangszóróinkon keresztül hallgatva tesztjelet generálhatunk (hang, rózsaszín zaj,...), így ellenőrizhetjük, hogy minden megfelelően működik-e.

A Pd környezet megismeréséhez kezdhetjük a példák megnyitásával, amelyeket a Pd mappában található dokumentációs fájlokban találunk. Vannak audio- és videofoltok, amelyek segítenek a program megismerésében. Amikor saját patch-et szeretnénk készíteni, a Pd ablakban a Fájl>Új menüpontra lépünk és megnyílik az az ablak, ahol bemutatjuk az objektumainkat, amiket összekötünk közöttük, így létrehozzuk az alkalmazásunkat.

pdp, pidip és opencv könyvtárak

Image
PDP objektum, amely létrehoz egy rácsot, amely felosztja a képet.

A PDP-könyvtár számos adat feldolgozására használt objektumok gyűjteménye. Működik Linuxon, és a legtöbb objektum Mac OSX rendszeren is működik. A letöltést követően a Linuxban a telepítés a terminálon keresztül történik, lefordítva és végrehajtva a csatolt telepítőfájlt az alábbiak szerint:

./Beállítás

sudo make

sudo make install

Amikor az adatok már csomagként vannak ábrázolva a Pd-n belül, akkor elkezdhetjük manipulálni. A PiDiP könyvtár olyan videó objektumok, amelyek kiegészítik a PDP objektumok gyűjteményét. A telepítés megegyezik a PDP-vel, a terminálról ugyanazokat a parancsokat hajtjuk végre, így készen állunk a használatra.

Image
A pdp_opencv elvonja a figyelmet.

Van egy másik könyvtár is, amely az OpenCV videohívásra utal. Ez egy nyílt könyvtár, amelyet az Intel fejlesztett ki. Ez a könyvtár magas szintű képfeldolgozási funkciókat biztosít. Lehetővé teszi a programozó számára, hogy alkalmazásokat hozzon létre a digitális látás területén. Az OpenCV nyílt forráskódú, amely lehetővé teszi, hogy számos platformon működjön. Ez a könyvtár lehetővé teszi az alapvető műveletek elvégzését, képfeldolgozást, modellfelismerési elemzést, szerkezeti elemzést, 3D rekonstrukciót, kamera kalibrálást, mozgáselemzést, grafikus felületet és adatgyűjtést stb. Sokféle képértelmezési eszközt valósít meg, mint például a jellemzők detektálása vagy az alakelemzés (az adott pillanatban feldolgozott geometria, kontúr).

Patch minták

Image
Oszcillátor példa.

Egy jó első érintkezés a Pd-vel egy szinuszos hang létrehozása lehet. Ehhez az [osc~] objektumot fogjuk használni. A bal oldali bemenetben egy üzenetet fogunk csatlakoztatni egy számmal, amely az oszcillációs frekvenciaként fog működni. A kimenetét elküldjük egy szorzónak, ami ezt a frekvenciát hallhatóvá alakítja, végül pedig egy digitális analóg konverterre [dac~], hogy a gépünk hangszóróin keresztül reprodukálhassa. Miután elkészítettük ezt a javítást, módosíthatjuk a frekvenciát, ha a számüzenetre kattintunk és tartjuk az egeret, és a kurzort fel-le mozgatjuk, így növeljük és csökkentjük a frekvencia értékét.


Image
Nyissa meg a külső eszközt. Webkamera.

Külső eszköz, például webkamera megnyitásához meg kell írnunk az „open” szót, majd egy szóközt és az eszköz elérési útját. Ezt csatlakoztatjuk ahhoz az objektumhoz, amely lehetővé teszi a kép megtekintését az operációs rendszerünknek megfelelően, Linuxban pdp_v4l (videó Linuxra). Ehhez az objektumhoz egy másik üzenetet is kapcsolunk, ahol jelezzük, hogy melyik csatornán keresztül szeretnénk továbbítani az információt. Végül csatlakoztatunk egy [mérőt] a [pdp_v4l]-hez, megadva az információt arról, hogy milyen frekvenciával akarjuk megmutatni a képeket, amelyeket a kamera rögzít. A mozgás folytonossága érdekében 100 ms szabványos értéket adunk. A felhasználó tetszése szerint vízszintesen is elforgathatjuk a képet, hogy a kép megtekintésekor keletkező hatás tükörszerű legyen. Ennek eléréséhez a [pdp_v4l] kimenetét a [pdp_flip_lr] objektumhoz kapcsoljuk. Ezzel már egy külön ablakban megvan a kép, amit a kamera rögzít.

Lásd még

Spanyol nyelvű anyag

Külső linkek