BİLGİSAYAR BİLİMLERİ LİSANS SEÇMELİ DERSİ : GNU/LİNUX ÜZERİNDE MÜZİK



Benzer belgeler
Bilgisayar Bilimleri Lisans Seçmeli Dersi: GNU/Linux Üzerinde Müzik

Bilgisayar Bilimleri Lisans Seçmeli Dersi: GNU/Linux Üzerinde

I. Oturum: GNU/LINUX A GİRİŞ

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

EĞİTİM-ÖĞRETİM YILI MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE) BÖLÜMÜ DERS PROGRAMINDA YAPILAN DEĞİŞİKLİKLER

Pardus. S.Çağlar Onur, 21 Aralık Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği

Metin Demiralp. 4 Şubat 2003

Akademik Dünyada Özgür Yazılım. Akademik Dünyada. Onur Tolga Şehitoğlu

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular

Linux un Temel Bileşenleri. Linux Nedir? Aydın ÜSTÜN (Selçuk Üniversitesi) e-posta:


Efe Çiftci Çankaya Üniversitesi Bilgisayar Mühendisliği Bölümü Kasım 2012 CENG 191 Computer Engineering Orientation Özel Sunumu

İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Müzik Verileri İçin XML Tabanlı Diller

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

ve Sonrası Girişli Öğrenciler için Uygulanacak Ders Program

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Bilgisayar Mühendisliği Bölümü Lisans Ders Programı / Computer Engineering Undergraduate Curriculum

DERS TANITIM BİLGİLERİ. Dersin Adı Kodu Yarıyıl Teori (saat/hafta) Laboratuar (saat/hafta) Uygulama (saat/hafta) AKTS. Yerel Kredi

Açık Kaynak Kodlu Yazılım

Müzik Verilerini Saklama Biçimleri

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

İŞLETİM SİSTEMLERİ. (Operating Systems)

Bilgisayar Mühendisliği

YÖNETİM BİLİŞİM SİSTEMLERİ BÖLÜMÜ YENİ DERS MÜFREDATI (1) FAKÜLTESİ: İŞLETME FAKÜLTESİ / BUSINESS SCHOOL

İNTERNET PROGRAMCILIĞI DERSİ

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

DEVAM ETMEKTE OLAN ÖĞRENCİLERE UYGULANACAK PROGRAMLAR VE DERSLERİN İNTİBAKLARI

Akdeniz Üniversitesi

Temel Linux Eğitimi 1., 2. ve 3. Bölümler

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Bilgisayar Organizasyonu BIL

Linux ve Windows Üzerinde C ve C++ Kullanımı

PROGRAMLAMA TEMELLERİ

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 1 ( yılı ve sonrasında birinci

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Nasıl Pardus Geliştiricisi Olunur?

Pardus. Erkan Tekman, T. Barış Metin. 18 Mayıs Ulusal Dağıtım Projesi Ulusal Elektronik ve Kriptoloji Enstitüsü. Pardus için 10 Neden

Bilkent Üniversitesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Mühendisliği

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Teknik İngilizce I BIL

MÜFREDAT DERS LİSTESİ

1) Programlama dillerinin temel kavramlarını öğrenir. 1,2,4 1

DEVAM ETMEKTE OLAN ÖĞRENCİLERE UYGULANACAK PROGRAMLAR

DEVAM ETMEKTE OLAN ÖĞRENCİLERE UYGULANACAK PROGRAMLAR VE DERSLERİN İNTİBAKLARI

GALATASARAY ÜNİVERSİTESİ

1.Debian. 2.Ubuntu. Şekil 1. Güncel logosu

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Alanya Alaaddin Keykubat UniversityInternational Relations Office

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Linux e Giriş ve Dağıtımlar

SELÇUK ÜNİVERSİTESİ SEYDİŞEHİR MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS DAĞILIM ÇİZELGESİ (2010)

UHeM ve Bulut Bilişim

YRD. DOÇ. DR. SERDAR ÇELİK

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Pardus Projesi ve Topluluk süreçleri. Ali Işıngör Akın Ömeroğlu

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Bilgisayar Mühendisliği Bölümü Lisans Ders Programı / Computer Engineering Undergraduate Curriculum

