VRC7/YM2413/OPLL Custom Patches

Discuss NSF files, FamiTracker, MML tools, or anything else related to NES music.

Moderator: Moderators

Post Reply
User avatar
Ben Boldt
Posts: 585
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

VRC7/YM2413/OPLL Custom Patches

Post by Ben Boldt » Sun Sep 13, 2020 3:55 pm

I have been playing with some VRC7 stuff and just started poking at the custom patch. I know the built-in patches of the VRC7 and YM2413 from the siliconpr0n website:

VRC7:

Code: Select all

   | 00 01 02 03 04 05 06 07 | Name
---+-------------------------+----------------
 0 | -- -- -- -- -- -- -- -- | (Custom Patch)
 1 | 03 21 05 06 E8 81 42 27 | Buzzy Bell
 2 | 13 41 14 0D D8 F6 23 12 | Guitar
 3 | 11 11 08 08 FA B2 20 12 | Wurly
 4 | 31 61 0C 07 A8 64 61 27 | Flute
 5 | 32 21 1E 06 E1 76 01 28 | Clarinet
 6 | 02 01 06 00 A3 E2 F4 F4 | Synth
 7 | 21 61 1D 07 82 81 11 07 | Trumpet
 8 | 23 21 22 17 A2 72 01 17 | Organ
 9 | 35 11 25 00 40 73 72 01 | Bells
 A | B5 01 0F 0F A8 A5 51 02 | Vibes
 B | 17 C1 24 07 F8 F8 22 12 | Vibraphone
 C | 71 23 11 06 65 74 18 16 | Tutti
 D | 01 02 D3 05 C9 95 03 02 | Fretless
 E | 61 63 0C 00 94 C0 33 F6 | Synth Bass
 F | 21 72 0D 00 C1 D5 56 06 | Sweep
YM2413:

Code: Select all

   | 00 01 02 03 04 05 06 07 | Name
---+-------------------------+----------------
 0 | -- -- -- -- -- -- -- -- | (Custom Patch)
 1 | 71 61 1E 17 D0 78 00 17 | Violin
 2 | 13 41 1A 0D D8 F7 23 13 | Guitar
 3 | 13 01 99 00 F2 C4 11 23 | Piano
 4 | 31 61 0E 07 A8 64 70 27 | Flute
 5 | 32 21 1E 06 E0 76 00 28 | Clarinet
 6 | 31 22 16 05 E0 71 00 18 | Oboe
 7 | 21 61 1D 07 82 81 10 07 | Trumpet
 8 | 23 21 2D 14 A2 72 00 07 | Organ
 9 | 61 61 1B 06 64 65 10 17 | Horn
 A | 41 61 0B 18 85 F7 71 07 | Synthesizer
 B | 13 01 83 11 FA E4 10 04 | Harpsichord
 C | 17 C1 24 07 F8 F8 22 12 | Vibraphone (same)
 D | 61 50 0C 05 C2 F5 20 42 | Synthesizer Bass
 E | 01 01 55 03 C9 95 03 02 | Acoustic Bass
 F | 61 41 89 03 F1 E4 40 13 | Electric Guitar
I am wondering if other pre-made patches are available anywhere. Yamaha made pianos with lots of built-in patches, I actually had a PSS-140 as a kid which would contain 100 various YM2413 patches. Has anyone gotten the patches from such a keyboard?

The problem I have is that there are so many settings, I think it will be difficult to create the sounds I want without lots of starting points to pick from.

Maybe a different approach: How about an NES test ROM that lets you tweak the settings -- has anyone created anything like that?

User avatar
rainwarrior
Posts: 7836
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: VRC7/YM2413/OPLL Custom Patches

Post by rainwarrior » Sun Sep 13, 2020 4:04 pm

Ben Boldt wrote:
Sun Sep 13, 2020 3:55 pm
Maybe a different approach: How about an NES test ROM that lets you tweak the settings -- has anyone created anything like that?
CopyNES has a "VRC7 tuner" utility that will let you play with the custom VRC7 patch with a live Lagrange Point cart in your NES, which is what was used to work on the by-ear attempts to duplicate the built-in set.

Though if you don't care about doing it on the original hardware, you could just use Famitracker to edit and audition custom patches. It also lets you copy from the existing built-ins to use as a starting point. Once you have a set you like, you could put those into an OPLL emulator I guess? (e.g. rebuild Famitracker with the new patch set.)

OPLL is also a subset of OPL2. If you know which settings to avoid changing in the patch, you could audition whatever you were hoping to do using an OPL2 or emulator (e.g. trackers for Adlib etc.).

lidnariq
Posts: 9659
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: VRC7/YM2413/OPLL Custom Patches

