I wanted to create a main post somewhere on the internet that collects all audio tools available & designed to make music using NES console.
I got idea for it after I discovered that nes-audio com site belonging to Neil Baldwin, genius who created trackers on NES dissapeared couple weeks ago, and even genius himself went absolutely offline. NES audio homebrew is criminally underappreciated compared to LSDJ, and undershadowed by trackers available on modern platforms. My goal is to to change that, starting here!
Here you will find: [if not right now, then soon!]
-List of available audio tools;
-advantages of each;
-efficient workflow for each;
-tips and tricks to get you started;
-list of their bugs to watch out for;
-links to download NES trackers/emulators;
-NES audio quirks/tips&tricks/problems;
also:
-brief info regarding Special Hardware for NES to make music;
-software tools to aid the homebrew;
-links to software on modern devices (without going into detail);
-SPECIAL WANTED LIST!
-----[NES AUDIO TOOLS]-----
-----NTRQ-----
This is FIRST native NES tracker! runs on any emulator, and despite looking simplistic/archaic, it's very advanced!
I'm planning to take care of manual and bring out the information like controls/commands to the user in much more accesible/quicker way (+ maybe some examples?) + will post Plus Neil Baldwin's tutorials from his blog!
for sure 1st thing I recommend you to do is go to options and enable ALT NOTE ENTRY so changing notes/octaves will function same like LSDJ/Pulsar
-----Pulsar*-----
Basically LSDJ on NES! I could say it's THE most advanced audio-tool homebrew available on NES thanks to it's automation/groove tables, and high refresh rate! Thankfully manual is quite accesible and easy to read/learn from!
› Quick dirty guide of differences going from LSDJ to Pulsar
‹ Quick dirty guide of differences going from LSDJ to Pulsar
-CHECK THE MANUAL ANYWAY!
-No Live mode
-B to move between pages instead of SELECT
-Warp zone navigation, LEFT/RIGHT limited/different functionality
-you copy entire pattern(no precise selection) and paste it from cursor position and below, does not overlap the top so everything above is safe
-32 different envelopes, E command takes you to selected one instead of actually being an envelope (looks like ADSR vs multifuncion of LSDJ's AD)
-Some values like Retrig or envelope numbers are reversed (FF is fastest on Pulsar)
-DPCM is very different from WAVE channel
-1st instrument advice: apply gate!
-----cajoNES-----
It's more of an performance tool rather than tracker to compose regular piece of music. It has randomiser, high modulation rate and quick save/load making it very playable it's relatively easy to grasp!
-----PR8*-----
It's "drum-machine-style synth", sports interesting non-tracker-like design enabling the user to create multi-channel instruments and play live with ease! Compared to Elektron synthesizers like Octatrack for it's automation possibilities, it's extremely powerful tool to create complete tracks!
› WORKFLOW ADVICE:
‹ WORKFLOW ADVICE:
[DISCLAIMER: THIS GUIDE IS NOT MANUAL REPLACEMENT]
(please take time to read it, especially CONTROLS and QUICK START!)
-----3 first things you need to know:
*(SMALL BUG+EASY FIX) PR8 is tuned for PAL mode, so if you're using NTSC, set OSC-C value to FF for channel A,B and C (Noise keeps it's shape across regions though!)
*KEEP PHRASE 0 EMPTY! It's necessary for pattern cloning;
*PR8 SAVES ALL THE TIME! All changes you make are permanent, there's no undo!
-----PR8 priorities
Changing Phrase, Pattern(and values next to it) or Instrument will affect NEXT loop
Changing instrument parameters or triggers will happen INSTANTLY
Tracks at the bottom have PRIORITY over ones above (e.g. you have 2 tracks that use noise channel, so as long as bottom one is playing, the one above will not)
-----Unique advantages
--I feel that PR8 tries to encourage the user to add and remove notes from the phrases as you play, or even shifting the phrase left or right, playing with the sequence in the pattern - Though because of constant saving happening all the time, the user might not notice it.
There are 2 ways to work around that:
1.If you copy phrase, then you can modify it freely, and when finished, paste over original phrase! (Phrase is transferred to separate buffer, you keep it until you copy something else, or reset the console)
2.Create copy of the phrase and keep it in the pattern on track without instrument on it, so you can copy notes from it, or paste entire phrase when needed!
-----Organization of patterns
PR8's style of jamming also relies on changing between patterns. Usually you have NO MORE than 3 seconds (even that's generous!) to change pattern to next one. PR8 waits until current playing pattern finishes before playing new one.
Therefore I HIGHLY recommend careful choosing your next patterns. Look at the following pattern map:
.. .. .. .. .. ..
40 41 42 43 44 45 ..
30 31 32 33 34 35 ..
20 21 22 23 24 25 ..
10 11 12 13 14 15 ..
00 01 02 03 04 05 ..
If you're playing pattern 22, the quickest patterns to access are 23, 32, 21, 12
Try not to organize patterns in one line (e.g. 00->01->02->03) otherwise going back to first pattern will take you much longer.
Using something like 00->10->11->01 lets you repeat section while still allowing access to other patterns.
[Following the advice above, actually start your first song in pattern10 or 11, that gives you the most freedom of pattern selection.]
-----Space management
You have at your disposal:
8 song 256 bars each;
256 patterns containing COMBINATION of:
6 instruments (out of 128 possible), and
6 phrases (out of 192 possible, 191 if left out phrase00).
I used word "Combination", because PR8 allows you to use ANY phrase on ANY instrument.
NOTE: unlike LSDJ/Pulsar, PR8 keeps all patterns, instruments and phrases shared across your .sav file!
[note: you can leave phrase on silent instrument to aid you to copy notes]
Still, most probably you will run out of different phrases first!
To prevent that from happening:
-Make sure to delete any needless patterns (or they may get lost between used ones);
-If want to use same note placement, consider using new instrument;
BUGS/QUIRKS:
-PR8's lowest available note is A-1. Trying to go octave down beyond A-1 will result the next note being glitched. Nothing dangerous! Just copy functioning note or simply restart to regain normal note back!
-CRITICAL BUG: Same procedure like above, but with phrase number in the pattern: Going octave down from 0E and copying the new value onto other track will CRASH PR8, and trying to access that pattern will RESULT IN CRASH
solution: be aware of it and don't do it.
(I have plan to document how to edit SAV file by hex editor, this should be able to fix your patterns!)
-NOISE(D) shape is NOT affected by Note number, use that to your advantage!
-Combo using SELECT button done to quickly can (un)mute your track/channel (just slow down a bit haha)
-Retrig speed is not defendant on pattern speed!
-Echo during certain pattern tempos cannot be heard (as it layers perfectly with pre-echoed song)
-If speed parameter doesn't suit you, consider different region of emulation
› PR8 Speed Guide by Neil Baldwin:
‹ PR8 Speed Guide by Neil Baldwin:
PR8: Speed = Tempo
Following a question from a PR8 user, here’s a formula that you can use to calculate the BPM in PR8 based on the SPEED setting:
TEMPO = 60 / ((SPEED + 2) * 4) * 120 [NOTE: IT'S FOR NTSC TIMING!]
For the maths-averse, here’s a handy table:
PR8 BPM
01 600.00
02 450.00
03 360.00
04 300.00
05 257.14
06 225.00
07 200.00
08 180.00
09 163.64
0A 150.00
0B 138.46
0C 128.57
0D 120.00
0E 112.50
0F 105.88
10 100.00
11 94.74
12 90.00
13 85.71
14 81.82
15 78.26
16 75.00
17 72.00
18 69.23
19 66.67
1A 64.29
1B 62.07
1C 60.00
1D 58.06
1E 56.25
It won’t cover all eventualities because the calculation is based on 4/4 with 16 steps in a Pattern but it should be useful in most cases.
Neil
› {Advanced}Editing the appearance:
‹ {Advanced}Editing the appearance:
PR8 by default does not offer much customization in terms of colours and looks. Time to change that!
--To change tiles on the screen:
Mesen or Nintendulator and take a look at their included PPU viewer
Looking at the CHR viewer you'll notice that all all characters have Tile Index.
Boot up your favorite hex editor. 90% of the screen is editable from here!
Screen layout starts at 14B45, and every row on screen is 32 tiles, so resize your editor if possible for ease of use;
Replace values of tiles accordingly to your taste!
Last tile on the screen is located at 14F04.
--To change .pal file
This way you can achieve top colour customisation, but it might destroy visual compatibility with other software!
I recommend Nestopia. In video settings you should find palette editor. Code block below represents colours used by PR8:
00 XX XX XX XX XX XX 07 XX XX XX XX XX XX XX 0F
10 11 XX XX XX 15 16 XX XX XX XX XX XX XX XX XX
XX 21 XX XX XX XX 26 27 XX 29 2A XX XX XX XX XX
30 XX XX XX XX XX 36 XX XX XX XX XX XX XX XX XX
less obvious ones are:
Flashing cursor = 0F->16->26->36->30;
Cursor when holding A or B = 26;
grid cursor indicating edited step = 29;
Instrument buttons = 27,15;
Regarding greens: step indicator = 2A, rest is 29;
Regarding blues: 11 is used by blue (ghost) arrow as an outline;
You can safely ignore rest of the colours, as they are not used with PR8.
-----SMMM-----
Super Magic Music Maker is an semi-interactive random music generator. You won't be able to compose music on it due to it's generative nature - it will produce itself! Simple controls allow interacting with the scales and sequence, and there are also visuals!
-----Chippy-----
Chippy is very simple piano-roll sequencer and easy to understand instrument design! And has a cat!
I see it as perfect introduction to NES audio for beginners, as it teaches basics like hexademical system (volume goes from 0 to F, and even sequencer starts from 00 rather than 1) also if played from the middle, it plays with default speed rather than the different one we set on start of our composition, teaching user to not forget commands!
(Also small tip: if you want to have swing, exchange 2 close to each other BPM commands every step!)
Instructions are included on same forum where download link is!
-----Plogue Livenes-----
Made as test tool to help understand 2A03 chip, but may be as well used as drone machine!
There are 3 versions available: 2A03 only, 2A03+VRC6 and 2A03+FDS!
Also teaches you how audio chip functions!
Playing around is highly advised!
› How to use & Quickstart
‹ How to use & Quickstart
DPAD to move cursor around
A to enable/disable parameters
Start to reset everything
(VRC6 and FDS) Select to change pages
Pulse1/2 needs V+T+L(bottom) to generate sound
Triangle needs R+T+L to generate sound
Noise needs V to generate sound
DMC needs L(top) and enabled D in "Control" to generate sound. (This one is tricky channel, if sometimes gets silent until we turn it on and off in "Control")
Additional notes
-Addresses (blue 4digits) can be looked up on https://wiki.nesdev.com for more details
-Turning off channels in "Control" will not turn them on unless we play with L(bottom) of channels
-DMC with it's 4011 address shows PERFECTLY how much Triangle/Noise drops volume (and how hard it is to control it)
-Swiping Pulse channels(E and S) will make it fade away, need to retrigger the channel to play again
-----droNES-----
droNES turns NES into a drone/noise box by implementing (very) crude frequency modulation (FM) and amplitude modulation (AM) to 3 of the NES's hardware voice: the two square-wave voices and the noise. Geared more towards live experimentation and exploration, able to satisfy any harsh noise fascinate!
----------
*This homebrew needs special emulator supporting NES 2.0 (it's special expanded cardridge type) to function properly.
Rest should work on all standard NES emulators!
-----[COMMERCIAL]-----
---Ikinari Musician(JP, 1987):
Very accessible live jamming app, where you move little blob/cursor on the keyboard within selected scale!
It's extremely fun and playable! This would be first app I'd recommend for young Chiptuners, but I believe anyone will have fun with it!
Also has MULTIPLAYER! (though only one can play at once, interrupting doesn't feel frustrating!)
it has many fun "cheats" that change graphics or slow down the beat, and to make it all beautiful, you can record your jamming live!
[note: recording is still ON until the end-of-song jingle finishes!]
[Looking for proper manual for it to make proper description!]
---Dezaemon(JP, 1991):
music-sheet based sequencer controllable with dpad cursor;
12 bar per song (max 6 songs);
24 different pulse channel instruments;
5 DPCM samples available (kick, snare and 3 toms);
32 different tempo speeds to choose (most of it is in range 20-300, also has 450 & 900!);
-----[DOWNLOADS]-----
https://woolyss.com/chipmusic-chiptrack
s=Nintendo (for NTRQ, PR8, cajoNES, Pulsar)
https://github.com/plgDavid/livenes (for Proque Livenes 2A03, VRC6, FDS)
https://forums.nesdev.com/viewtopic.php
mp;t=17445 (for Chippy)
I just started asking sites to host Neil Baldwin's tools, will provide more links to each as they appear!
Here's the package including all Neil Baldwin's tools + PocketNES package
>DOWNLOAD HERE<
Otherwise files from nes audio com should be still reachable by Internet Wayback Machine!
=====POCKETNES FOR PR8 & PULSAR=====
Produced by Dwedit in 2016, this version is able to run NES 2.0 homebrew!
It's quite stable and works well on the actual hardware
(Results on emulators may vary, but you're welcome to try!)
Package contains:
-Updated PocketNES + menumaker
-Original PR8 and Pulsar packages
-Premade .gba files for each one!!
>DOWNLOAD HERE<
› (todo:)
‹ (todo:)
-update PR8 saves so they have instrument filled up in every slot;
-include binaries for all NES homebrew;
-ask Dwedit to update his save manager to support this version
=====
-----*[NES 2.0 EMULATORS]----- (for ones with * by the name)
-Nintendulator (Win) https://www.qmtpro.com/~nes/nintendulator/
-Mesen (Win, Linux) https://www.mesen.ca/
-Nestopia (Win, Linux, MacOS) http://nestopia.sourceforge.net/
-FCEUX (Win, Unix) https://github.com/TASVideos/fceux/
--Info regarding NES 2.0: https://wiki.nesdev.com/w/index.php/NES_2.0
I will be contacting various emulator developers asking them to support this format!
And please, do so too! More emails = more motivation for developer!
-----[FLASHCARTS FOR NES 2.0]-----
PowerPak is supported - special file is included in both PR8 and Pulsar's archives!
NT Mini is supported (Source)
-----[USEFUL LINKS]-----
--DPCM pitched sample generator by TylerBarnes and nesdev thread with more info
--NES overclocking mods (Different speeds/pitches for trackers!) by LimitZer0
--WAV to DMC converter by Rushjet1
--Saw wave DPCM IRQ demo in NSF2 by Blargg & Brad Smith
--Triangle wave overtones by Tepples
--"The Compendium of Custom Refresh Rate Techniques in FamiTracker" by Aquellex
-----[HARDWARE NES MUSIC]-----
--FamiMidi: NES MIDI cardridge:
video of it in action: https://www.youtube.com/watch?v=5qE-WJzdd6k
available to buy here: https://catskullelectronics.com/famimimidi
--MidiNES: NES MIDI cardridge (not supported anymore)
-----software to make NES music on modern platforms-----
(WIN,WINE) j0CC Famitracker https://github.com/nyanpasu64/j0CC-FamiTracker
(WIN/MAC OS) Famistudio https://famistudio.org/
Last edited by INFU (Oct 10, 2020 7:49 pm)