[Eski] Otomasyonlu bir analog mikseri PT'den MIDI ile kontrol etmek

Bu başlık 2011 ve öncesi açılmış Müziktek Forumu başlıklarından biridir

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Mahcem

mahcem.com
Evet arkadaşlar, bir konuda programcılarımızın yardımını istiyorum.


Bizde bir adet VCA otomasyonlu 24-8-2 Soundtracs Topaz Project 8 mikser var.

Bu mikserin otomasyonu bir CPU kart üzerinden kontrol ediliyor ve Windows 3.11 için yazılmış Nuh Nebi'den kalma bir programla programlanıyor.

CPU kartı tamamıyla MIDI SysEx üzerinden CC'ler ile real-time kontrol ediliyor.


Ben bu eski ve dışarıya kapalı otomasyon programını atıp masayı doğrudan Pro Tools içinden kontrol etmek istiyorum.

Yapmak istediğim şu:

- Pro Tools'da 24 tane MIDI track açacağım.

- Bu MIDI track'ları Topaz'ın bağlı olduğu MIDI OUT'a yönlendireceğim.

- Her bir kanalın volume ve mute komutları Topaz'ın anlayacağı dile dönüştürülerek o çıkıştan transmit edilecek.

- Bu arada Command 8 kontrol yüzeyi zaten o MIDI track'ları doğrudan kontrol edebildiği için resmen VCA'ları Command 8'in dokunmatik fader'ları ile kontrol edebileceğim.

- Ayrıca kanallara yazdığım volüm ve mute otomasyonları da playback anında real-time olarak VCA'lara iletilmiş olacak.


Bu konuda bana yardımcı olabilecek bir yiğit var mı?

Şimdiden teşekkürler ve sevgiler,

M.


Topaz Automation Interface'in MIDI spesifikasyonları şöyle (mikserin 32 kanal versiyonu da olduğu için özellikler 32 kanala göre verilmiş, 24 kanal modelleri sadece ilk 24'e cevap veriyor):


The CPU card is entirely controlled by MIDI.

Standard MIDI

System reset FFh : Everything muted
Controllers 0...31 of MIDI channel CC are 7-bit values of faders 1...32
Note On, Note Nos 0...31 (-C2...G0), vel=0, MIDI Channel CC are Channel Mutes for Channels 1...32
Note On, Note Nos 0...31 (-C2...G0), vel>0, MIDI Channel CC are Channel Un-Mutes for Channels 1...32

[cc: MIDI Channel CC is selected using the front panel switch on Automation Interface)

Custom SysEx Messages

SysEx Packed 32-mute block [5 bytes data; message 9 bytes; 2.9ms]
SysEx packed 8-fader block [16 bytes data; message 20 bytes; 6.4ms]

-------------------------------------------------------------
MIDI SysEx Message Format

Sysex MFR ID Message ID Data.... EOX (or any other status byte)
F0 2E 7-bit 7bit F7

-------------------------------------------------------------

Message ID Data

0 Nul
1 Mute block Mute bits for chs 1...7, 8...14, 15...21, 22...28, 29...35
2 Fader block 0 ch1:lsb,msb...ch8:lsb,msb
4 Fader block 1 ch9:lsb,msb...ch16:lsb,msb
8 Fader block 2 ch17:lsb,msb...ch24:lsb,msb
16 Fader block 3 ch25:lsb,msb...ch32:lsb,msb

Data

lsb first in data stream
msb lsb
0000 000n 0nnn nnnn

--------------------------------------------------------------

Messages

9n nn vv - nn is note number, vv is velocity

Bn cn dd - cn is controller no, dd is data

F0 2E 01 mm mm mm mm mm F7 - mm is mute map for 7 channels

F0 2E 02 ll mm ll mm ll mm ll mm ll mm F7 - ll is lsb, mm is msb
F0 2E 03 ll mm ll mm ll mm ll mm ll mm F7
F0 2E 04 ll mm ll mm ll mm ll mm ll mm F7
F0 2E 05 ll mm ll mm ll mm ll mm ll mm F7

---------------------------------------------------------------
 
Abi soru 1...

