20.11.2008

Open Sound Control ile Processing – Pure Data Haberleşmesi

Yeni Formlar: Reaktif Müzik yazısında konu Pure Data‘dan (PD) açılmışken, işlemsel ses ve müzik konusunda oldukça kuvvetli olan bu gerçek-zamanlı grafiksel programlama ortamını, şahsen grafik ve video işleme konusunda daha doğrudan kontrol sağladığını düşündüğüm Processing ile haberleştirmenin ve bu iki alemin güçlerini birleştirmenin yolunu gösteren bir yazı yazmaya karar verdim. Burada vereceğim örneği elbette sadece Processing veya sadece Pure Data (pd-extended paketinin içinde gelen veya PD’ye ayrıca ekleyebileceğiniz OSCx ve GEM kütüphanelerini kullanmak suretiyle) ile yapmak da mümkün ama daha karmaşık uygulamalar için (mesela ağ üzerinden, değişik platformlarda yazılmış programların entegrasyonu) bir örnek olma amacı taşıyor.

Hem PD hem de Processing (Python, Ruby, Java, Microsoft.Net, vvvvMaxMSPLiveAPI, OSCulator vb. sayısız ortam gibi) Open Sound Control – OSC protokolünü destekliyor. OSC, bilgisayarlar, synthesizer’lar ve bilimum çeşit multimedya cihazını birbirine bağlamayı kolaylaştırmak için geliştirilmiş, modern ağ teknolojileri ile hatasız, birlikte çalışan, esnek sistemler kurmak için birebir bir protokol. Bunun yanında ağlar üzerinde çalıştığı icin MIDI’nin sunamadığı yeni türden etkileşimlere de (İnternet üzerinden gerçek-zamanlı etkileşim, değişik veri tiplerini ve donanımları birbirine bağlamak gibi) imkan sağlıyor.

İşin Processing ayağından başlayalım:

Önce oscP5 kütüphanesini indirmek gerekiyor. Normalde yapılanın aksine, sıkıştırılmış dosyaları açtıktan sonra libraries klasörüne değil, sketches klasörü içine atıyoruz. Bu kütüphane birçok örnekle gelse de, buradaki amacımız için aşağıdaki gibi sade bir kod yazabiliriz:

import oscP5.*;
import netP5.*;

OscP5 oscP5;
NetAddress myRemoteLocation;

void setup() {
size(400,200);
frameRate(25);
stroke(255);
oscP5 = new OscP5(this,12000);
myRemoteLocation = new NetAddress("127.0.0.1",9999);
}

void draw() {
background(0);
}

void mouseDragged() {
line(mouseX, 0, mouseX, height);

OscMessage msg1 = new OscMessage("/msg1");
OscMessage msg2 = new OscMessage("/msg2");

msg1.add(map(mouseX, 0, width, 69, 100));
msg2.add(50);

oscP5.send(msg2, myRemoteLocation);
oscP5.send(msg1, myRemoteLocation);
}

void mouseReleased(){
OscMessage msg2 = new OscMessage("/msg2");
msg2.add(0);
oscP5.send(msg2, myRemoteLocation);
}

Bu örnek tek bilgisayarda lokal olarak çalışıyor ama IP adresini değiştirerek ağ üzerinde çalışır hale getirmek de olası. Burada 9999 numaralı porta iki mesaj yolluyoruz. Birincisi mouse’un x koordinatını okuyarak 69 ile 100 arasında bir değer ile eşleştiriyor. Daha sonra PD, bu değerleri MIDI girişi olarak alıp frekansa çevirecek.

Bu program çalışırken PD’yi açıp oynamaya başlayabiliriz. Herşeyin düzgün çalışabilmesi için PD_extended–>Preferences–>Startup içinde “oscx”in olması gerekiyor. Pure Data ile haşır neşir olmamış ama bu vesileyle girişmeye niyetlenmiş olan varsa buradan ve buradan başlayabilirler. Temel nesneler dışında dumpOSC ve OSCroute nesnelerini kullanıyoruz ve 9999 no’lu portu dinleyip Processing’den gelen mouse değerine göre frekansı değişen bir kosinüs dalgası yaratıyoruz:

PD kodunu da aşağıya ekleyip ilk eğitsel-öğretsel yazımı burada noktalıyorum:

Diğer yönde, PD’den Processing’e mesaj göndererek, Processing ekranına daire veya kare çizdiren örnek kod:

Düğümküme’de yayımlanan ilgili yazılar:

16.07.2008

Yeni Radiohead Videosunu MTV Değil Google Yayınlıyor

