 FamiTracker help

Overview

FamiTracker is a Windows sound tracker style sequencer designed for creating NES/Famicom music. The music can be exported to NSF (Nintendo Sound Format) which is possible to play on the NES/Famicom hardware. A NSF player or NES emulator can be used to play these files on a PC/Mac.

This help file descibes the parts of the program and the targeted sound hardware.
There is also a wiki available with a FAQ, example songs and more information: http://famitracker.shoodot.net/wiki/

Features

  • Full realtime emulation of the channels; using blargg's band-limiting library for high quality audio
  • Three additional track-effect columns per channel is available
  • MIDI devices support
  • NSF file export, makes it possible to use music in NES applications or play on NES
  • Supported expansion chips: VRC6, VRC7, MMC5 and FDS
  • Source is avaliable under the GNU General Public License (GPL)

Contact and support

If you need help, there's a forum on the webpage that may be of assistance. I'm also available on the IRC channel and by mail:

E-mail: | zxy965r@tninet.se
Website | http://famitracker.shoodot.net
IRC | #famitracker @ irc.esper.net

FamiTracker is Copyright (c) 2005 - 2010 jsr


 Pattern editor

Pattern field

The pattern field consists of all channels and works like this:

All fields except note, octave and effect letter are in hexadecimal.

  • Note and octave
    Displays note and octave to play, or the commands note cut (---) and note release (===). Note cut immediately silences the channel and note release activates the release sequence.
    The editor must be in record mode to insert notes in the column (toggle record / normal mode with space).
    Notes are located on keyboard keys: Z = C, S = C#, X = D, D = D#, C = E... (Q, 2, W is one octave higher)
    Note cut and release keys are selected in the configuration window and general settings.
    Octave can be     stepped up and down with numpad keys '/' and '*'.

  • Instrument column
    Instrument to use. The selected instrument is automatically inserted unless the instrument mask option is enabled (Edit menu). If cleared then the last instrument will be used.

  • Volume column
    Sets the volume for the channel, range 0 - F. Works only in square and noise-channels, triangle and DPCM have no volume control.

  • Channel effects
    Used for channel effects. Format is Yxx, where Y = effect letter and xx = effect parameter.
    Additional effect-columns can be used by clicking the arrows in the channel header.
    See this page for available effects.

Use insert-key to insert rows and delete-key to delete rows. Backspace removes a row. Every field can be cleared by using the '-' (dash) key.

Channels can be muted by clicking it's name in the channel header, double clicking makes it play solo. Shortcuts for these commands are Alt+F9 & Alt+F10.

Selection and drag-n-drop is supported in this area.
Ctrl+A (first time) = select whole channel, Ctrl+A (second time) = select all channels
Ctrl+C = copy, Ctrl+X = cut, Ctrl+V = paste
Selection+mouse wheel = transpose

Additional keys can be found in key command-section.

Toolbar

The buttons are in order:
New | New module
Open | Open a file
Save | Save current file
Cut | Cut selected pattern
Copy | Copies selected pattern
Paste | Paste into pattern
About | Display about box
Help | Help button
Add frame | Add a new frame
Remove frame | Remove selected frame
Move frame down | Move selected frame down one step
Move frame up | Move selected frame up one step
Duplicate frame | Inserts a copy of selected frame
Play | Play the module
Play pattern | Play and loop selected pattern
Stop | Stop player
Record | Record/normal mode
Previous song | Moves to previous song in list
Next song | Moves to next song in list
Setting | Bring up settings dialog
NSF export | Bring up export dialog
Octave | Selected octave
Follow mode | Enable/disable follow mode when playing the module (Can be toggled with Scroll-lock)
Row highlight | Steps between highlighted rows
2nd highlight | Steps between second row highlight

The control panel

Frame editor

The first part is the frame editor (also known as order editor). A frame is a set of patterns for all channels, where each channel is represented by a number that represents the selected pattern slot. There are 128 available pattern slots for each channel, and the patterns aren't shared across the channels. 128 frames can be used.

To change pattern, press "+" - or "-" buttons or "+" & "-" keys in the pattern editor. If "change all" is checked, all channels will change instead of just the selected one. To move between frames in the pattern editor, use Ctrl+Right and Ctrl+Left. It's possible to double-click the window to enter edit mode, you can then enter values manually.

Song settings & edit settings

Song settings is default play speed & tempo, number of rows and frames in the song. Double-click any box to enter a value manually.