Akdeniz Üniversitesi

Bilgisayar Programlama MATLAB

Linux İşletim Sistemi Tanıtımı

Akademik Rapor Hazırlama ve Yazışma Teknikleri

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ İNTİBAK ÇİZELGESİ SINIF / GÜZ DÖNEMİ

1. YARIYIL / SEMESTER 1 2. YARIYIL / SEMESTER 2

Özgür Yazılım ve GNU/Linux'a Giriş

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

YRD. DOÇ. DR. AGÂH TUĞRUL KORUCU

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

Linux Kurulumu. Bilgisayar Mühendisliği. 11 Mayıs 2011

MATEMATİK BÖLÜMÜ BÖLÜM KODU:3201

1.PROGRAMLAMAYA GİRİŞ

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

Ders Kodu Dersin Adı Dersin Ġntibak Durumu

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

Yazılım Mühendisliğine Giriş 2018 GÜZ

Ders Adı : Nesne Tabanlı Programlama-I Ders No : Teorik : 3 Pratik : 1 Kredi : 3.5 ECTS : 4. Ders Bilgileri.

ÖZGÜR YAZILIMLAR İLE J2EE

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları

TÜİK e-vt Teknik Kılavuz

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

MOODLE UZAKTAN ÖĞRETİM SİSTEMİ

Veritabanı. Ders 2 VERİTABANI

GTÜ Bilgisayar Topluluğu

Akdeniz Üniversitesi

1.SINIF 1. DÖNEM DERS MÜFREDATI. (9) TEORİ/UYG. (SAAT) MATH 101 Matematik I Calculus I Zorunlu 4-6 PHYS 101 Fizik I Physics I Zorunlu ECE 101

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

PHP 1. Hafta 1. Sunum

Dersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar

28 Aralık Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

Bilgiyi Keşfedin! Özelleştirme, Eklenti ve Veri Entegrasyonu Kurumsal Seviyede Yönetim ve Performans

TBF 110 BİLGİSAYARDA VERİ İŞLEME ve UYGULAMALARI Ha9a- 2 - İnternet

Eğitim Semineri Araştırmacının Alet Kutusu: Mendeley

GALATASARAY ÜNİVERSİTESİ

08217 Internet Programcılığı I Internet Programming I

Transkript:

Akademik Bilişim 2007 Dumlupınar Üniversitesi, Kütahya 31 Ocak 2 Şubat 2007, Bilgisayar Bilimleri Lisans Seçmeli Dersi: GNU/Linux Üzerinde Müzik T.D.Yıldız, R.İkeda BİLGİSAYAR BİLİMLERİ LİSANS SEÇMELİ DERSİ : GNU/LİNUX ÜZERİNDE MÜZİK Tuğba DALYAN YILDIZ*, Ruhan İKEDA*, ** (*) İstanbul Bilgi Üniversitesi, Bilgisayar Bilimleri Bölümü, Kurtuluş Deresi Cad. No:47, Dolapdere, 34440 Beyoğlu, İSTANBUL (**) İTÜ Dr. Erol Üçer Müzik İleri Araştırmaları Merkezi (MİAM), Maçka Kampüsü, 80680, Maçka, İSTANBUL tdalyan@cs.bilgi.edu.tr, ralpaydin@cs.bilgi.edu.tr ÖZET Bu makalede, İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü tarafından Güz 2006 döneminde verilen COMP 291 : 'GNU/Linux Üzerinde Müzik' dersinin içeriği, işleyiş şekli ve projelerinden bahsedilecektir. GNU/Linux sistemi, açık ve modüler yapısı, sistemin üzerinde bulunan gereçler, bu sistemde ses ve müzik işlemek için geliştirilmiş yetkin özgür yazılımlar nedeniyle tercih edilmiştir. Ders, müzik bilgisi açısından, müzik temeli olmayan bir öğrencinin rahatlıkla anlayabileceği düzeyde tutulmuştur. Dersin ana amacı, müziksel bilginin bilgisayar ile işlenmesidir. Ders, GNU/Linux'un ses ve müzik mimarisi, Lisp ile programlama, Lisp programları yazarak müzik besteleme ve Bilgisayar ve Müzik Araştırması başlıkları olarak dört kısımdan oluşmuştur. Anahtar Kelimeler: Bilgisayar ve Müzik, Bilgisayar ve Ses, Müzik İşleme, Müzik Bilgisi İşleme, Müzik ve GNU/Linux. AN UNDERGRADUATE COMPUTER SCIENCE COURSE : MUSIC ON GNU/LINUX ABSTRACT In this article, we will share our experience on the elective undergraduate course : 'COMP 291 Selected Topics in Computer Science : Music on GNU/Linux' which was offered in Fall 2006 by the Computer Science Department of İstanbul Bilgi University. We chose GNU/Linux operating system because it is open and modular, the system is equipped with adequate tools for music, free and capable software for sound and music processing exists for this system. We assume that students had no prior exposure to music. The main purpose of the course is processing musical information. The course has four sections: GNU/Linux audio architecture, Lisp programming, composing through Lisp programming, Computer Music Research Topics. Keywords: Computer Music Research, Music and GNU/Linux, Musical Information Processing, Audio and Sound on GNU/Linux, Digital Music. 1. GİRİŞ GNU/Linux işletim sisteminin, ses ve müzik işleme için hazır olup olmadığı tartışılsa da özgür yazılım dünyasının en kapsamlı projesi olan GNU/Linux işletim sistemi üzerinde çalışan ve bir müzisyenin rahatça sayısal bir ev stüdyosu olarak kullanabileceği çok sayıda özgür yazılım bulunmaktadır. Günümüzde, GNU/Linux'un bilgisayar ile ilgilenen müzisyenler için ne kadar çekici bir işletim sistemi olabileceğine, geliştirilen sistemlere ve üzerindeki özgür yazılımlara (ÖY) birçok yerde değinilmektedir [4],[14].

İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü'nde Güz 2006 döneminde, müzik bölümü öğrencilerine, müzik ile ilgilenen bilgisayar bilimi ve matematik bölümü öğrencilerine hitap eden GNU/Linux Üzerinde Müzik seçmeli dersi açılmıştır. Dersin içeriğini özetleyecek olursak, özgür yazılım tabanlı GNU/Linux sisteminin ses mimarisi ve bu mimari üzerinde koşan ses ve müzik işleme programlarına giriş yapılmış, ses ve müzik bilgisinin rahat işlenmesi için Common Lisp programlama dili öğretilmiş, Common Lisp tabanlı Common Music ile algoritmik besteleme örnekleri verilmiştir. Ayrıca, Common Lisp Music sinyal işleme paketi ile ses sentezleme örnekleri gösterilmiştir. Makalemizin ilk kısmında, GNU/Linux Müzik sistemleri hakkında genel bilgi verilmiştir. İkinci kısmında, dersin işleyişi ve öğrencilere verilen dönem projelerinden bahsedilmiştir. Son kısımda ise kazanılan ve kazandırılan deyenimlerden bahsedilmiştir. 2. GNU/LİNUX MÜZİK SİSTEMİ GNU/Linux'un, ses ve müzik sistemlerindeki performansını düşük bulan geliştiriciler, 90'ların başında çalışmalara başlamışlardır. 1992'de Hannu Savolainen'ın ses aygıtları için geliştirdiği Açık Ses Sistemleri (OSS/Free), bu yönde atılmış ilk adımdır[13]. 2002'de, GNU/Linux işletim sistemine Gelişmiş Linux Ses Mimarisi ALSA (Advanced Linux Sound Architecture) eklenmiştir. ALSA, GNU/Linux 2.4 çekirdeğindeki ses mimarisinin yerini alarak 2.6 çekirdeğine de adapte edilmiştir. GNU/Linux ses ve müzik sistemlerinde görülen en önemli gelişme ise 2.6 çekirdeği ile gelen gelişmiş ALSA ve MIDI desteğidir. Böylelikle, GNU/Linux çekirdeğinin müzik yazılımı ve donanımı için sağladığı donanım desteğinin artması ile bu platform müzik ile ilgilenenler için esnek ve yetkin bir stüdyo haline gelmiştir[14]. Günümüzde, donanım desteği dışında da müzik ile ilgili kapsamlı projeler başlatılmıştır. Ubuntu Studio Audio, bu projelerin başında gelmektedir. Debian tabanlı Ubuntu Studio Audio paketleri, GNU/Linux platformunda kullanıcıya esneklik sağlamanın dışında, kullanım kolaylığı da getirmiştir. Bu sistemde, mevcut kaynak listesinin bulunduğu dosya, yeni kaynak adresleri eklenerek güncelleştirilir. Kullanıcı, herhangi bir paket yönetimini kullanarak da sisteme istenilen paketleri yükleyebilir. Ubuntu Studio Audio'daki paketlere ve kaynak listesine resmi adresinden ulaşılabilir[18]. Ses ve müzik işlemeye yönelik diğer önemli GNU/Linux dağıtımları: Planet CCRMA RedHat 9 ya da Fedora Core 1, 2, 3, 4, 5 üzerinde çalışan rpm paketlerinin derlenip, toplanması ile oluşturulmuştur[15]. Agnula/DeMuDi, GNU/Linux işletim sisteminin ses ve müzik kullanımı için geliştirilen dağıtımıdır. Burada, Agnula : A GNU Linux Audio; DEMUDI ise DEbian MUltimedia DIstribution (Debian Çokluortam Dağıtımı) karşılığıdır[17]. Agnula, profesyonel ses ve video alanındaki ÖY'ları yaymak için gerçekleştirilen bir gönüllülük esaslı bir projedir. Asıl amacı, saf özgür yazılım dağıtımı olan Debian GNU/Linux dağıtımı üzerinde bu projeyi geliştirmektir[14]. Agnula/DeMuDi, Debian'dan bağımsız bir dağıtım değildir; Debian sistemin multimedya sistemleri için yapılandırılmış halidir. Agnula/DeMuDi, kendi başına CD'den kurulduğu gibi, Ubuntu Studio'daki gibi kaynak listesini değiştirip, istenilen paketlerin çekilmesi şeklinde de olabilir[2],[3]. Günümüzde, Ubuntu Studio ve Agnula/DeMuDi'nin tercih edilmesinin esas sebebi, tamamen özgür bir dağıtım olan Debian üzerine inşa edilmesindendir. Paket yönetiminin rahat ve gelişmiş olması, birçok insan tarafından desteklenmesi ve sorun çıktığında çözüm sisteminin gelişmiş olması gibi nedenler Debian'ı tercih edilen bir dağıtım haline getirmiştir. Tablo 1,

Agnula/DeMuDi'de ve Ubuntu Studio Audio'nun kaynak dosyalarında yer alan bazı ses ve müzik programlamlarını göstermektedir: Tablo 1. GNU/Linux Müzik sistemi üzerindeki bazı ses ve müzik programları: Ses/müzik yazılımı Ardour GTK Hydrogen İşlev/açıklama JACK bağlantılı, ses kanallarını işleme ve karıştırma platformu Vurmalı çalgı (ritim kutusu) topluluğu JACK Control Programlar arası audio akışını denetleyen motor JAMin Profesyonel audio işleme Qsynth Seq24 Serpentine Audio CD Creator Sentezleyici MIDI partisyonlarını birleştirme gereci. Audio CD yazıcısı Ses Kaydedicisi ogg ve wav formatında ses kaydedici Sound Juicer CD extractor VkeyBD ZynAddSubFx Audio CD'teki parçaların ogg dosyalarına çevrimi Sanal MIDI klavyesi Ses sentezleyicisi Kaynak dosyalarında işaret edilen ve Debian sitelerinde debian paketi olarak da hazırlamış özgür yazılımların dışındaki paketler de GNU/Linux müzik sistemine yüklenebilir. Örneğin, zip veya tar yumakları. Bizim örnek sistemimizde aşağıdaki paketler de bulunmaktadır: MusicXML: MusicXML, müzik bilgisinin XML dilinde (dilden, koddan bağımsız, bilgisayara ve insana açık gramer olarak) ifade edilmiş halidir. Müzik saklama formatı olan MusicXML, kanonik bir müzik formatıdır. [12],[8]. Lilypond: TeX temelli nota yazımı ve şekillendirme ('layout') programıdır ve TeX tabanlı yazılım paketlerinde olduğu gibi WYSIWYG (What You See Is What You Get Ne görüyorsanız onu elde edersiniz) değildir. Lilypond'un esas becerisi, LaTeX'in matematiksel formül şekillendirmesi gibidir. Müzik bilgisini kesin olarak kodlamakla kalmaz, basımevi çıktısı gibi güzel gözükmesini de sağlar[10]. Common Müzik Ailesi: Common Music, Common Lisp Music ve Common Music Notation suitinden oluşur. Common Music, Lip tabanlı algoritmik besteleme, Common Lisp Music Lisp tabanlı sinyal işleme, Common Music Notation ise Lisp tabanlı müzik basımı programlarıdır[6]. 3. DERSİN İŞLENİŞİ Bu kısımda, Güz 2006 döneminin her çeyreğinde işlenilen konulardan ve dönem projelerinden alt başlıklar halinde bahsedilmiştir. 3.1 GNU/Linux üzerinde ses ve müzik işleme Dersin ilk haftalarında müzik terminolojileri hakkında bilgi verilmiş, öğrencinin GNU/Linux üzerinde çalıp, yazıp, okuyup, kaydedebilecekleri programlar gösterilmiştir. İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü'nde son dört yıldır verilen eğitim GNU/Linux platformu üzerinde olduğu için, dersi alan öğrencilere GNU/Linux platformu hakkında herhangi bir giriş yapılmamıştır. ÖY tabanlı müzik sistemlerinin mimarisi ve üzerinde koşan ses ve müzik işleme uygulamalarına (çalıcılar, sentezleyicler, kaydediciler, karıştırıcılar, vb.) kısa bir giriş yapılmıştır. Önemli ses ve müzik formatları derste gösterilmiştir. MIDI, MusicXML, Lilypond dosyaları oluşturulmuş ve dinlenmiştir. MusicXML ve MIDI arasında dönüşüm yapılmış, Lilypond'dan PDF, PS ve MIDI formatlarına çevirim yapılmıştır. MIDI dosyası oluşturarak MusicXML dosyasına çevirmek öğrenci projelerinden bir

tanesidir. İlk proje ile öğrenciler, herhangi bir gereç kullanarak bir MIDI dosyası oluşturmuşlar, bu dosyayı MusicXML formatına çevirmişler ve MIDI ve MusicXML formatlarını tanımışlardır. 3.2 Lisp ile Müzik Programlama Dönemin ikinci çeyreğinde, Common Lisp programlama dili anlatılmıştır. Böylelikle, müziğin yapısına ve işleyişine dair bilgilerini bir programlama dili aracılığı ile kesinleştirmişlerdir. Dil olarak Lisp seçilmesinin nedenleri ise: 1. Lisp matematiksel düşünceye en yakın programlama dilidir. Kişi (örneğin bir müzisyen), bilgisayarın ve programların işleyişinin iç mekanizmalarına aşina olmadan, düşüncelerinin netliği ile bunu program olarak ifade edebilir. 2. Sadece bir çeşit veri yapısı vardır: Liste. Programlar da, veriler de listedir. Programların liste olması programların veri olarak rahat işlenmesini sağlar. 3. Veri ve fonksiyonlar liste olduğu için programın biçimi çok basittir : Parantezle çevrili sembol listeleri. 4. Bellek yönetimi otomatik olarak yapıldığı için programcı kullanmadığı değişkenleri silmek ve benzeri bellek idame işleri ile yükümlü değildir. 5. Müziğin, değişik seviyelerde gösterimi ardarda gelen sembollerdir. İster ses düzeyinde, ister nota düzeyinde olsun liste veri yapısı ile birebir örtüşür. Birden fazla sesin olduğu çoksesli müzikte de her sesin farklı bir liste ile ifadesi, ya da her ölçünün tüm sesleri kapsayacak şeklide ifadesi liste yapısı ile mümkündür. Bölümdeki Bilgisayar Bilimleri öğrencilerinin birinci sınıfta programlama eğitimine Lisp'in bir diyalekti olan Scheme ile başlaması dersin işleyişi açısından kolaylık sağlamıştır. Öğrencilerin çalışabilmeleri için laboratuvarlara Common Lisp yüklenmiş[5], böylelikle ödev ve projelerini yapabilecekleri ortam hazırlanmıştır. Bu derste Common Lisp'e giriş yapıldıktan sonra, öğrencilere verilen ikinci proje ise, Common Lisp kullanarak, verilen notayla başlayan majör gamı oluşturmalarıdır[7]. Dönemin ikinci çeyreğinin sonunda verilen proje ise, verilen bir nota listesinde tekrar eden dörtlü notaları bulmak olmuştur. Bunu yaparken sadece dört notaya değil, nota dörtlüsünün transpoze edilmiş (ötelenmiş) hallerine ve transpoze edilmiş hallerinin tersini de kontrol etmeleri gerekmiştir. Böylelikle, müzikte örüntü bulmaya giriş yapılmıştır[7]. 3.3 Common Music ve Algoritmik Kompozisyon Dönemin üçüncü çeyreğinde Common Music (CM) paketi incelenmiştir. Bu paketteki nesnelerin ve fonksiyonların müzikte nereye oturduğu tartışılmış, örnek kodlar sınıfta öğrencilerle birlikte yazılmış ve dinlenmiştir. Öğrenciler ile CM içindeki soyut veri yapıları ve fonksiyonlar kullanılarak, programlar yazılmış ve oluşturulan MIDI dosyaları dinlenmiştir. Öğrencilerin laboratuvarlarda fonksiyonlar üzerinde oynama yapabilmeleri için CM paketi yüklenmiştir. Dersin işleyişinde CM'nin resmi sitesindeki örnekler de kullanılmıştır [6]. 3.4 Bilgisayar Müziği Araştırma Konuları Dönemin dördüncü bölümünde Bilgisayar Müziği araştırma başlıkları açıklanmıştır. Bilgisayar Müziği araştırma alanı, müzik araştırmalarındaki (teori, kompozisyon, performans, müzikoloji) fikirlerin ve tezlerin bilgisayar programları ve donanımları ile denenmesi kadar, Bilgisayar Bilimleri ve Elektronik Mühendisliği araştırmalarındaki fikirlerin (yapay zeka, sinyal işleme) müzik alanında uygulanmasıdır. Araştırma konularını kabaca dört gurupta toplayabiliriz: 1. Ses Sentezleme amaçlı sinyal işleme [6],[16] 2. Müzik ve yapay zeka [1],[17]