Post by lidnariq » Sun Sep 13, 2020 5:31 pm

Schism tracker, Adlib Tracker 2, (or Screamtracker 3 in DOSBOX) support editing OPL2 patches.

Alsa includes a library of General MIDI OPL2 patches in alsa-tools. ("std.sb")

The only difference that I remember between the single custom patch in OPLL and OPL2 is the reduced library of waveshapes. (OPLL only supports "sine◜◝◟◞" and "half-wave-rectified sine◜◝--"; OPL2 additionally supports "full-wave-rectified-sine◜◝◜◝" and "◜-◜-"). I transcribed an OPL2 tune by Skaven to Famitracker and I thought it was a pretty close match.

User avatar
Ben Boldt
Posts: 585
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

Re: VRC7/YM2413/OPLL Custom Patches

Post by Ben Boldt » Wed Sep 16, 2020 9:02 pm

Okay thanks for the advice. I do still have that PSS-140 stored away. If I can get ahold of it again some day I will sniff out its 100 patches for us with my oscilloscope.

Kind of a side-question, some time ago I put names of the instruments into our VRC7 audio wiki page, based on a forum post from plgDavid. However, I see some different names in Famitracker. Do we know if any of these names came from a real source or have people probably just created names for them in modern times?

User avatar
rainwarrior
Posts: 7836
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: VRC7/YM2413/OPLL Custom Patches

Post by rainwarrior » Wed Sep 16, 2020 11:36 pm

Ben Boldt wrote:
Wed Sep 16, 2020 9:02 pm
Kind of a side-question, some time ago I put names of the instruments into our VRC7 audio wiki page, based on a forum post from plgDavid. However, I see some different names in Famitracker. Do we know if any of these names came from a real source or have people probably just created names for them in modern times?
I think I might have named them for Famitracker? At least, I think I once had a conversation with JSR about it and he ended up using the names I gave? Not sure.

I think for standard OPLL you might be able to get "official" names off a Casio keyboard that uses it, perhaps? (Though, even there I think the named instruments tend to be custom ones. The built-in ones might only show up anonymously in accompaniment patterns.)

However, with VRC7 they're custom made for Konami, so I dunno how you'd track down any names they might have given them. If you're really lucky maybe there's some VRC7 patent document or something.

Funnily enough I think the names plgDavid and I independently came up for them seem to overlap more than they diverge.

User avatar
Memblers
Site Admin
Posts: 3877
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: VRC7/YM2413/OPLL Custom Patches

Post by Memblers » Thu Sep 17, 2020 1:45 am

Seems like it should be possible to rip patches from a VGM file. I'm assuming the parameters don't/can't changed while the note plays (I'm not well-versed in the Yamaha stuff), one could store the channel's current register settings when a note-on is triggered. Discarding duplicate sets, and parsing the whole file, would then allow a quick rip of every patch used in the song.

User avatar
Ben Boldt
Posts: 585
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

Re: VRC7/YM2413/OPLL Custom Patches

Post by Ben Boldt » Thu Sep 17, 2020 5:59 am

rainwarrior wrote:
Wed Sep 16, 2020 11:36 pm
I think for standard OPLL you might be able to get "official" names off a Casio keyboard that uses it, perhaps? (Though, even there I think the named instruments tend to be custom ones. The built-in ones might only show up anonymously in accompaniment patterns.)
As far as I knew from Wikipedia, only these Yamaha keyboards used the YM2413:

PSS-170, PSS-270, SHS-10, PSS-140, SHS-200, PSR-6

You mention Casio; are there other keyboards using this? It is possible that I will find matching patches and can correlate those to a name.
Memblers wrote:
Thu Sep 17, 2020 1:45 am
Seems like it should be possible to rip patches from a VGM file.
Neat idea.

User avatar
rainwarrior
Posts: 7836
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: VRC7/YM2413/OPLL Custom Patches

Post by rainwarrior » Thu Sep 17, 2020 3:12 pm

Memblers wrote:
Thu Sep 17, 2020 1:45 am
I'm assuming the parameters don't/can't changed while the note plays (I'm not well-versed in the Yamaha stuff), one could store the channel's current register settings when a note-on is triggered.
You can modify the parameters while a note is in flight, though I think actual use of this is pretty rare.

User avatar
rainwarrior
Posts: 7836
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: VRC7/YM2413/OPLL Custom Patches

Post by rainwarrior » Thu Sep 17, 2020 3:15 pm

Ben Boldt wrote:
Thu Sep 17, 2020 5:59 am
As far as I knew from Wikipedia, only these Yamaha keyboards used the YM2413
I thought there were some Casio ones as well using OPLL, but I don't remember details, possibly was mistaken.

Post Reply