Speed and tempo can also be changed by using pattern command Fxx. The real BPM tempo is calculated by using the formula

BPM = (6 * Tempo) / Speed

which means the tempo box is correct at speed of 6. The time base for the song is 60 or 50 frames per second (when using default NTSC/PAL settings), and this is used to calculate the average tempo of the song. This means that some rows may play slightly longer than others and may be noticeable. To avoid this, leave the tempo setting at 150 (125 for PAL) and use only the speed setting to change BPM to ensure all rows get the same duration.

The step setting changes the step behaviour when moving the cursor in the pattern editor. Key repetition enables key repeat behaviour.

Song information & instrument list

Song information text fields are for name, artist and copyright. These strings are stored in NSFs (and also available in the NSF export dialog). The song list selects a song in multi-song files. The big list to the right is the instrument box, and the small toolbar is used to create, delete, open, save and edit settings for instrument and the text box is to name instruments.


 Menus

This section expains the menus found in the main window.

File
Edit
Module
Instrument
Tracker
View
Help

File

New
Creates new module

Open
Open famitracker modules (.FTM)

Save
Saves current module

Save As
Saves current module with a new filename

Create NSF...
Exports the module to NSF or another format

Create WAV...
Renders the module to a wave file

Import MIDI...
Imports MIDI files.

Configuration
Open the configuration window

Exit
Exits the program

Edit

Undo
Undo last action in the pattern editor

Redo
Redo last action in the pattern editor

Transpose
Transpose notes. A sub menu specifies how to transpose.

Interpolate
Interpolate selected rows in the pattern editor

Reverse
Reverses a selected area in the pattern editor

Instrument Mask
Check this item to disable insertion of instrument numbers when entering notes in the pattern editor

Replace instrument
Replace the instrument in a selection with the selected instrument

Cut
Cut selection to the clipboard

Copy
Copy selection to the clipboard

Paste
Paste from the clipboard

Delete
Delete selection

Select All
Select whole channel, if whole channel is selected: select all channels

Clear Patterns
Removes all notes and data from the patterns

Clean up
Removes unused instruments or patterns from the module.

Paste and Overwrite
Pasted data will overwrite existing data instead of inserting new rows

Paste and Mix
Pasted data will mix with existing data instead of inserting new rows

Enable MIDI
Enable/disable the MIDI input device

Module

Insert Frame
Inserts a new frame

Remove Frame
Removes selected frame

Duplicate Frame
Duplicates selected frame

Move Frame Up
Moves selected frame up one step

Move Frame Down
Moves selected frame down one step

Module Properties
Open the module properties dialog

Instrument

New
Add a new instrument. The instrument type depends on the selected channel type.

Remove
Remove selected instrument

Clone
Clone selected instrument

Load
Load an instrument from a file (.fti)

Save
Save selected instrument to a file (.fti)

Edit
Open the instrument editor for the selected instrument

Tracker

Play
Play module from top of pattern

Play Pattern
Play and loop selected pattern

Play Row
Play only one row

Stop
Stop playback of module

Edit
Toggle the edit/normal mode

Toggle channel
Mute/unmute selected channel

Solo channel
Mutes all channels but the selected one

Switch to track instrument
Selects the current instrument in selected channel when playing the module

Display DPCM state
Displays the DPCM state: sample position and delta counter

Kill Sound
Reset all sound channels

NTSC
Select the NTSC mode and default framerate of 60 FPS

PAL
Select the PAL mode and default framerate of 50 FPS

Engine Speed
Select a custom player framerate or the default framerate

View

Toolbar
Displays or hides the toolbar

Status Bar
Displays or hides the status bar

Control panel
Displays or hides the control panel

Help

Help Topics
Open the help window

Effect table
Open the help window with the effect list

Performance
Opens the performance dialog

About FamiTracker
Open the about famitracker dialog


 Key commands

General

Alt+F4 | Exit
Ctrl+N | Create new file
Ctrl+O | Open file
Ctrl+S | Save file
Ctrl+E | Export file
F1 | Help
F2 | Move focus to pattern editor
F3 | Move focus to frame editor
Return | Play song / stop
Shift+Return | Play pattern looped
Ctrl+Return | Play a single row
F5 | Play from start of song
F7 | Play from start of cursor
F8 | Stop playing
F2 - F9 | Select octave 0 - 7, if no other keys are configured.
F12 | Kill sound
Alt+F9 | Mute channel
Alt+F10 | Solo channel