3. Gramer olarak müzik, müzik dilleri [17] 4. Müzikteki matematiksel yapılar [9],[11] 3.5. Dönem Projeleri Öğrenciler, ödevlerin yanısıra bir dönem projesi hazırlamışlardır. Bu projeler, araştırma veya uygulama ağırlıklıdır ve öğrenciler aşağıdaki projelerden bir tanesini seçmişlerdir: 1. CM ortamını kullanarak (veya kullanmadan, sıfırdan başlayarak) müzik organizasyonuna dair CM'deki 'süreç' ve 'dizi' benzeri soyut bir veri yapısı veya fonksiyonu oluşturmak. Bu yeni yapıyı veya fonksiyonu kullanan bir müzik örneği hazırlamak. 2. CM içindeki Markov Zinciri Modellemesi'ni kullanarak, basit ilkokul melodilerinden oluşan küçük bir veritabanı oluşturarak, bu tarz müzikten bir örnek yaratmak. etmek(ötelemek). 4. SONUÇ Bu bölümde, ders ile ilgili bazı çıkarımlar yapılmış, derste ve işlenişinde eksik görülen yerlerden, kattığı deneyimlerden bahsedilmiştir: İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü'ndeki eğitimin, son dört yıldır GNU/Linux üzerinde verilmesi, programlamaya girişin Scheme ile öğretilmesi, GNU/Linux üzerinde Müzik dersinin işleyişini kolaylaşmıştır. Ders sayesinde, müzik programcılığının gerektirdiği ölçüde müzik kavramlamlarının, müzik işaretlerinin, sembollerinin ve temel müzik teorisi bilgilerinin edinilmesi sağlanmıştır. Öğrencilerin şimdiye kadar öğrendikleri alanların dışındaki bir alanda program yazması sağlanmıştır. 3. Müzik Teorisi'ndeki küme teorisi ışığı altında kümeler arasında bir yakınlık ilişkisi tanımlamak ve buna bir ölçüt getirmek. 4. XSL kullanarak MIDI2xml ve xml2midi çeviricileri yazmak. 5. Lisp kodu ile CM'de müzik bestelemek. Common Lisp Music fonksiyonlarını da CM'den çağırmak. Bestelenen müziği Common Music Notation veya Lilypond kullanarak webe bastırmak. 6. Rast, Kurdilihicazkar gibi makamlar eşit aralıklı 12 tona dayalı batı müziğinden farklı bir dizilişe sahiptirler. CM ile Türk müziği makamlarını sesleri tek tek ele alarak, makamdaki sesleri frekans olarak ifade etmek. 7. MusicXML dosyası olarak verilen bir müziğin verili partisyonunu verili aralıkta XSL programlama dili kullanarak transpoze Müzik ile ilgilenen öğrencilerin, ses ve müzik ile uğraşacağı yeni bir platform ve kullanabilecekleri paketler gösterilmiştir. Böyle bir ders için, Ubuntu Studio Audio'nun çalışan CD (CD'den başlatılıp, CD'de çalışan, sabit diske müdahele etmeyen), istenen yazılım birleşiminin serbestçe oluşturulması; hem evde hem okulda, birden fazla sistemde çalışabilmesi gibi kolaylıkları nedeniyle tercih edilmelidir. 'Bilgisayar ile Müzik' için lisans dersi kitabının olmaması, öğrenciler için derste istenilen seviyeyi anlamak ve tutturmak açısından zorluk doğurmuştur. 'The Computer Music Tutorial'ın bir kısmı bu dersin kitabı olarak kullanılmıştır[16].

TEŞEKKÜR Yazarlar, İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü Başkanı Chris Stephenson'a Müzik ve Bilgisayar Araştırması konusuna gösterdiği ilgi ve bu konuda bir dersin açılmasını teşvik ettiği için teşekkürlerini sunarlar. 5. KAYNAKLAR: [1]. Special Issue on Computer Music, ACM Computing Surveys, 1985. [2]. AGNULA, agnula.org, Agnula Project. [3]. Agnula/DeMuDi, demudi agnula.org, Agnula Project. [4]. Alpaydın, R., GNU/Linux üzerinde ses ve müzik işleme : Agnula/DeMuDi, www.santralmuzik.com/001_ruh.htm, Santral Müzik Dergisi, İstanbul Bilgi Üniversitesi. [5]. CLISP an ANSI Common Lisp, sourceforge.net/projects/clisp/, SourceForge.net. [6]. Common Music, Common Lisp Music, Common Music Notation. wwwccrma.stanford.edu, The Stanford University Center for Computer Research in Music and Acoustics. [7]. Comp291: Music on Linux, cs.bilgi.edu.tr/pages/courses/year_2/comp _291/, İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü. [8]. Extensible Markup Language (XML), www.w3c.org, The World Wide Web Consortium (W3C). [9]. Fauvel, J., Flood,R., ve Wilson, R., Music and Mathematics, Oxford University Press, 2003. [10].LilyPond, www.lilypond.org, in cooperation with Linux Audio Developers Group and Linux Audio Consortium. [11].Mazzola, G., The Topos of Music, Birkhauser Verlag. 2002. [12].MusicXML, www.recordare.com, Recordare LLC. [13].Phillips, D., Dev Mazumdar and Hannu Savolainen Interview, Linux Journal Archive, Cilt: 1999, Sayı: 63, Temmuz 1999. [14].Philips, D., Computer Music and the Linux Operating System: A Report from the Front, Computer Music Journal, 27:4, Winter 2003, 27 42. [15].Planet CCRMA at home, ccrma.stanford.edu/planetccrma/software/, The Stanford University Center for Computer Research in Music and Acoustics. [16].Roads, C., The Computer Music Tutorial, The MIT Press, 1996. [17].Roads, C., ve Strawn, J., Foundations of Computer Music, The MIT Press, 1988. [18].UbuntuStudio, wiki.ubuntu.com/ubuntustudio, The Ubuntu Community.