home *** CD-ROM | disk | FTP | other *** search
/ Large Pack of OldSkool DOS MOD Trackers / it214v3.zip / FILTERS.TXT < prev    next >
Text File  |  1997-12-21  |  6KB  |  144 lines

  1.  
  2.                       Impulse Tracker and Resonant Filters
  3.  
  4. Wanna know how to get resonant filters working in IT? Read on.
  5.  
  6. Implementation
  7. --------------
  8. So far, resonant filters have only been coded into the MMX drivers - so any
  9. soundcard which has an MMX driver for IT will support resonant filters. Of
  10. course, this means that your computer has to have MMX before you can run them.
  11. To hear resonant filtering, you'll first need to select "Filtered" mixing on
  12. Shift-F5.
  13.  
  14. Do NOT write to me about non MMX resonant filtering.
  15.  
  16. Resonant filters CANNOT be included with hardware GUS / Interwave drivers. The
  17. reason is because these chips do not support resonant filtering in their mixing
  18. algorithms.
  19.  
  20. The AWE 32 driver has *approximate* support to IT's software resonant
  21. filtering. Songs written using resonant filters on the AWE32 will not sound
  22. exactly the same with other drivers.
  23.  
  24. The diskwriter has all resonant filtering code, of course. (No MMX required)
  25.  
  26. Note that the only external player to have resonant filtering implemented is
  27. MikIT. If you use any other player to play your songs that use resonant
  28. filtering (including earlier versions of IT), they will not be played
  29. correctly.
  30.  
  31. First note
  32. ----------
  33. If you do use filtering in your songs, you probably should embed your MIDI
  34. Output configuration into the .IT file. This makes the file slightly bigger,
  35. but it ensures that your song will be played correctly on any filter-capable
  36. driver on any computer. This is selected by turning the "Embed MIDI Data"
  37. on the MIDI screen (Shift-F1) to "on".
  38.  
  39. Simple filters
  40. --------------
  41. For most users, this is all that you will need to know.
  42.  
  43. The default configuration for IT (copy ITMIDI.CFG to your IT directory) will
  44. recognise Z00->Z7F as set filter cutoff frequency and Z80->Z8F as set filter
  45. resonance.
  46.  Z00 is the lowest filter cutoff, Z7F is the highest filter cutoff
  47.  Z80 is the least resonance, Z8F is the highest resonance
  48.  
  49. If you wish to reconfigure the resonant filters or perhaps create some extra
  50. shortcuts, then read below!
  51.  
  52. How the drivers recognise filters
  53. ---------------------------------
  54. The drivers know what to filter by intercepting MIDI messages. This does NOT
  55. mean that filters will require any sort of MIDI equipment, just that the
  56. mechanism to instruct the driver to filter a particular note within IT itself
  57. is made via the MIDI interface.
  58.  
  59. The instructions that the drivers understand so far are:
  60.   F0 F0 00 <value> - Set filter cutoff frequency to <value>
  61.   F0 F0 01 <value> - Set Q factor (resonance) of filter to <value>
  62.  
  63. In each of these cases, <value> is between 00 and 7Fh. Values above 7Fh are
  64. ignored. Note that if filter cutoff is set to 7F and Q is set to 0, then no
  65. filters are applied.
  66.  
  67. How to tell the drivers these Instructions
  68. ------------------------------------------
  69. OK.. so how can we tell the drivers these instructions?
  70.  
  71. For a full explanation, check MIDI.TXT - a short explanation is provided here.
  72.  
  73. First of all, go to the MIDI Output configuration screen in IT. Do this by
  74. pressing Shift-F1, then clicking on the "MIDI Output Configuration" button.
  75.  
  76. You will see several MIDI configurations, then SF0->SFF then Z80-ZFF (that
  77. bottom window is scrollable).
  78.  
  79. Using Z80 to ZFF
  80. ----------------
  81. Z80->ZFF are the easiest to explain.. so I'll explain them first.
  82.  
  83. If you type in "F0 F0 01 3F" next to Z80 (make sure that you have the letters
  84. in upper case), then whenever you use Z80 in a pattern, "F0 F0 01 3F" will be
  85. sent to the driver. If you refer back to what instructions the driver
  86. understands, you'll see that this means "Set filter resonance to 3F".
  87.  
  88. A few more examples:
  89.  Z81 = F0 F0 00 40 - set filter cutoff frequency to 40h
  90.  Z82 = F0 F0 01 20 - set filter resonance to 20h
  91.  Z83 = F0 F0 00 10 - set filter cutoff frequency to 10h
  92.  
  93. Using SF0->SFF
  94. --------------
  95. SF0->SFF are slightly more difficult to explain.. but hopefully a few examples
  96. will make their usage clear.
  97.  
  98. When you use Z00 to Z7F in a pattern, they do not directly translate in the
  99. same way as the Z80->ZFF do. Instead, they set a variable internally called
  100. 'z' that gets substituted into one of the SFx commands.
  101.  
  102. Example 1 - If you set SF0 = F0 F0 00 z (on the MIDI Output configuration)
  103.  
  104. Then using Z01 will cause "F0 F0 00 01" to be sent.
  105.  Z01 = F0 F0 00 01 - Set filter cutoff frequency to 1, as above.
  106.  Z10 = F0 F0 00 10 - Set filter cutoff frequency to 10h
  107.  Z30 = F0 F0 00 30 - Set filter cutoff frequency to 30h
  108.  Z50 = F0 F0 00 50 - Set filter cutoff frequency to 50h
  109.  
  110. Example 2 - If you define:
  111.  SF0 = F0 F0 00 z
  112.  SF1 = F0 F0 01 z
  113.  
  114. Then:
  115.  SF0               - Set Zxx to use SF0
  116.  Z30 = F0 F0 00 30 - Set filter cutoff frequency to 30h
  117.  Z50 = F0 F0 00 50 - Set filter cutoff frequency to 50h
  118.  SF1               - Set Zxx to use SF1
  119.  Z20 = F0 F0 01 20 - Set filter resonance to 20h
  120.  Z3F = F0 F0 01 3F - Set filter resonance to 3Fh
  121.  Z50 = F0 F0 01 50 - Set filter resonance to 50h
  122.  SF0               - Set Zxx to use SF0
  123.  Z30 = F0 F0 00 30 - Set filter cutoff frequency to 30h
  124.  Z10 = F0 F0 00 10 - Set filter cutoff frequency to 10h
  125.  SF1               - Set Zxx to use SF1
  126.  Z20 = F0 F0 00 20 - Set filter resonance to 20h
  127.  Z30 = F0 F0 00 30 - Set filter resonance to 30h
  128.  
  129. Note that the default startup configuration for each channel is SF0, so the
  130. first SF0 in example 2 is unnecessary.
  131.  
  132. Resetting the Filters
  133. ---------------------
  134. Since the filters are driver related (and IT.EXE really doesn't know about
  135. their existance), they are not reset automatically when you stop/play a song.
  136. If a MIDI Reset (FFh), MIDI Start (FAh) or MIDI Stop (FCh) message is
  137. received, then the driver will reset all of it's internal tables. The default
  138. configuration will send both MIDI Reset and MIDI Stop commands.
  139.  
  140. Final Notes
  141. -----------
  142. Umm.. Enjoy :)
  143.                                                               - Jeffrey Lim
  144.