Yeni Radiohead videosu “House of Cards” Google Code sitesinde yayına verildi. Video üç boyutlu taranmış Thom Yorke profili, üç boyutlu insan ve mekan taramaları animasyonundan oluşuyor. Animasyon boyunca piksel bulutu dediğimiz bir görsellik hakim. Lazer tarama yöntemiyle yapılan videoda uçuşan ve titreyen pikseller böyle şeyleri yeni görenleri ilk bakışta şaşırtıyor. Ancak bu tür görsellikle tanışık olan işlemsel sanatçılar ve tasarımcılar çeşitli email listelerinde ve görüşmelerde bu videoyu ne estetik olarak ilginç ne de yeni bulduklarını belirtiyorlar. Tartışma videonun yapılma tekniğinden verilerinin Google kod deposunda yayınlanmasına kadar pazarlama, teknoloji, estetik, ve etik üzerine gelişiyor.

http://code.google.com/creative/radiohead/

YouTube videoları Türkiye’den gözükmüyor, “House of Cards” videosunu DailyMotion üzerinden izleyebilirsiniz.


Solda Cold Play, sağda UVA’in Colder için yaptığı çalışma.

Yönetmenliğini James Frost’un yaptığı Radiohead videosunda kullanılan görsellik (bkz nasıl yapıldı) daha önce Showstudio ve UVA gibi işlemsel tasarım ve sanat yapan stüdyolarda, Cold Play “Rush of Blood” albümünde kullanılmıştı. Pop yıldızlarının suratının dijitalleştirilmesi ve bilgisayar yönetmleriyle bozulması daha önce mesela Kraftwerk videosunda ve pek çok filmde ve sanat işinde kullanılmıştı. Bilgisayarla portre resim değiştirme bozma estetiğinin literal olarak ilk görüldüğü zaman belki de Andy Warhol’un Debbie Harry’i bir TV şovunda Amiga bilgisayar ile boyaması olmuştur. Bu Tv şovunda Warhol’a daha önce hangi bilgisayarlarla çalıştığı sorulduğunda, Warhol cevap veriyor: “ben herşeyle çalıştım, özellikle bunu bekliyordum.”

Radiohead’in yeni videosunda ilginç olan videonun kendisinden çok kullanılan piksel bulutunun veri olarak Google Code üzerinde yayınlanıyor olması. İster indirip kendi bilgisayarınızda deneyin isterseniz Radiohead etkileşimli java applet‘i kullanarak oynayın görüntüden daha gerçek bir şeye yaklaştığınızı hissedeceksiniz… Bu Radiohead pazarlama kampanyası bariz bir biçimde Google Code deposunu MTV gibi kullanıyor, görsellik fetişzminin yerine kod ve veri fetişizminin geçmeye başladığını onaylıyor.

Daha önce Modest Mouse, Björk, Beastie Boys gibi popüler müzik yıldızları hayranlarına video yapmalarını sağlamış ve üretilen videolardan kendi promosyonlarında faydalanmışlardı. Tahmin edersiniz ki bu tür girişimler kullanıcı tarafından yaratılan içerik (“user generated content”) devrinde yapılmaya başlanmıştır. Bugün Radiohead videoda kullanılan ham tarayıcı verisini yayınlamasıyla ve hayranlarını bu verileri kullanmaya davet etmesiyle pazarlama girişimini bir adım daha ileri götürmüştür. Dönüp dolaşıp aynı soruya geliyoruz. Hayranlar emeklerinin karşılığında ne alıyor? Radiohead’in ününden bir parça mı, para mı, sahne arkasında misafirlik, otel odasında yataklık, imzalı poster, beraber fotoğraf mı? Bu yaşadığımız zamanda hangisi zamanınızı kafanızı enerjinizi vermeye eşdeğer olabilir?

İlgili bağlantılar:

* Bu yazıda bağlantı verilen YouTube videoları Türkiye’den görünmüyor olabilir. Türkiye devletinin vatandaşlarına getirdiği bu çağdışı kısıtlamayı bile bile YouTube videolarına bağlantı vermek zorunda kaldım kusura bakmayın.

06.12.2007

Bloglara Otomatik Yorum Yazma Robotu

Hazır söz robotlardan açılmışken, WordPress bloglarına otomatik yorum yazabilen küçük bir “robot” yapalım. Böyle bir robotu binlerce bloga bir anda “yorum yazmak” için kullanabilirsiniz.

