Gönül isterdi ki bu konuya proje kısmından devam edelim

6n138'ler geldi. Ancak devrede 4n25'lerden yahut PC817'lerden daha iyi performans göstermediler.
Problemi izole edebilmek için sadece arduino kısmını ayrıca oluşturup aynı midi in devresine bağladım. Belki mevcut koddaki interrupt seri yazmalar vesaire midi okumalarına engel oluyordur diyerek kodu da sadeleştirdim. Sorunun benim sid player'dan kaynaklı olmadığı ortaya çıktı. Osiloskop ile inceleyeyim dedim ama beceremedim

(Kedi olalı bir fare tutamadı bizim osiloskop, ya da kullanıcısı)
6n138'i de tü kaka ilan edip arada bir hcpl2200 dijital optocoupler siparişi de verdim bu arada.
Midi serial kullandığı için arduino'nun hardware serial özelliğini olduğu gibi bırakıp Software serial kullanmıştım midi için. Böylesi debug yaparken de rahattı zira usb2ttl kabloyu zırt pırt sök tak yapmak gerekmiyor bu şekilde. Dur dedim belki sorun software serial ile alakalıdır. Debug kısmını software serial'e geçirip midi in'i hardware serial'e aldım. Arduino'yu programlama, debug etmek için kabloların yerini değiştirme falan uğraştırıyor ama bu şekilde çalıştı meret.
Alınan ders : Günün birinde bu cihazlarla analog optocoupler kullanarak midi projesi yapmaya kalkarsanız aman diyeyim software serial kullanmayın.
Baktım güzel, note on'lar note off'lar doğru notalarla geliyor. Bir çalayım bakayım. Öncelikle bir kanal kapatıp sid'e eşlik etme fikri o kadar da iyi bir fikir değilmiş

Hani tek sid çipi ile pek tabii, sonuçta sid filtre ile ıvır zıvırla oynadıkça hiç bir anlamı yok. İkinci sid takılırsa mantıklı olabilir.
Sonraki yaşadığım sıkıntı da şu : Bazen bazı tuşları yakalayamıyor program. Hadi dedim buna sonra bakarım şu klavye üstündeki modulation wheel'i, volume controller değişikliklerini bir algılayayım bakayım. Filtre ile, pulse width ile falan oynarım bunlarla dedim. Ne göreyim, benim emektar m-audio keystation 49e meğerse yalama olmuş. Volume ayarı en altta iken paso 2-3 gibi değerler gönderip duruyor, modulation wheel desen aynı. Muhtemelen arada bazı notaları yakalayamama sebebim de bu. Klavye normal şartlarda sadece nota gönderecekken arada bir sürü kontrol mesajı da gönderiyor, garibim arduino'da bunları okuyacağım diye çırpınıyor.
Klavye ile adam akıllı bir sid performansı yapmak mümkün olmadı yani. Muhtemelen klavyenin volume ayarındaki değişken direnci ( ya da her neyse bilmiyorum) içerideki devreye sabit bir şekilde algılatmam gerekecek.