************************************* * * * V4 * * Godfried-Willem Raes * * versie 2009 * ************************************* 21.05.2006 - 14u50 : Version 3.0 20.01.2009: Version 4, hardware revision 21.01.2009: Lights added on midihub board (PIC2) 24.05.2010: Programming session midihub board 18.06.2010: Programming midihub board MIDI kanaal voor : 3 (offset 0) of 4 (offset 1) PICSPECS: PIC1: pulse board (16 outputs + 1 extra) ---------------------------------------- te doen: kode wijziging (doorschuiven tabel 3 plaatsen) hiermee worden de saxofoonkleppen bestuurd. Voor elke midi noot moet een 16-bit getal gedefinieerd zijn waarbij elk bit overeenkomt met een uitgang en dus met een klep. De tabel moet via sysex kunnen geherprogrammeerd worden. Keyword voor deze sysex: sax1 Een tabel neemt dus 127 16-bit woorden in beslag. De selektie van een andere tabel kan dan via program change. vb: 100 tot 127 voor de selektie van deze tabellen. De kleppen werken alleen in on/off mode. Nota: de mosfets op het PIC board sturen hier niet rechtstreeks de kleppen, maar wel een ander board waarop de hoogspannings mosfets gemonteerd zijn. De extra output wordt op dit board gebruikt voor het inschakelen van de voedingsspanning voor de kleppenmagneten. (Via een relais). - mapping op midi controller 65 (on/off) default lookup voor de noot-klep relatie binair genoteerd: (MSB = laagste klep) Deze lookup moet worden geselekteerd bij ontvangst van program change zero. 0 , 00000000 00000000 1 , 10000000 00000000 2 , 11000000 00000000 3 , 00000000 00000000 4 , 00010000 00000000 5 , 11000000 00000000 6 , 01111100 00100000 7 , 00000000 00000000 8 , 10000000 00000000 9 , 01000000 00000000 10, 11000000 00000000 11, 00100000 00000000 12, 00000000 00000000 13, 10000000 00000000 14, 11000000 00000000 15, 00000000 00000000 16, 00010000 00000000 17, 11000000 00000000 18, 01111100 00100000 19, 00000000 00000000 20, 10000000 00000000 21, 01000000 00000000 22, 11000000 00000000 23, 00100000 00000000 24, 00000000 00000000 25, 10000000 00000000 26, 11000000 00000000 27, 00000000 00000000 28, 00010000 00000000 29, 11000000 00000000 30, 01111100 00100000 31, 00000000 00000000 32, 10000000 00000000 33, 01000000 00000000 34, 11000000 00000000 35, 00100000 00000000 36, 00000000 00000000 37, 10000000 00000000 38, 11000000 00000000 39, 00100000 00000000 40, 00010000 00000000 41, 11000000 00000000, &HB000 42, 01111100 00100000 43, 00000000 00000000, &H00 44, 10000000 00000000, &H8000 45, 01000000 00000000, &HB000 46, 00000000 00000000 47, 00100000 00000000 48, 00000000 00000000 49, 10000000 00000000 50, 11000000 00000000 51, 00100000 00000000 52, 00010000 00000000 53, 00001000 00000000 54, 01111100 00100000 55, 01111110 11000000 56, 01111111 01000000 57, 01111111 10000000 58, 01111111 11010000 59, 01111111 11100010 60, 00000000 00000000 61, 01000000 00000000 62, 01100000 00000000 63, 01110000 00011000 64, 01111000 00011000 65, 01111100 10000000 66, 01111110 00100000 67, 01111111 00111000 68, 01111111 00000000 69, 01111111 10111000 70, 01111111 11010000 71, 01111111 11100010 72, 01111111 11110000 73, 01111111 11111001 74, 01111111 11111100 75, 01111111 11111110 76, 01111111 11111111 77, 01111111 11001000 78, 01111111 11100000 79, 01111111 11110000 80, 01111111 11111000 81, 11111111 11111100 82, 01111111 11011110 83, 11111111 11111111 84, 01111111 11110000 85, 11111111 11111000 86, 01111111 11111110 87, 01011111 11111110 88, 01111111 11001111 89, 00000000 00001111 90, 00000000 00000110 91, 00000000 00000111 92, 00000000 00000101 93, 00000000 00000011 94, 00000000 00000010 95, 00000000 00000001 voor 96-113: (geen klankgeneratie, maar wordt gebruikt met externe injektie) 96, 00000000 00000000 97, 10000000 00000000 98, 01000000 00000000 99, 00100000 00000000 100,00010000 00000000 101,00001000 00000000 102,00000100 00000000 103,00000010 00000000 104,00000001 00000000 105,00000000 10000000 106,00000000 01000000 107,00000000 00100000 108,00000000 00010000 109,00000000 00001000 110,00000000 00000100 111,00000000 00000010 112,00000000 00000001 113,00000000 00000000 voor 114-127 steeds 00000000 00000000 TO DO: add note aftertouch (key pressure) for bitwize fingerings using 14 bits (cfr. ) the two highest valves should then be controlled by controller 30 PIC2: midihub board ------------------- PC board version 3. (This is a different board than the one we used for Autosax V3) midi channel: 3 controller 8: PWM output, external audio in or feedback via optor - Weidmueller X17, pin2 note 127 : PWM output, frontal orange light, 12V-5W halogen. Dimable, X17-3 Lights, mapped on notes 121 - 126 - weidmueller X11, pin 2 note 121 blue Quad-LED's left - Weidmueller X11, pin 3 note 122 blue Quad-LED's right - Weidmueller X12, pin 2 note 123 yellow LED strip on the back - Weidmueller X12, pin 3 note 124 yellow LED strip on upper part saxophone - Weidmueller X15, pin 2 note 125 red - Weidmueller X15, pin 3 note 126 red Weidmueller X11: Weidmueller X11, pin1 - GND Weidmueller X11, pin4 = +12V PIC3: DS-PIC board: sound and waveform synthesizer -------------------------------------------------- ' basisvertrekpunt voor deze firmware: Bono. ; kanaal moet 3 worden. midi note range: 0 - 94 note = note-frequency velo byte = amplitude as set by ctrl.17 controller 1 = injected noise amplitude controller 7 = Optor amplitude controller 17 = amplitude controller 18 = initial hold time xontroller 19 = release time controller 20 = master tuning controller 66 = tone generator enable/disable controller 123 = all notes off (preserving controller settings) pitch bend implemented (+/- 1 quartertone, 50 cents), note-off should also reset pitch bend. display: same coding as [identical hardware, TIL311 displays] the display shows the generated midi-note up to note 94. note: ctrl 8 controlled by midihub PIC De signaal uitgang moet simultaan aanwezig zijn op twee afzonderlijke PIC pinnen (26 en 24), onderling 180 graden gedraaid in faze. Signaal-vorm: symmetrische driehoek. Pin 22 stuurt de optor (slow pwm is o.k., same as on ) PC-board: breadboarded, gwr, 17.01.2009 mounted and tested, gwr, 20.01.2009