Bu robot bir Ruby programı. Önce Ruby için Scrubyt kütüphanesini yükleyin(adım adım yükleme klavuzu). Scrubyt kütüphanesini programlanabilir bir web tarayıcı gibi düşünebilirsiniz, yani otomatik olarak istediğiniz siteye gider, bağlantıdan bağlantıya altlayarak sizin için tüm web’i dolaşabilir. Bu tür programları genelde arama motorları ve spamciler kullanır. Scrubyt yükledikten sonra sadece şu kodu çalıştırın.


require 'rubygems'
require 'scrubyt'
post_comment = Scrubyt::Extractor.define do
fetch 'http://www.dugumkume.org/esra-robot-ile-sohbetler/'
fill_textfield 'author', 'arikan'
fill_textfield 'email', 'arikan@dugumkume.org'
fill_textarea 'comment', 'Otomatik yorum yaziyorum.'
submit
end

Kodda gördüğünüz Düğümküme adresi bir önceki Esra Robot ile Sohbetler yazısı. Robot o yazıya gidiyor, kutucuklara adımı, email adresimi, ve yorumu giriyor, sonra da düğmeye basıyor. Bu programla otomatik yazdığım yorumu önceki yazının altında görebilirsiniz. Bu bilgileri değiştirip istediğiniz sitelere otomatik yorum yazabilirsiniz.

Bir bloga bir kaç defa otomatik yorum yazarsanız muhtemelen IP adresinizden yakalanır ve bloklanırsınız. Mesela WordPress Aksimet spam filtresi Düğümküme’den hergün yüzlerce spam yorum temizliyor.

Bu tür önlemler yaratıcılığınızı engelleyemez tabi. Bunun gibi ağda dolaşabilen programlar çok çeşitli şekillerde kullanılabilir. Mesela bir yanda sizin için otomatik araştırma yapıp bilgi toplayan bir araç yapabilirken, diğer yandan canınızı sıkan sistemleri yoran bir program oluşturabilirsiniz.

22.09.2007

Yeni Flash Gösterici Her Tür Videoyu Destekliyor

Adobe geçtiğimiz günlerde usulca yeni Flash Gösterici’den bahsetmeye başladı. Yeni Flash Gösterici H264 video dosyalarını detekliyor. Bunlar hemen hergün kullandığımız video formatları demek: .mp4, .m4v, .mov ve dahası… Bu gelişme neye yarar?

YouTube ve benzeri video paylaşım siteleri bugüne kadar hep kullanıcıların yüklediği videoları sunucu tarafında karmaşık işlemlerle FLV formatına çevirip Flash içinde yayınlıyordu. Şimdi yeni Flash Gösterici sayesinde YouTube, Vimeo, Metacafe gibi servisler sunucuda çevirme işi yapmaktan kurtulabilirler. Bu gelişme video paylaşım endüstrisini şu anda olduğundan çok daha ileri taşıyacaktır. Zaten ilerde, daha ne ileri taşınacak diye aklımıza takılıyor tabi?

Video paylaşım endüstirisini devleştirmesi bir yana yeni Flash Gösterici ile bilgisayarınızda bulunan her videoyu anında internette bir siteye koyabilirsiniz. İlla YouTube gibi bir servise ihtiyacınız yok. Ancak şöyle bir muhabbet hemen gözümüzün önüne geliyor:

Ama bir dakika, videoları sadece kendi siteme koyarsam kimse izlemez ki?
O zaman hem kendi sitene hem Youtube'a koy.
Nasıl yani?
Tabi YouTube kodu veriyor, iki satır kopyala yapıştır bloguna.
A tamam en iyi çözüm bu.

Bugün videolarımızı YouTube ve benzeri sosyal paylaşım sitelerine koymak zorundayız. Adobe’un yeni çıkardığı Flash Gösterici diğer etkileri yanında bu zorunluluğu arttırıyor.

12.08.2007

Facebook Kaynak Kodu Kırıldı

facebook.gif

Az önce Facebook Secrets blogunda Facebook anasayfasının kaynak kodu yayınlandı. Bunun olması için iki ihtimal var: (1) ya kaynak kod bir Facebook çalışanı tarafından sızdırıldı, (2) ya da dışardan server’a yapılan bir atakla ele geçirildi.

PHP ile yazılmış kod içinde herhangi bir veritabanı bağlantı şifresi veya adresi bulunmuyor. Koda bakarak Facebook yapısı hakkında bilgi sahibi olabilirsiniz.

Facebook kaynak kodunun yayınlanması radikal bir pazarlama stratejisi de olabilir. Özellikle kaynak kodu yutarak Facebook için çalışacak uygulama geliştirenler eğitilmiş olur.

İlgili Düğümküme yazısı: Dijital İnanç Turizmi