Sonic Pi

Sonic Pi program yazarak müzik yapmak için hazırlanmış bir program, ya da programlama dili.https://sonic-pi.net/ adresinde program ile ilgili bilgiler bulunabilir ve yine oradan program indirilebilir. Aslında program raspberry pi için yapılmış ama Windows ve Mac için de versiyonlar yukarıdaki adreste bulunuyor. 

Ben evdeki Ubuntu 19.04 yüklü dizüstü bilgisayarıma bu programı kurup basit müzik projeleriyle uğraşmayı düşünüyordum. Örneğin Ümit’e müzik derslerinde yardımcı olacak basit alıştırmalar hazırlayabilirdim. 

Hemen synaptic üzerinden uygulamayı aradım ve bulunduğunu görünce heyecanla yükledim. Programı konsoldan çalıştırdığımda ise uzun süre bir hareket olmadığını gördüm. Daha sonra konsoldaki logoyu aşağı kaydırınca komutun hemen altında şu hata mesajını gördüm:

$ sonic-pi
[GUI] - could not open file /proc/asound/card0/pcm0p/info
                                ╘
                         ─       ╛▒╛
                          ▐╫       ▄█├
                   ─╟╛      █▄      ╪▓▀
         ╓┤┤┤┤┤┤┤┤┤  ╩▌      ██      ▀▓▌
          ▐▒   ╬▒     ╟▓╘    ─▓█      ▓▓├
          ▒╫   ▒╪      ▓█     ▓▓─     ▓▓▄
         ╒▒─  │▒       ▓█     ▓▓     ─▓▓─
         ╬▒   ▄▒ ╒    ╪▓═    ╬▓╬     ▌▓▄
         ╥╒   ╦╥     ╕█╒    ╙▓▐     ▄▓╫
                    ▐╩     ▒▒      ▀▀
                         ╒╪      ▐▄

       _____             __        ____  __
      / ___/____  ____  /_/____   / __ \/_/
      \__ \/ __ \/ __ \/ / ___/  / /_/ / /
     ___/ / /_/ / / / / / /__   / ____/ /
    /____/\____/_/ /_/_/\___/  /_/   /_/

     The Live Coding Synth for Everyone

            http://sonic-pi.net

libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile

Sonic Pi adresinde pek faydalı bir bilgi bulamadım. Ayrıca programın yaratıcısı olan Sam Aaron’un genel olarak Linux’un iyi desteklenmediği yönündeki bazı mesajları da moralimi bozmaya yetti. Hata mesajını google’a yazdığımda ise stackoverflow adresinde bazı mesajlar buldum. Bu mesajlarda yazan açıklamaları uygulayınca sorun şu şekilde çözüldü.

Bilgisayarda iki ses kartı olması durumunda bu tür bir sorunun meydana gelebileceğini söyleyen çözümde ilk olarak ses kartları hakkında bilgileri toplamam gerekti. Bunun için aşağıdaki komutu yazdım:

sudo lshw -c multimedia

Benim bilgisayarımda çıktı aşağıdaki gibi oldu.

*-multimedia:0
description: Audio device
product: Advanced Micro Devices, Inc. [AMD/ATI]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0.1
bus info: pci@0000:04:00.1
version: 00
width: 32 bits
clock: 33MHz
capabilities: pm pciexpress msi bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:55 memory:fe388000-fe38bfff
*-usb
description: Video
product: HP TrueVision HD Camera
vendor: SunplusIT Inc
physical id: 4
bus info: usb@1:4
version: 0.05
capabilities: usb-2.01
configuration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
*-multimedia:1
description: Audio device
product: Advanced Micro Devices, Inc. [AMD]
vendor: Advanced Micro Devices, Inc. [AMD]
physical id: 0.6
bus info: pci@0000:04:00.6
version: 00
width: 32 bits
clock: 33MHz
capabilities: pm pciexpress msi bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:54 memory:fe380000-fe387fff

Bu çıktıda kullandığım bilgiler multimedia:0 ve multimedia:1 bloklarındaki configuration: driver=snd_hda_intel latency=0 satırlarındaki sürücü isimleri olan snd_hda_intel oldu.

Ardından şu komutlarla da kartların kullandığı isimleri öğrendim:

cat /proc/asound/card0/id
cat /proc/asound/card1/id

Benim sistemindeki kartlar sırasıyla Generic ve Generic_1 isimlerini kullanıyor.

Bundan sonra da /etc/modprobe.d./alsa-base.conf dosyasının sonuna yukarıda elde ettiğim bilgileri kullanarak şu satırları ekledim.

options snd_hda_intel id=Generic index=0
options snd_hda_intel id=Generic_1 index=1

Bilgisayarı yeniden başlattıktan sonra programı normal çalıştırabildim.

Ek not: Program çalışmasına çalıştı ama Sonic Pi çalışırken youtube videolarını oynatamadığımı fark ettim. Henüz bu soruna bir çözüm bulamadım.