Sen windows mu kullanıyorsun... Eğer windows kullanıyorsan seri port varmı? Yazıcı portun kesin vardır...


Soru 2...
Bu aletin üstündeki cpu programlanabiliyormu programlanamıyorsa başka bir işlemci kullanmam sorun olur mu? Bir de bulmamız çok zor ama protools un bilgisayar üzerinde kullandığı veri yollarının adreslerini bulmamız lazım ama sadece midi kanalarını yönlendirerek kontrol edeceksen iş kolaylaşabilir... Ama bir işlemci şart haberin olsun...

Soru 3...
Devre şeması var mı? .
Soru 4...
İşin çok acil mi? Ben programlayabilirim sanırım ama biraz uzun sürer zira çok vaktim yok....
 
Mahcem, elinde basit bir MIDI controller var ise, controller i Topaz'in MIDI girisine bagla. Hangi notalar, hangi komutlara karsilik geliyor onlari bulabilirsin.(Hangisi aciyor, hangisi kapatiyor kanallari vs.) Bu noktadan sonra da soyle birsey yapilabilir, PT icin mutlaka bir plug-in yazilmali. Cunku her acma kapama icin sen bir midi dizesi yazacaksan o is zor. Ama mixer goruntusunde sana bu isleri yapmani saglayan bir grafik arayuze sahip bir plug-in yazilabilir.(diye dusunmekteyim.) Plug-in olusturulurken de, plug-in deki parametreleri Command 8 den alinacak degerler ile kontrol edilecek bir sekilde yazilmali. Daha once hic PT icin bir plug-in yazmadim, nasil yazilir edilir bir bilgim yok. Ama sonucta yazilan plug-inler MIDI ve Command8 I/O ile calisabiliyorsa, istedigin isi yapacak birsey yazmak imkansiz degil.
 
forvet' Alıntı:
Abi soru 1...

Sen windows mu kullanıyorsun... Eğer windows kullanıyorsan seri port varmı? Yazıcı portun kesin vardır...

Buna ihtiyacın yok, çünkü MIDI port kullanacaksın miksele konuşmak için. Yazıcı portuna gelince, Paralel portla işin hiç mi hiç yok. MIDI portları zaten paralel port'a kurulmaz, seri porta kurulur.

Soru 2...
Bu aletin üstündeki cpu programlanabiliyormu programlanamıyorsa başka bir işlemci kullanmam sorun olur mu? Bir de bulmamız çok zor ama protools un bilgisayar üzerinde kullandığı veri yollarının adreslerini bulmamız lazım ama sadece midi kanalarını yönlendirerek kontrol edeceksen iş kolaylaşabilir... Ama bir işlemci şart haberin olsun...

Boş konuşuyorsun :) İşlemciye ihtiyacın yok, zira zaten bir tane var arada. Aletin üzerindeki CPU da zaten programlanmış, volüm ve mute kontrolünü nasıl yapacağının data sırasını da vermiş adam. "Şu şu şu kodları arka arkaya gönderirsen falanca kanalın volümünü 1'den 128'e kadar olan alanda istediğin noktaya bir adım yoğunlukla götürebilirsin" demiş. Yukarıdaki mesajımın sonundaki MIDI spec liste bak.

Soru 3...
Devre şeması var mı? .

Yok. Aslında var da yok. Zira ihtiyacın yok. BEnim derdimin çözümü için tek bilmen gereken yukarıdaki MIDI spec sheet.

Soru 4...
İşin çok acil mi? Ben programlayabilirim sanırım ama biraz uzun sürer zira çok vaktim yok....

Hayır, acil değil. Ne kadar çabuk olura o kadar iyi olur tabii, bir an önce Pro Tools'dan kullanmaya başlarım otomasyonunu, ama ölüm kalım meselesi de değil.

M.
 
Simdi biraz arastirdim Digidesign'in sitesini, fakat hicbir yerde Developer support tarzinda bir bolum goremedim. Dusundum de yazilacak sey aslinda gayet basit. Topaz a midi uzerinde gerekli sinyalleri gonderecek donguleri yazmak gerekli. Bir de Command 8 in gondermis olduklarini algilayacak donguler. Bunlari da birbirleri ile eslestirmek lazim. Bulent Biyikoglu sanirim Digidesign'de calismisti, o belki yardimci olur plug-in konusunda sanirim. Sonucta protools ile entegre calismasi gerekli.
 
