-
Notifications
You must be signed in to change notification settings - Fork 110
Home
A FamiStudio project contains:
- A list of Songs
- A list of Instruments
- A list of DPCM samples
Songs are made of Patterns, which are on one of the five Channels supported by the NES. Patterns contain Notes which are played by an Instrument (DPCM samples do not require an instrument). Instruments may have some of their attributes (pitch, volume, arpeggio) modulated by Envelopes.
Most of the operations are performed with the mouse. In general:
- The left mouse button adds stuff, double-clicking something edits properties (songs, patterns, instruments, DPCM)
- The right mouse buttons removes stuff
- The middle mouse buttons (and wheel) pans and zoom
If you are working on a trackpad, all actions requiring the middle mouse buttons can be done with Alt+Left click.
The UI was designed to be a simple as possible, there are almost no context menus.
The main window has 4 main components:
- The Toolbar (on top)
- The Project Explorer (on the right) is where you add/remove/edit songs and instruments.
- The Sequencer (below the toolbar) is where you schedule your patterns on one of the 5 channels. It gives a high-level view of the song.
- The Piano Roll (below the sequencer) is where you edit your patterns.
At any given moment there is always:
- A selected channel, in bold in the sequencer
- A selected song, in bold in the project explorer song list
- A selected instrument, in bold in the project explorer instrument list.
The sequencer and piano roll will display the information for the currently selected song. The piano roll will play notes for the currently selected instrument, and output it on the currently selected channel.
The main toolbar contains your usual stuff: file operation, undo/redo, timecode and play control.
Besides the toolbar, space bar is used to play/pause the song. Ctrl-space plays in pattern loop mode, Shift-space plays in song loop mode.
There are 3 looping modes:
- Song: loops the entire song
- Pattern: loops at the end of the current pattern
- None: stops at the end of the song
Exporting to FamiTone2 works in the same way as the command line tools provided by Shiru (assuming I did not introduce bugs, which I probably have).
Some notes about the filenames when exporting:
- When exporting songs in non-seperate mode, you can specify the export filename.
- When exporting songs in separate mode, the export filename is generated according to a pattern specified.
- When DPCM samples are used, the .dmc file generated will have the name of the project file (with a .dmc extension).
The project explorer displays the list of songs and instruments in the current project.
Each instrument (except DPCM samples) has 4 buttons :
- The volume envelope
- The pitch envelope
- The arpeggio envelope
- The duty cycle, four possible settings (only useful for the Square channel).
If an instrument has no envelope for a particular type, it will appear dimmed.
You can add a song or instrument by pressing the "+" sign, and you can delete a song or instrument by right-clicking on it. Deleting an instrument will delete all notes used by that instrument. Note that there always needs to be at least one song in a project.
Double-clicking on a song or instrument will allow you to change its name, color and other attributes. Names must be unique.
Some song properties worth mentioning:
- Speed: How much the timer is increment each frame, values other than 150 might create uneven notes
- Tempo: How many frames to wait before advancing to the next note (at least when then tempo is 150)
- Pattern Length: Number of notes in a pattern
- Bar length: Will draw a thicker line in the piano roll at every bar. Must be a divider of the pattern length. Simply a visual aid, serves no real purpose
- Song length: The number of patterns in the song
Clicking on an instrument name and dragging it over another instrument will allow you to replace all notes of the first instrument by the second. This is useful prior to deleting an instrument.
Clicking on an envelope button will start editing it in the piano roll. The duty cycle button will cycle between the 4 possible settings: 12.5%, 25%, 50% and inverted 25% since FamiTone2 does not support duty cycle envelopes. For more info on how to edit or delete envelopes, please refer to the piano roll section.
Clicking on an envelope button and dragging it on another instrument will copy that envelope from the first to the second. Note that unlike FamiTracker, envelopes are not explicitly shared between instruments. Identical envelopes will be combined when exporting to FamiTone2, but it is your responsibility to optimize the content and ensure that you limit the number of unique envelopes.
The sequencer is where you organize the high-level structure of the song: which patterns play and when they play. The thumbnails of the patterns in the sequencer are by no mean accurate.
Clicking a pattern selects it and opens the piano roll for the current channel at the location of the pattern. Double-clicking a pattern allows renaming and changing its color (pattern names need to be unique per channel).
You can select multiple patterns (in a rectangular grid) by shift-clicking to a second pattern. To un-select everything, simply press Esc. When multiple patterns are selected, only the color can be edited.
You can add a new pattern by left-clicking on an empty space. Right-clicking deletes.
When one or multiple patterns are selected, dragging them will move them in the timeline. While dragging, holding Ctrl will copy a of the pattern(s). Note that when copying a pattern, it creates an instance of the same pattern, so modifying one instance will modify all of them.
Left-clicking on the icon of a channel (Square, triangle, noise, DPCM) will toggle mute. Right-clicking will toggle solo.
Clicking the tiny square icon next to the channel name will force display it in the piano roll. This is useful when harmonizing between multiple channels, or editing drum patterns.
The piano roll is where you editing the actual notes of the song, the instrument envelopes, as well as some special effects.
You can also use it to preview instrument by clicking on the keyboard. The currently selected instrument (in the project explorer) will play on the currently selected channel (in the sequencer).
Clicking a pattern in the sequencer will scroll the piano roll to its location. Left-clicking in the piano roll will add a note of the currently selected instrument. Right-clicking deletes a note.
Using Ctrl+click will add a stop note. Stops notes are displayed as little triangles. Although they are displayed next to the note preceding them, they actually have no pitch or instrument, they simply stop the sound.
Hovering the mouse in the piano roll will display the location and note in the toolbar. Hovering over a note will display which instrument it uses.
The effect panel can be opened by clicking the little triangle at the top-left of the piano roll. FamiTone2 only supports 3 effects:
- Jump: Jumps back to a previous pattern in the song. The effect value is the pattern index to jump to
- Skip: Skips to the next pattern, at the note specified by the effect value
- Speed: Changes the speed of the song
There also can only be 1 effect for each note. Left-clicking a note that does not currently have an effect will add the currently selected effect. Dragging up and down will change its value. Right-clicking removes the effect.
Clicking on an envelope icon in the project explorer will open the envelope of that instrument in the piano roll. The length of the envelope can be changed by left-clicking (and potentially dragging) in the timeline of the piano roll. The loop point of an envelope can be set by right-clicking in the timeline.
Setting the length of an envelope to zero will disable it.
Clicking on the little icon next to the DPCM samples in the project explorer will open the piano roll in DPCM edition mode.
Clicking anywhere on a note that does not have a DPCM sample associated will prompt you to open a .DMC file. No DMC edition tool is provided, you can use FamiTracker, RJDMC or any other tool. DPCM samples are assumed to have unique names and 2 samples with the same name will be assume to be the same. Double-clicking on an existing sample edits its pitch and toggle loop.