Editing

Ctrl+X | Cut
Ctrl+C | Copy
Ctrl+V | Paste
Ctrl+B | Paste and overwrite
Ctrl+Z | Undo last action
Ctrl+Y | Redo last action
Del | Delete selection / selected row
Backspace | Delete the row above
Ctrl+G | Interpolate
Ctrl+R | Reverse
Ctrl+F1 | Transpose notes one step lower
Ctrl+F2 | Transpose notes one step higher
Ctrl+F3 | Transpose notes one octave lower
Ctrl+F4 | Transpose notes one octave higher
Space | Switch between edit / normal mode
Ctrl+Right | Go one frame forward
Ctrl+Left | Go one frame backward
Tab / Alt+Left | Go to to next channel
Shift+Tab / Alt+Right | Go to to previous channel
+ | Next pattern
- | Previous pattern
Numpad 0-9 | Select instrument 0 - 9
Alt+Numpad 0-9 | Set step size, 0 - 9
/ | Select previous octave
* | Select next octave
Ctrl+Up | Next instrument
Ctrl+Down | Previous instrument
Alt+I | Edit instrument

These are the default shortcuts, some are customizable from the configuration window.


 Module properties

The module properties is used to manage songs and select the expansion chip and vibrato style. It is found in the menu Module -> Module properties.

The song editor is used to manage multiple songs in a single module. The same instrument set will be used for all songs, and up to 64 songs are supported in a single file.

It is also possible to import FTM files as songs. Including instruments are optional: if you choose to then the new instruments and sequences will be added to the current project (it will not look for identical existing instruments). If you choose not then only pattern data will be included, this is used to combine multiple files where the same instrument set is used.

Expansion chip is used to enable expansion chips. Only one expansion chip can be activated at the moment.

As of version 0.3.5, a new vibrato style is available. The new style is bending both up and down, as opposed to down only with the old style. The new style is default for new songs and the old style will be default for files created with earler versions of famitracker. Here it's possible to change the style as you wish.


 NSF export

NSF (Nintendo Sound Format, invented by Kevin Horton) is a type of file used to represent NES music. To create NSF files, select Create NSF from the File menu to open the NSF export window. The song information box allows you to set song name, author and copyright, as present in NSFs. These are also the text field that are found in the main tracker window.

One optional setting is available: create PAL song, this will set the PAL flag in the exported file.

A few other formats beside NFS are also available:

  • NSF - Creates a NSF file.
  • NES - Encapsulates the NSF into a NES file that can be played in emulators or with carts like PowerPak.
  • BIN - Stores only the music data and DPCM samples in separate files, for use with the NSF source.
  • PRG - Creates a single 32 kB program file, ready to be used with a NROM-compatible cart for playback on NES hardware.

As of version 0.3.5, an export plugin system has been added that allows exporting to custom formats. More info about this is available on the web page.


 Configuration

This section explains the five categories in the configuration window.

1. General
2. Appearance
3. MIDI
4. Sound
5. Shortcuts

1. General

General settings
Wrap cursor | Cursor wraps when it has reached the end or beginning of the pattern.
Wrap across frames | The cursor in the pattern window can move across frames.
Free cursor edit | Unlocks the cursor from the middle row.
Preview wave files | Preview wave files when importing to DPCM.
Key repeat | Enable key repetition. The same setting as in the control panel.
Show row numbers in hex | Display row numbers in hexadecimal.
Preview next/previous frame | Preview the next and prevous frame in the pattern editor.
Don't reset DPCM on note stop | Don't reset the DPCM channel when stopping the channel. Can remove annoying popping sounds when editing.
Ignore step when moving | Ignore the step setting when moving the cursor, only use it when inserting notes.
Pattern colors | Display the pattern columns in different colors.
Delete-key will pull up rows | Delete key is pulling up rows.
Backup files | Creates backups when opening files

Track edit style
FastTracker II | Step down after inserting instrument / effect number
Modplug | Stays on the same line after inserting instrument / effect number
Impulse Tracker | Like impulse tracker

Keys
Note cut | Inserts a note cut command in the pattern editor
Clear field | Clears a pattern field (note, volume, instrument or effect)
Repeat | Repeats last action in the pattern editor
Note release | Inserts a note release command in the pattern editor

2. Appearance

These settings are used to configure the visual appearance of the pattern editor.

3. MIDI