grego' Alıntı:
Mahcem, elinde basit bir MIDI controller var ise, controller i Topaz'in MIDI girisine bagla. Hangi notalar, hangi komutlara karsilik geliyor onlari bulabilirsin.(Hangisi aciyor, hangisi kapatiyor kanallari vs.)

Grego,

Bak yukarıda astığım spec sheet ne demiş:


Note On, Note Nos 0...31 (-C2...G0), vel=0, MIDI Channel CC are Channel Mutes for Channels 1...32
Note On, Note Nos 0...31 (-C2...G0), vel>0, MIDI Channel CC are Channel Un-Mutes for Channels 1...32

Yani -C2 notası 1. mikser kanalını, -C#2 notası 2. mikser kanalını, -D2 notası 3. mikser kanalını vesaire sırayla kontrol ediyor.

Bu notalardan herhangi birinin velocity bilgisi 0 olduğunda o notanın kontrol ettiği mikser kanalı "Mute" edilmiş oluyor. Susturuluyor. - ∞dB yani.

herhangi bir notanın velocity'sini 0 arttırdığında ilgili kanal "Un-Mute" ediliyor, yani açılıyor. 127 velocity de potansın maksimum seviyesi demek zaten.

İşin Command 8'den gelen mesaj kısmı ile bir alakamız yok. Zira o zaten Pro Tools'un MIDI track'larını gayet güzel açıp kapatıyor, kontrol ediyor. Dolayısı ile Pro Tools'da MIDI Thru açık olduğu anda Command 8'den gelecek sinyal anında açılan MIDI track'larının output'larında belirecektir.

Bana MIDI track'lardan gelecek 0-127 arası volümleri aynen birleştirip kontrol arabirimine gönderecek bir plugin ya da MIDIOX gibi driver lazım.

Install ettiğim zaman sistemde sanki 32 channel üzerinden çalışan virtual bir MIDI portmuş gibi çalışacak. Benim tüm yapmam gereken 24 (veya 32, kullanılan masaya göre) MIDI track'i açıp bunları sırayla o MIDI channel'lara yönlendirmek olacak.

O MIDI channel'ları kendilerine gelen her velocity bilgisini sanki kendi ayarlandığı notadan geliyormuş gibi algılayacak. Bir çeşit MIDI filter yani.

Gelen bilgiyi de öbür tarafa transmit ederken başına gereken start character ve manufacturer ID gibi karakterleri koyacak.

Dur bakayım, belki Visual Basic ile ben birşey yazabilirim. Nerde şu "21 günde VB5" kitabı? Almıştık bir ara, attık sonra kenara.

M.
 
Mahcem abi , midibox projesine baktın mı hiç? Benzer işleri yapan adamlar var. Oldukça masraflı bir yol , Neredeyse sil baştan bir tasarım oluyor ama sonunda aleti bir mackie hui gibi kullanmak var :)
 
Fusion,
Oradaki olay farkli, Mahcem'in elindeki ekipmanda zaten bu destek var, o sadece ona soylenenleri cevirecek bir translator a ihtiyac duyuyor.Sifirdan bir sey yapilmiyor.

bkz. VCA(Voltage Controlled Automation)
 
Dün gece evdeki laptopa MIDI-OX'u yükleyip birkaç saat inceledim. Anladığım kadarıyla biraz uğraşma ile benim istediğimi yapacak.

Tek bulmam gereken Pro Tools'un kanal volüm ve mute olayını MIDI'de nasıl hallettiği. Ki onu da MIDI-OX'a okutturabiliyorum.

Eğer standart konvansiyonu devam ettirdiyse (ki öyle olması lazım diye düşünüyorum), resmen MIDI-OX'da bir filtre rutini yazıp Manufacturer ID ve CC'leri değiştirdim mi tamamım.


...diye düşünüyorum. Bakalım çalışır mı...

M.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst