- There are only 8 levels of volume control when fading in and out of CD-DA. This is too rough, but fine and smooth control requires some extra effort.
- use master volume
Master volume can be controlled in 16 levels. However, since the master is located at the last stage, the volume of other sounds that are being sounded at the same time will also change.
- Send it to the DSP and control it by rewriting the coefficient from SH2.
You must know the addresses of the coefficients, etc. Also, there is no precedent for this method.
- There is a bug regarding pitch bending in sequence data with complicated note-on and note-off.
- Currently, if a pause is applied while a note with a long gate time is being played, all notes will be note-off at that point, and the remaining notes will not be played even if the pause is released.
- The sound driver on a Mac has a TEXT attribute, so if you bring it to a DOS environment via the internet or disk, you must be careful not to convert the driver to text.
- MIDI ConTRol Change EFFECT VOL and EFFECT PAN at numbers 17 and 71 are valid regardless of the pronunciation control number. The upper 3 bits of MIDI EFFECT VOL0-127 correspond to EFFECT RETURN VOL0-7, and MIDI Channels 1-16 correspond to EFFECT RETURN VOL Channels 0-15.
The 32-step stereo location of EFFECT RETURN PAN corresponds to the upper 5 bits of MIDI EFFECT PAN0-127, and MIDI Channels 1-16 correspond to Channels 0-15 of EFFECT RETURN PAN.
Even when the sequence ends, the set values will be retained and will not return to the settings in the tone data. If EFFECT VOL, EFFECT PAN or MIXER Change is issued subsequently, it will change again.
*Rather than using MIDI to control EFFECT VOL and EFFECT PAN, we recommend creating multiple MIXERs and switching between them using MIXER Change.
- About PAL compatibility
Regarding sound, there is no need to change the driver or data at all.
If you are performing special control by modifying the sound driver, etc., please contact technical support.
- When using ADPCM playback
There are two types of ADPCM data.
- CD-XA compliant ADPCM method
With this method, there are only two sampling rates.
18.9kHz (B MODE)
37.8kHz (C MODE)
- APCM method with header
Sampling rate can be set freely.
Also, currently the load on SH2 for ADPCM playback is quite high, and it seems that the limit is playing one sound at a time.
- Even if the number of simultaneous polyphony does not exceed 32 notes, it is possible that a note that should be played may not be produced, or the release of a note that is currently being produced may be cut off. If you don't want the sound to stutter, try increasing the key-on time instead of using a long release.
- About the stereo/monaural switch
If you want to reflect the stereo/monaural switching settings on Saturn's multiplayer to the game, you can do so by rewriting the setting bits in the sound WORK RAM from SH2.
When the setting is monaural, after initializing the sound, set Bit 7 of 0x25A00443 of the sound WORK RAM from SH2.
All subsequent controls are performed by the sound driver.
You can also monitor monaural playback on the sound simulator. Please use it to check the volume balance when monaural.
- If a Note on event is issued from HOST by MIDI Direct conTRol command (09H) without transferring the tone bank, a triangular wave will be output.
Example: If the following MIDI Direct conTRol command (09H) issues a Note on event, the driver will output a 441Hz sound.
- pronunciation data
- P1,P2,P3,P4 = 01H,00H,3CH,7FH
- off data
- P1,P2,P3,P4 = 01H,00H,3CH,00H
You can use this to determine whether the sound driver is working or not.
(However, it is not supported by the development driver "SDDRV.TSK".)
- The DSP has a higher priority for accessing the DRAM bus than the 68000. Also, since the DSP accesses the same DRAM as the 68000, if you use a delay type effect (with Tap processing that reads/writes the delay RAM many times), the processing of the 68000 will be postponed, causing the song to slow down, Situations may occur where commands are not accepted.
This is particularly likely to happen with eLinker (extended linker) reverb, early reflections, etc., and care must be taken when using FM with many simultaneous slots.
- The maximum number of samples that can be played with SCSP is 0ffffh samples. When using Reverse or Alternate, changing the pitch may shift the read address, resulting in a different sound or noise than the original.
- The tempo of the sequence song should not exceed the quarter note range of 40 to 300.
- Saturn's sound driver processing is based on 2msec, so even if you create sequence data that treats 1 beat as 480 clocks, when converted playback, 1 beat will have a resolution equivalent to 250 clocks (if the tempo is 120). .
As a result, the playback sounds as if it has been quantized, but there should be no problem with hearing it.
- As the sound driver was upgraded from version 1.33B to version 2.04, the volume calculation algorithm was changed to reduce the load on the driver. As a result, sequence playback is no longer compatible with data from versions 2.00 and earlier.
This is compatibility in a relatively strict sense, as the balance of volume changes is slightly different from before for the data values (0-127) of Volume of MIDI control change number 7 and Expression of number 11. , the basic sound driver behavior is exactly the same as before. Of course, as long as the volume balance between MIDI channels during sequence playback is not a concern, there is no need to mess with the sequence data.
If you want to use past sequence data as is and place emphasis on volume balance between tracks, please use sound driver version 1.33B.
- There are the following types of sound drivers for Saturn (including Titan).
- SDDRV.TSK+SYSTBL.TSK (used only when developing sound with SoundBox)
- SDDRVS.TSK (used when developing with CartDev and when incorporating into the actual game)
- SDDRVT.TSK (for ST-V Titan. Almost equivalent to SDDRVS.TSK)
Please do not change the file name. When SndSimulator starts up, it searches to see if SoundBox or CartDev is connected, and checks if SDDRV.TSK exists in the same folder for SoundBox and SDDRVS.TSK for CartDev.
If it exists, transfer the sound driver there, or if not, transfer it inside SndSimulator to the target.
If you want to use the Titan driver on a Mac, connect CartDev, change the file name to SDDRVS.TSK, and place it in the same folder as SndSimulator.
The sound drivers inside SndSimulator vary depending on the version and may be old, so please put the latest sound driver in the same folder as the simulator.
To find out the version of the sound driver currently being transferred by the simulator, look at "About this SndSimulator" from the Apple menu.
- The method of specifying a tone is the same as the previous sound driver, by specifying the voice number of the tone bank in the sound RAM. MIDI control change Bank change number 32 specifies the tone bank, and program change specifies the VOICE.
Currently, if a bank change is used to specify a tone bank that does not exist in the sound RAM, tone bank number 0 is assigned as the default. Even if you place tone data in tone bank number 0 and send a bank change for a tone bank that does not exist on the sound RAM, for example, number 3, the sound driver version 2.00 or earlier will not change the tone data to tone bank number 0. So, Saturn pronounced it correctly. However, in sound driver versions 2.00 and later, the sequence data is checked more strictly and an error is returned if such an incorrect bank specification is made.
Originally, tone banks should be specified accurately in MIDI sequence data. During the sound data production process, if you do not want to modify the tone bank number of the MIDI sequence data for work efficiency reasons, please take measures such as setting a dummy tone bank on the map using the sound simulator.
If there is a problem with the sequence data, the following values will be displayed on the status display on the sound simulator.
$00 | No abnormality |
$80 | Resolution exceeds Saturn's capabilities |
$81 | No tempo data |
$82 | No tempo data |
$83 | The specified tempo exceeds Saturn's capabilities. |
$84 | There is no control in the sequence data. |
$85 | You specified a bank that does not exist on the map. |
$86 | A program that does not exist on the tone bank was specified. |
$87 | A program change was performed without a tone bank set. |
$88 | Volume bias value is too large for Total level. The total level of the layer is set outside the specified range. |
$89 | A mixer change was performed on a bank that does not exist. |
$8a | A setting other than POLY mode was used for PLAY MODE in the Voice parameter of tone data. |
$8b | Layer is not set on the Tone editor. |
$8c | Because the number of simultaneous pronunciations exceeded 32, the oldest key-on was forcibly destroyed. |
$8d | A layer that does not exist was specified. |
$8e | Trouble occurred in DSP |
$8f | An unsupported MIDI event was issued. |
$91 | All note off has been processed. Please note that this is an error except during development. |
$92 | There were some notes that could not be played because there were too many FM sound source channels. |
$93 | Double assignment of slot (program error) |
$94 | An attempt was made to play on a MIDI channel other than 1-16. |
$97 | *Due to a large number of simultaneous polyphony, there were slots where the end of the release was ignored. |
$98 | *The number of simultaneous pronunciations within the same pronunciation management number exceeded 32.Fatal error when creating song data. |
$99 | NOTE ON was canceled because all slots were filled with FM. |
Items with ( * ) are only compatible with SDDRV.TSK.
- Most sequencers handle each instrument's parts in units called tracks, but there are some things to keep in mind due to the structure of SMF (Type 1).
On a sequencer, tracks and MIDI channels are usually independent, so different tracks can be set to the same MIDI channel. However, when outputting as SMF (Type 1), MIDI channels 1 to 16 are assigned in order from MIDI channel track 1. Therefore, tracks after the 17th track are ignored and will not be sounded.
DP1
Track-17 data in the figure is ignored.
For example, for ease of editing, note-on data and control change (expression, pan, etc.) tracks may be separated and output on the same MIDI channel, but in such cases, if the tracks are different, the MIDI channel will also be different. Because of this change, phenomena such as the expression effect not being applied to the note data may occur.
DP2
The MIDI event on Track-6 in the diagram is treated as MIDI channel 6, so it will no longer affect the MIDI event on Track-5.
Therefore, there are three points to be careful of.
- When outputting SMF from a sequencer, tracks on the same MIDI channel must be merged.
- The maximum number of tracks is 16 (excluding tempo tracks).
Each sequencer handles SMF output slightly differently, with some sequencers automatically merging tracks on the same MIDI channel, and some sequencers inserting empty tracks if the MIDI channel is missing. Please check your sequencer once.
There are also sequencers that automatically output SMF type 0 when a sequence with only one track is output as SMF. In that case, you will need to take measures such as creating another dummy track. - If the MIDI channel number is important, you need to create data with the final track number in mind. For example:
- No. 17 Effect pan
- No. 71 Effect volume
- No. 80 Q-sound localization
- The function of the sequence volume (05h Sequence Volume) command has changed.
- P1
- Pronunciation control number (0-7)
- P2
- Volume (0-255) Around 128, the higher the value, the louder the volume. Previously, the default was 127, and the volume could only be lowered, but from Ver-2.00 onwards, it is possible to increase the volume higher than the sampled volume. However, please be careful as setting an extremely large value may cause distortion. Default value is 128. If you want to return the sequence volume to the initial setting, please set it to 128.
- P3
- Fade Rate (0-255) Specify the time to reach the specified sequence volume from the current sequence volume as a rate (0 to 255). The larger the value, the slower the change, with 255 being the longest and 1 being the shortest. (If it is 0, there will be no fade and only the sequence volume will be set.) The fade will be performed from the current sequence volume to the specified sequence volume. Fade-in or fade-out is determined by whether the specified sequence volume is larger or smaller than the current sequence volume.
Fade in and fade out using sequence volume commands are effective even during note-on.
Additionally, a bug in the sound driver versions 1.31 and earlier that prevented real-time volume control during note-on using MIDI control changes has been fixed.
- Additional changes to TempoConTRol
If you perform TempoConTRol during a loop using control change number 31, the tempo will return to the initial tempo when you return to the beginning of the loop. To prevent this, tempo processing now has three modes.
- Normal mode
Tempo processing will be performed in the same way as before.
- Ignore mode
The tempo remains the same as when the sequence started, and the tempo will not change even if the tempo changes during the sequence. Tempo change commands from the host are accepted.
- ratio mode
Tempo changes during a song will also be affected by tempo changes by the host (separate command from the previous tempo change).
As a result, the following host commands have been added.
$14 Tempo mode |
P1: Management number | |
P2: Tempo mode | 00: Normal |
| + :Ignoa |
| − :Ratio |
$15 Tempo ratio set |
P1: Management number | |
P2: Ratio | (-32768~+32767)
The effect is the same as changing the tempo. |
Also, the above tempo mode and tempo ratio work will be reset by starting the sequence.
- The problem with the damper of control change number 64 has been resolved in Ver2.00. No more special data modification.
- The addition result of TL+VolBias must not be less than 0. If it is less than 0, the driver returns an error number to Status and does not play the sequence.
- Do not use multiple versions of sound drivers in one game. This will cause confusion.
- About map data limitations
One map file can contain up to 128 maps, but the map information can only be stored in the sound driver's system area up to 4096 Bytes (1000h).
When performing "Map Binary File Creation" from the Sound Simulator's File menu, if the map binary size exceeds 4KByte (1000h), SndSim (Ver. 2.10 or later) will issue an alert. In this case, no sound will be produced even if you change the map.
In such a case, please split the map file into multiple files. Also, the size can be displayed in the Make Binary File menu of SndSimulator, so please check the current size from time to time.
As a guide, if there are more than 500 blocks in the map, the size will exceed 4KByte (1000h).
***Reference*** Calculation method
The size of one block is 8 bytes. One byte is added as an end code for each map.
If the total number of blocks is 150 and there are 12 maps, then
150×8+12×1+1=1213(< 4096)
So, it will be 1213 bytes.
sample frequency | Base Note | Fine Tune |
44100 | 60 | 00 |
40000 | 62 | 41 |
38000 | 63 | 55 |
36000 | 64 | 63 |
34000 | 65 | 63 |
32000 | 66 | 58 |
30000 | 67 | 44 |
28000 | 68 | 20 |
26000 | 69 | -18 |
24000 | 71 | 62 |
22050 | 72 | 0 |
22000 | 72 | -Five |
20000 | 74 | 40 |
18000 | 76 | 63 |
16000 | 78 | 58 |
14000 | 80 | 17 |
12000 | 83 | 59 |
11025 | 84 | 0 |
10000 | 86 | 40 |
9000 | 88 | 63 |
8000 | 90 | 58 |
7000 | 92 | 17 |
6000 | 95 | 60 |
5000 | 98 | 40 |
4000 | 102 | 56 |
These are the Base Note and Fine Tune settings when playing at the standard pitch with Base Note 60.