Input device | Selects a MIDI input device to control the pattern editor.
Output device | Output commands to a MIDI device.
Master sync | Generates ticks.
Do not record key releases | Skip recording of key release commands.
Map MIDI to NES channels | Maps the MIDI channels to the tracker channels (MIDI channel 0 = square 1, channel 1 = square 2...)
Record velocities | Translate MIDI note velocities to a volume value.
Auto arpeggiate chords | Arpeggiate multiple keypresses.

4. Sound

Device | The DirectSound device for audio output
Sample rate | Audio sample rate. (Default: 44 100 Hz)
Sample size | Audio sample size. (Default 16 bits)
Buffer length | Audio buffer length. Keep as short as possible for lowest delay. (Default: 40 ms)
Bass filtering | Bass filtering
Treble filtering | Treble filtering
Volume | Output volume level.

5. Shortcuts

This section allows you to customize the key shortcuts in the program. Note that the menus will still display the default settings.


 Effect list

Effect | Description
0xy | Arpeggio, x = second note, y = third note
1xx | Pitch slide up, xx = speed (00 to disable)
2xx | Pitch slide down, xx = speed (00 to disable)
3xx | Automatic portamento, slides to new notes xx = speed (00 to disable)
4xy | Vibrato effect, x = speed (0 to disable), y = depth
7xy | Tremolo effect, x = speed (0 to disable), y = depth
Axy | Volume slide, A0x = slide down, Ax0 = slide up
Bxx | Jump to frame xx
Cxx | Halt, stopping the song (xx doesn't do anything)
Dxx | Skip to next frame and start at row xx
Exx | Volume setting. Obsolete, please use the volume colum instead.
Fxx | Speed/tempo, sets the speed when xx is between 00 - 19, and tempo when xx is between 20 - FF
Gxx | Note delay, delay before the current row is triggered, xx = frames to wait
Hxy | Hardware sweep up, triggers a hardware sweep up (only available for square) x = period (0 - 7), y = shift (1 - 7)
Ixy | Hardware sweep down, triggers a hardware sweep down (only avaliable for square), x = period (0 - 7), y = shift (1 - 7)
Pxx | Fine pitch, fine pitch offset setting, xx = offset (80 is default)
Qxy | Note slide up, x = speed, y = number of notes
Rxy | Note slide down, x = speed, y = number of notes
Sxx | Delayed note cut. Cuts note after xx number of frames.
Vxx | Square duty / noise mode, sets the square duty and noise mode setting, xx = 00 - 03 for square and 00 - 01 for noise
Xxx | DPCM retrigger, xx = length in frames between retrigger.
Yxx | DPCM sample offset, each step adds 64 bytes
Zxx | DPCM delta counter, changes the delta counter directly (through a write to $4011), affects volume of noise and triangle. xx is between 00 - 80


 Importing DPCM samples

It is possible to import wave files (PCM) and convert them to 1-bit DPCM samples. The format of PCM-samples must be raw PCM, no compressed formats are supported. Sample rate and sample size doesn't matter. Choose import in the DPCM instruments dialog, select a file and a new dialog will come up where you choose quality and volume.

Quality - This is related to the pitch setting in the DPCM instrument editor, use the same to play the sample at original pitch. Quality of 15 will give best result, but samples can only be a little less then one second.

Volume - Sets the conversion volume level, a higher level helps removing noise.

Max size of DPCM samples are 4 kB, at quality 15 (33 kHz) it's a little less than one second and lowest quality (4 kHz) about eight seconds.


 DPCM sample editor

There is a DPCM sample editor available from the 2A03 instrument editor , it's mainly intended for removing silent parts from end of the sample. Other types of edits should be done before the sample is converted to DPCM.

Delete - Removes a part of the sample, select the part you wish to remove and press delete. This works best on the beginning and end of a sample; if you need to remove something in the middle then it's usually better to do this on the sample before you convert it to DPCM.

Tilt - Inserts zero-value samples inside a selected area, causing the sample to tilt toward zero. The idea is to restore the delta counter back to zero when the sample is finished, in order to restore volume for the triangle and noise channels

Start from 64 - Draws the sample with an initial value of 64, to center the start of the wave. This is another way to keep the triangle and noise volume consistent, make sure all samples starts and ends at 64. The sample itself is not affected by this option, the equal operation in the tracker is to use the effect Z40 when playing the sample.

There is also controls to preview the sample at different rates and start positions. The offset value tells the starting position (as used by the DPCM channel), this value can be used with the Yxx command. The pos value is the position in size units as used by the DPCM unit.


 Sound hardware

Overview

The programmable sound generator found inside the NES and Famicom is located inside the CPU chip (called 2A03 for NTSC and 2A07 for PAL).

  • The 2A03/2A07 sound is explained on this page

External sound hardware

The Famicom had the possibillity to mix audio from cartridges, this was used by some games to add extra sound channels from chips in cartridges. Some of these chips are supported by famitracker and is enabled from the module properties dialog. Multiple expansion chips enabled at the same time is at this moment not supported.

To create instruments for these channels, select the channel with the pattern cursor and then add new instrument.

The following sections explains the hardware and instruments:

  • Nintendo MMC5
  • Konami VRC6
  • Konami VRC7
  • Nintendo FDS

Two chips are still unsupported: Namco N106 and Sunsoft 5B.

Note: External sound was not possible on the NES hardware, so songs containing external sound are not strictly NES sound. Also do not try to use expansion chips in PAL mode.


 2A03/2A07 internal channels

About

This is the sound generator found inside the NES CPU. The NTSC version (america/japan) was called 2A03 and the PAL version (europe) was called 2A07. The difference between the chips is that NTSC version runs at 1.79 MHz and 60 FPS while PAL runs at 1.66 MHz and 50 FPS. The NSF format allows any frame rate, so it is customizable from the Tracker menu.

There are five channels available: two square waves, one triangle wave, one noise generator and one digital sample (DPCM) channel.

Square 1 and 2

Produces pulse waves with four duty settings (12.5%, 25%, 50% and 25% inverted). These channels have a hardware sweep unit that can be accessed by H and I effects.

Note: There is a bug that resets the duty phase when switching between certain frequencies, this can be heard as a pop and might be noticable when using vibrato or pitch slides across those frequencies.

Triangle

Triangle shaped waveform. There is no volume control for this channel, so it will always be either on or off. The triangle cycle period is twice as long as for square channels so triangle notes will be one octave lower than square notes.

Noise

White noise generator. Can produce 32k-bit and 93-bit sequences, selectable from the instruments duty/noise setting. There are only 16 different pitches available, so a pitch value instead of notes & octaves is displayed.

DPCM (Delta PCM)

Used to play delta modulated samples. Channel effects (volume, arpeggio & pitch slides) does not work on this channel. The volume column has no effect on this channel.

Note: Due to the way the sound is mixed in the hardware, the volume level of triangle and noise channels will be affected by the DPCM channel. More info is available on the bottom of this page.

Instruments

The 2A03 instruments contains a combination of parameters for the waveform channels and a set of samples for the DPCM channel. Press ESC to close the instrument editor.

2A03 settings

This part of the instrument is only used by the wave channels of 2A03 (square, triangle and noise). The idea is based on the MML style, where a set of sequences are used to program the channels. A sequence is a list of values that are applied to the channel at the same rate as the frame rate, shown in the main window. Default for NTSC is 60 FPS and PAL is 50 FPS. As shown in the example, 30 items takes 500 ms to run when using 60 FPS.

These effects are available (none applies to the DPCM channel)

Volume | Channel amplitude. is not possible to change triangle volume, but a zero will disable the channel and non-zero will enable it. Range: 0 to 15 (volume units)
Arpeggio | Used for note-shifting, commonly used to simulate chords. Range: -79 to +79 (notes)
Pitch bend & High-speed pitch bend | Affects the pitch, Hi-pitch multiplies the value by 16. Range: -127 to 126 (pitch units)
Duty cycle / noise mode | Sets the duty cycle period and noise mode. Square: 0 = 12.5%, 1 = 25%, 2 = 50%, 3 = 75% (pulse width) Noise: 0 = 32k-bit mode, 1 = 93-bit mode Triangle channel is unaffected.

Sequences are defined in the graphical sequence editor, where you can draw with the mouse (right-click to draw lines) or directly edit the values in the text box. Left click the bottom part to set a loop point and right click to set a release point.

A loop point causes the sequence to loop and a release points will hold the sequence until a release command. The loop point is defined as a '|' and release point as '/' in the text string.

DPCM samples

This tab is used to assign samples for the DPCM channel, it does not affect the wave channels. Assigned samples are samples assigned in the selected instrument while loaded samples are global for all instruments.

Load: load samples from files. The format must be 1-bit delta PCM and max size can be 4081 bytes.

Unload: Remove selected sample.

Save: Saves selected sample to a file.

Import: Load and convert PCM files to delta PCM. See more info about importing PCM.

Edit: Opens a DPCM editor, read about it here.

Preview: Plays the sample.

The available space for DPCM samples is 16 kB. Select a key in "Assigned samples"-box and select the sample from the drop-down box below (or right click in the list). The pitch box sets the pitch for the sample (15 - 0). The "<-"-button can also be used to assign samples, and "->"-button to remove assigned samples. Loop is used to loop the sample from beginning.

The pitch setting translates to a frequency according to the following table:

0 | 4181.71 Hz
1 | 4709.93 Hz
2 | 5264.04 Hz
3 | 5593.04 Hz
4 | 6257.95 Hz
5 | 7046.35 Hz
6 | 7919.35 Hz
7 | 8363.42 Hz
8 | 9419.86 Hz
9 | 11,186.08 Hz
10 | 12,604.03 Hz
11 | 13,982.60 Hz
12 | 16,884.65 Hz
13 | 21,306.82 Hz
14 | 24,857.95 Hz
15 | 33,143.94 Hz

Note: Playing a DPCM sample may decrease the volume level of triangle and noise. If full volume isn't regained after a sample is finished, use a note stop or the Z-effect in the DPCM channel to restore it. You can check the Tracker/Display DPCM state menu item to display the current value of the DPCM delta counter, a high value results in lower volume output.


 Nintendo MMC5

About

The MMC5 contains two square wave channels that are identical to the internal square channels, except that the two hardware sweep units are missing. It was used in the game Just Breed by Enix.

Check 2A03 for more details about the square channels.

Instruments

The instruments used by MMC5 are shared with 2A03. See 2A03 instruments.


 Nintendo FDS

About

This is a single channel chip used in the Famicom Disk System hardware by Nintendo. It was an external disk drive unit available for Famicom, games was distributed on disks instead of carts.

The channel uses a 64-step customizable waveform and has a simple frequency modulator.

Instruments

The instrument editor allows to edit the custom waveform, either with the mouse or by changing the Wave-textbox. Four default waveforms are available: sine, triangle, square and sawtooth.

The rest of the controls belongs to the frequency modulator: rate (0 - 4095), depth (0 - 63) and delay (0 - 255) after a note is triggered can be set. (This is copied straight from MCK). The big box is the modulation table, where each box tells how much to add or subtract from the frequency. Each value is used twice by the modulator unit, and the frequency is automatically reset each time end is reached. Yellow = 0, green above = +1, +2, +5, green below = -1, -2, -4 and blue is reset to initial frequency.

There is also a tab with envelopes for volume, arpeggio & pitch.


 Konami VRC6

About

The VRC6 chip has two square wave channels and one sawtooth wave channel. This chip was used in games as Akumajou Densetsu and Madara by Konami.

Square 1 and 2

Produces pulse waves like the internal channels, but have eight different duty settings and lacks hardware sweep. They can also go deeper in frequency.

Sawtooth

Generates a sawtooth wave. This channel has no duty functionalty but still uses that instrument setting to calculate the volume since the volume register is larger than 4 bits (0 - 15), one bit from the duty setting is used to form a 5-bit volume value. A volume level too high causes the wave to wrap around and will sound distorted (happens when duty = 1 and volume > 5), so the useful volume range is usually 0 - 15 anyway.

Instruments

Instruments are specific for VRC6 but behaves much like those for 2A03, except that 8 duty levels are available and no DPCM tab.

See 2A03 instruments for more information.


 Konami VRC7

About

The VRC7 chip contains a customized OPLL (YM2413) unit that has 6 channels for frequency modulation synthesis (FM sound). This chip was used in Lagrange Point by Konami.

It has 15 predefined patches and one user defined patch, the predefined patches are customized for VRC7 and not the default OPLL ones. The chip is also limited to only one user defined patch, so it's not possible to use different user defined patches in different channels at the same time! Please see documents about YM2413 or documents about FM in general if you need more information.

Note release can be used on these channels, it will enable the sustain flag.

Instruments

The instrument editor allows use of one of the predefined patches or the custom patch. The predefined patches are defined in hardware and cannot be changed.

The custom patch settings are enabled when patch 0 is selected and are used to customize the modulator and carrier oscillators.

Attack, Decay, Sustain, Release | ADSR envelope for the volume level. (0 - 15)
Amplitude modulation | Applies a fixed tremolo effect at 3.7 Hz (on/off)
Vibrato | Applies a fixed vibrato effect at 6.4 Hz (on/off)
Sustained | Switch between sustained and percussive tone (on/off)
RATE key scale | Increases the ADSR rate for higher pitches (on/off)
Key Scale Level | The attenuation level for RATE, according to table 1 (0 - 3)
Wave rectification | Half wave rectification of the sine wave (on/off)
Multiplication factor | Multiplies the frequency with a factor, according to table 2 (0 - 15)
Feedback | Modulator feedback (0 - 7)
Modulator Level | The mixing level of the modulator wave into the carrier wave (0 - 31)

Key Scale Level table

0 | 0 dB/oct
1 | 1.5 dB/oct
2 | 3 dB/oct
3 | 6 dB/oct
Table 1

Multiplication factor table

0 | ½
1 | 1
2 | 2
3 | 3
4 | 4
5 | 5
6 | 6
7 | 7
8 | 8
9 | 9
10 | 10
11 | 10
12 | 12
13 | 12
14 | 15
15 | 15
Table 2


 Change log

Version 0.3.6

  • Added support for module importing
  • Added a shortcut option to show/hide control panel (in settings/shortcuts)
  • Added alt+left/right to move to left/right channel
  • Added block begin/end commands (Alt+B/E, available in IT-mode)
  • Exporter plugin code updated
  • Fixed a problem when loading multiple FTI files with DPCM samples
  • Fixed a problem that occured when using undo on patterns with Dxx/Bxx effects
  • Fixed VRC7 sweeps, auto portamento & fine pitch setting
  • Adjusted VRC7 mixing volume after hardware measurements
  • Changed the VRC7 built-in patch settings to a more accurate set
  • Fixed auto-arpeggio issue in the tracker
  • Fixed the problem that caused release points to sometimes disappear in saved files
  • Fixed some synchronization issues that could cause a crash when switching expansion chip sound
  • Fixed some DPCM editor crash bugs
  • Fixed a bug that crashed the program when loading files with FDS instruments and FDS expansion disabled
  • Fixed a bug that crashed the program when repeatedly pressing F12
  • Fixed Sxx effect in exported files
  • Fixed Rxx effect issue on exported files
  • Fixed Vxx effect inconsistency when exporting NSFs
  • Fixed Qxx/Rxx effect behvaiour on FDS in tracker
  • Fixed Rxx/Qxx effect when triggering a new note before the slide is done in exported files
  • Fixed a bug in the Yxx-effect when exporting to NSF
  • Corrected the tremolo effect on FDS
  • Inverted the Pxx command in the FDS channel
  • Fixed FDS pitch clipping in exported files
  • Disabled FDS hardware envelope trigger for note offs when exporting to NSF
  • Fixed a crash bug when inserting/removing frames when max count is used
  • Fixed a crash bug that occurred sometimes when using select-all in a channel with all effect columns enabled
  • Mixed paste does not overwrite non-empty rows anymore
  • Note cut/release works on IT-mode when previewing notes
  • Fixed a crash bug when inputting MIDI data on an invalid channel
  • Fixed VRC6 sequence bug when triggering the release part
  • Fixed a bug where DPCM would fail in exported NSFs after removing instruments
  • Fixed a crash bug when using a custom refresh rate with expansion chips

Version 0.3.5

  • Delete key deleted two rows on the bottom row, fixed
  • Entering an instrument column number moves to that instrument
  • Fixed a bug that caused files with 64 instruments to not load
  • Fixed export bug where instruments with empty sequences caused the file to not work
  • New effect Sxx, cut note after xx frames
  • New effect Xxx, DPCM retrigger, xx = delay in frames
  • Added a feature to remove unused instruments & patterns
  • Load/save instrument & DPCM paths bug on Windows Vista & 7 fixed
  • Beeps on Alt+[key] removed
  • Redraws screen on row highlight change
  • Fixed pattern display when frame preview is disabled
  • Fixed the tracker/nsf inconcistency when note delay and speed change was used on the same row
  • DPCM file preview added
  • CTRL+click in frame editor to queue next frame when playing
  • Added VRC7 & FDS expansion chips
  • Copy & paste in frame editor. Ctrl+C to copy a row and Ctrl+V to paste
  • Added note release command. Release-part of sequences are defined by a '/' in the sequence string.
  • Shortcut editor supports combinations of ctrl+alt+shift
  • Added a new vibrato mode that bends both up and down, old mode is still available as an option
  • Fixed a bug that caused corruption when using undo after pattern size change
  • Export plugin support is added
  • New commands in the shortcut editor:
    play song from start (F5)
    play and repeat pattern (F6)
    play from cursor (F7)
    stop (F8)
    move to pattern (F2) / frame editor (F3)
    replace instrument (Alt+S)
  • Frame (order) window now has an edit mode, double click to activate it. Keys:
    0-F: selects a pattern
    Ctrl+Up/Down: moves selected frame up/down
    Insert/Delete: inserts and deletes frames
    Ctrl+C: copy current frame, Ctrl+V: paste frame into selected frame

Version 0.3.0

  • MMC5 expansion sound support
  • Improved pattern editor (possible to select multiple channels, drag'n'drop, control+drag = copy, shift+drag = mix)
  • Ctrl+wheel = Transpose selected notes
  • Shift+wheel = Increase/decrease instrument, volume and effect values
  • Scroll lock = Toggle follow mode
  • Control+D = Duplicate frame
  • It's possible to edit directly in the frame editor by double clicking
  • Customizable keys for note cut, repeat and clear field
  • Added second highlight
  • Added a repeat action key
  • Added a second highlight option
  • Fixed a bug with the tremolo effect

Version 0.2.9

  • New effects Q, R (pitch slide), A (volume slide) A (volume slide)
  • Fixed a tempo bug in the tracker
  • VRC6 support added
  • Improved the song editor
  • Added options to disable follow mode when playing and customizable row highlighting
  • Added clear patterns command
  • Wave file export
  • Added .NES file exporting
  • Improved hardware sweep commands in the tracker again (accurate NSF player is needed to get those right)
  • Fixed a bug where NSFs would fail if there was deleted instruments in the file
  • Fixed a problem with NSF bankswitching
  • Fixed some problems with note delay command in tracker and NSF

Version 0.2.7

  • New NSF code, creates smaller NSF files (and use less 6502 CPU).
  • NSF bank switching is used automatically when needed.
  • New pattern effects: V, square duty setting/noise mode; Y, DPCM sample offset
  • Settings edit boxes are locked from editing, double click to unlock.
  • Fixed some bugs in the instrument editor to avoid crashes.
  • Added modplug keyboard style when the modplug setting is enabled.
  • Optimized screen updates, the tracker should use less CPU.
  • Currently selected instrument is highlighted in the list box.
  • Added an option to mask the instrument when inserting new notes.
  • Added a tempo box to the song settings.
  • Added multiple-tap-of-home-key functionality.
  • Added an option to select the instrument currently being played by the selected channel.
  • Fixed mixed pasting, instruments is now also pasted.
  • Fixed the instrument sequence too long crash bug.
  • Added buttons for next/prev song in the toolbar.
  • Auto-arpeggio works for PC keyboard input.
  • The commands speed, jump, skip and halt are now handled from muted channels.
  • Notes won't be retriggered when pushing two buttons at the same time and then releasing one.
  • Added a shortcut editor to the option dialog, note that the default shortcuts will still be shown in menus.
  • Page up/down jump lenght is customizable from configuration.
  • Impulse tracker edit option added.
  • The cursor will move with the same length as step length when moving it.
  • Fixed a bug that occured when moving the cursor when multiple effect tracks are visible.
  • Changed the pith sequence interpreter.
  • Volume of channels will be rounded of to 1 instead of 0.
  • DPCM delay works in the tracker.
  • Fixed a problem that caused 8-bit wave files to fail when imported to DPCM.
  • Fixed the crash problem when using samples too long.
  • Added a value gradients option for the volume column.
  • Paste works when edit mode is off.
  • Changed the noise channel to display frequencies instead of useless notes.
  • Square hardware sweep is adjusted.
  • Scrolling with the mouse wheel in free cursor mode will scroll the view and not cursor
  • New keys
    Numpad 0 - 9 = Select instrument 0 - 9
    Ctrl + Numpad = Set step size
    Alt + F9 = Mute channel
    Alt + F10 = Solo channel
    Numpad / = Decrease octave
    Numpad * = Increase octave
    Ctrl + up = Next instrument
    Ctrl + Down = Previous instrument
    Alt + T = Mask instrument column