Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - mid2vgm Converter

Reply to topic
Author Message
  • Joined: 15 Sep 2009
  • Posts: 377
Reply with quote
mid2vgm Converter
Post Posted: Wed Oct 13, 2010 2:43 pm
Last edited by ValleyBell on Thu May 12, 2016 7:32 am; edited 5 times in total
NOTE: The most recent versions can be found on vgmrips.


Did you ever want to convert MIDIs to VGMs? Did you ever want to know how your favorite MIDI would sound on a YM2413?
Now it's possible. All mid2vgm tools are (almost) One-Click-Tools, so it's quite easy.

I attached the exe and the source (Visual Basic 6.0).

EDIT: I attached some midi files and a text-file with settings for each file.
(Duckta.mid was converted from a CMF file - the user instrument is its original one.)

It took me just three days to write it - so do what you want with the tool and the source.
Have fun!

EDIT2: Updated mid2vgm OPLL (fixed PitchBend and some other small things)
EDIT3: Updated mid2vgm OPLL (I fixed a run-time error) and attached some example files from S&K PC Collection.
Also attached OPL Tool - a tool that lets you make OPL voices.
EDIT4: Added mid2vgm PSG
m2v_opll.rar (19.45 KB)
mid2vgm OPLL (exe)
m2v_opll_src.rar (10.3 KB)
mid2vgm OPLL (source)
OPL_Tool.rar (37.29 KB)
OPL Tool
m2v_opll_examples.rar (18.7 KB)
mid2vgm OPLL examples
m2v_PSG.rar (21.59 KB)
mid2vgm PSG (exe)
m2v_PSG_src.rar (10.03 KB)
mid2vgm PSG (source)

  View user's profile Send private message Visit poster's website
  • Joined: 04 Aug 2010
  • Posts: 38
Reply with quote
Post Posted: Thu Oct 14, 2010 11:40 pm
Now is late and I'm going to bed, but tomorrow I'm going to play with this a lot!
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Tue Oct 19, 2010 4:22 pm
I'm so tempted to write a midi to 2612 vgm converter now... I think it shouldn't be that hard...

Or -- why not -- a midi to 2413 + 2612 vgm converter... The vgm specs technically allow for multiple chips to be used in the same file...
  View user's profile Send private message Visit poster's website
  • Joined: 15 Sep 2009
  • Posts: 377
Reply with quote
Post Posted: Wed Dec 08, 2010 9:20 pm
I finally updated mid2vgm OPLL and fixes some bugs:
- Pitch Bend wasn't working (very bad bug - it affected wrong channels)
- the volume calculation is now 100% correct (I looked into the GM developer guide)
- the first OPL-operator-order converted one register wrong

I'll start to work on mid2vgm PSG soon.
  View user's profile Send private message Visit poster's website
  • Joined: 15 Sep 2009
  • Posts: 377
Reply with quote
Post Posted: Sat Dec 11, 2010 3:35 pm
The last update was just 3 days ago, but I updated mid2vgm OPLL again.

The update itself is just a little fix and a small new feature.
More important is, that I added some examples so you can test the tool.
One song is worth to mention: S&K PC Collection: Carnival Night Zone: Act 1
I put some effort into it and patched it so that it sounds good (and almost like on an SB16 sound card).

I also uploaded a tool (called OPL Tool) that you can use to make OPL-instruments.
You play notes with the keyboard (the ASD... and QWE... line, A stop).
+ and - change to octave. Drums are played with XCVBNM (< stop)
Channels can be changed with F1-F9
F12 changes the Channel Set and Backspace changes between Modulator and Carrier

I included a text-file that contains all OPLL-instruments in form of OPL settings.

Note: Avira AntiVir detects the tool as malware. (It likes to do this with many of my VB programs - I don't know why.)
  View user's profile Send private message Visit poster's website
  • Joined: 15 Sep 2009
  • Posts: 377
Reply with quote
mid2vgm PSG
Post Posted: Mon Mar 07, 2011 2:33 pm
The deadline of the Competitions gets closer and closer and I know I'm quite late, but here it is: mid2vgm PSG
It supports: single PSG, dual PSG and the T6W28 in full stereo (and support of Pan-Controllers)

It has a lot more options than the OPLL edition, so you'll have to read the readme to understand some of the options.

Things this version lacks:
- GameGear Stereo support. Use the T6W28 instead. (will be included in next update)
- changing Noise Mode. It's locked to white noise and its 3 different shift rates (PSG types) or 3-ch-Mode (T6W28) (will be included in next update)
- instrument editor, but you can make all instruments with MIDI just with Volume and Expression Controllers. (don't wait for this, it may take months)

Happy Music Making!
  View user's profile Send private message Visit poster's website
  • Joined: 31 Jan 2013
  • Posts: 3
Reply with quote
Post Posted: Thu Jan 31, 2013 10:08 pm
Can it in the future do: (SN76489) ?
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Thu Jan 31, 2013 10:50 pm
It already does.
In the original post there are download links for two converters:
  1. mid2vgm OPLL targets the YM2413
  2. mid2vgm PSG targets the SN76489 (or SN76496)
  View user's profile Send private message Visit poster's website
  • Joined: 31 Jan 2013
  • Posts: 3
Reply with quote
Post Posted: Thu Jan 31, 2013 11:53 pm
@tom
thanks.

Is ''GB DMG'' next?
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Fri Feb 01, 2013 12:00 am
For now, you can use Deflemask for that.
  View user's profile Send private message Visit poster's website
  • Joined: 31 Jan 2013
  • Posts: 3
Reply with quote
Post Posted: Fri Feb 01, 2013 12:12 am
Tom wrote
For now, you can use [site]Deflemask[/] for that.
I have to:
1. import midi in famitracker
2. export to nsf
3. convert nsf to gbc with GbNsf.exe
4. open the gbc file with messui.exe
5. vgm logging gbcolor_0.vgm
  View user's profile Send private message
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Tue Feb 19, 2013 10:43 am
I'm currently looking at your tools, and they look promising. Still have to try them for real, though.

Did you ever consider to fuse them into a single tool with different tabs? That would be useful for making PSG+FM vgm.

Maybe should you improve a little the instructions. For example, you don't explain how to use the custom OPL instrument. I only understood with "All GM Instruments that are not on the list will be converted to 0x0 User Instrument.", but that's just a detail.

I look forward for any future releases. :)

I think this tool would be a great addition to the VGM software page.
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Tue Feb 19, 2013 10:48 am
Hroþgar SCRB wrote
making PSG+FM vgm
You can use vgmmerge for that.

That said, I agree with you. A single gigantic tool would be neat.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Tue Feb 19, 2013 12:33 pm
This one isn't either on the software page.

Hmm, a single gigantic tool, you say? Like fusing other tools dealing with vgm? Yes, really! But that would be a lot of work.

By the way, I was wondering, how are the drums converted in mid2psg? I know they are converted into noise, but which way? For example, if two drums are played at the same time, is the output different to somehow reflect it?

I have to try it with Linux, hoping it will work with Wine. ^_^;
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Tue Feb 19, 2013 1:25 pm
No, I mean a gigantic mid2vgm tool where you can map any Midi channel to whatever you want. That's what I had in mind when I designed my own mid2vgm converter (which targets 2×YM2612):


See those comboboxes? I wanted to add more chips there, such as the YM2151, but I never ended up doing so for various reason (primarily, the lack of collections of YM2151 instruments, unlike YM2612 instruments which can be found like everywhere). From a programming point of view it would be as simple as adding separate routines to handle the different chips, such as NoteOnYM2612(channel, note) and NoteOnYM2151(channel, note), or passing a parameter to a generic routine which will later address the request, like NoteOn(chip, channel, note). Of course there are way more parameters than those but it's a pseudocode extreme exemplification.

vgmmerge can still be useful to create things like this (2×YM2612 + 2×YM2413 + 2×SN76496) or this (2×YM2612 + 1×YM2413 + 2×SN76496); however, since ValleyBell and I used different algorithm to handle the tempo, the YM2612 portion of such a vgm will drift by a few dozen samples by the end of the song. This is another thing which would be addressed by a single global mid2vgm tool.

Another thing which I wanted to implement was a "chord mode", which would allow you to map a polyphonic Midi channel to more than one channel in the vgm (e.g. a Midi channel which plays chords of 3 notes at the same time would be mapped to three YM2612 channels), but that's another thing I never did.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Tue Feb 19, 2013 5:47 pm
Last edited by Hroþgar SCRB on Tue Feb 19, 2013 6:17 pm; edited 1 time in total
Hmm interesting, that would allow VGMs from virtual machines which don't exist (NES+SMS combo, for example ^^).

I tried mid2vgm with Wine, and it doesn't launch at all :(

I can't read your vgm files with Audacious, the vgm plugin is probably outdated, it's very frustrating.

By the way, I saw ValleyBell added new chips in the VGM format, have they been officially accepted in the format?
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Tue Feb 19, 2013 6:09 pm
Hroþgar SCRB wrote
VGMs from virtual machines which don't exist
If my vgms above weren't enough, you can take a look at this (2×SN76496, 2×YM2612, GB DMG), by Dj Bmx :)
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Tue Feb 19, 2013 6:32 pm
Can't open your files. :(
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Tue Feb 19, 2013 10:31 pm
You must use an updated player. There are ones for Linux, too.

See http://vgm.mdscene.net/forum/viewtopic.php?t=112.
  View user's profile Send private message Visit poster's website
  • Joined: 15 Sep 2009
  • Posts: 377
Reply with quote
Post Posted: Tue Feb 19, 2013 10:40 pm
Hroþgar SCRB wrote
Did you ever consider to fuse them into a single tool with different tabs? That would be useful for making PSG+FM vgm.
I personally prefer to have a seperate tool for each chip. That simplifies the conversion code quite a lot. (And tabs aren't really nice to do with Visual Basic 6.)

And yes, the documentation isn't good at all. But I'm not good at writing documentations either.

Every channel is converted directly to SN76489, YM2413 or YM2612 commands. (depending on the used tool)
For mid2vgm PSG that means, that no envelopes are applied. (something I wanted to add, but never did)
The frequency of the noise depends on the played note.


Hroþgar SCRB wrote
By the way, I saw ValleyBell added new chips in the VGM format, have they been officially accepted in the format?
By now I guess I'm the offical developer of the VGM format, so I'd say yes.
Audacious doesn't support anything newer than VGM v1.50 right now. You either need to use foo_gep for foobar2000 or compile VGMPlay.


To run any of my mid2vgm tools you need msvbvm60.dll (either in Windows' system32 directory of the one where the exe is), but that should be all they need.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Wed Feb 20, 2013 9:28 am
ValleyBell wrote
And yes, the documentation isn't good at all. But I'm not good at writing documentations either.


OK. So here are some suggestions/questions in order to improve the documentation/intuitivity/ergonomy :

-What is rhythm mode? What is it for? How can we use it? Some explanations may be necessary for someone who doesn't know enough the VGM format.
-In m2v_PSG.txt, I don't quite understand the part "chip-group/channel-group": what is the difference? What do the "I", "II" stand for? Tables are very nice to synthetize the data for technical information, but I find them a little difficult to read (but maybe I'm the only one). In the .exe, there is the Channel Map combobox, I can't figure its purpose.
-In m2v_PSG, you can improve legibility by writing "Sega Master System (3579545 Hz), Neo-Geo Pocket (3072000 Hz) instead of the all-abbreviated entries, I unnecessarily had to check the documentation to understand what it standed for. What is "Used clock" for? I change the settings and the values doesn't seem to change, and it's not in the documentation.
-In m2v_OPLL.exe, the combobox "operator order" appears unnecesarily technical to me. Maybe could you replace the code by a small, explicit description and keep the details in the help file
-Explain directly how to use the OPLL user instrument (i.e. by using an instrument over #90 if I understood)
-What happens if a channel has more than one note at the same time?
-A "preview" in the OPL3 Synthetiser would be a great addition, but that would be a lot of work, I think
-Some more explanations about the options in OPL3 Synthetiser would be welcome (tooltips? help file?), some of them being a little obscure to me (and probably to others): Channel, Operator...
-Examples of OPLL user instruments would be nice, in order to complete the General Midi instrument list. Maybe are there already sets on the Internet?
-There is a link between m2v_OPLL's operator order and the OPL3 Synthetizer's register order. I guess it's the same thing but with different names
-In OPL3 Synthetiser is it necessary to have a specific window to import/export instruments? Maybe can you add a section in the bottom of the window where the data is automatically updated while using the options, or edition the date would update the options.
-In m2v_PSG.exe,

It seems to be a lot of things, but these are mainly just cosmetic details.

ValleyBell wrote
Hroþgar SCRB wrote
By the way, I saw ValleyBell added new chips in the VGM format, have they been officially accepted in the format?
By now I guess I'm the offical developer of the VGM format, so I'd say yes.


Cool :)

ValleyBell wrote
Audacious doesn't support anything newer than VGM v1.50 right now. You either need to use foo_gep for foobar2000 or compile VGMPlay.


I tried to compile VGMPlay, but I guess I'm not skilled enough for that, lol. Maybe will I try foobar2000, or wait for an update for Audacious. ^^


ValleyBell wrote
To run any of my mid2vgm tools you need msvbvm60.dll (either in Windows' system32 directory of the one where the exe is), but that should be all they need.


OK, I'll try to add this dll and tell if it works.
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Wed Feb 20, 2013 10:26 am
Hroþgar SCRB wrote
What is rhythm mode? What is it for? How can we use it? Some explanations may be necessary for someone who doesn't know enough the VGM format.
The YM2413 can work in two modes: 9 "melodic" FM channels for music only, or 6 "melodic" FM channels + drums. By enabling the "rhythm mode", you sacrifice 3 FM channels in order to play drums. If you don't need drums, disable the "rhythm mode" so you can use all the 9 FM channels for music.

Hroþgar SCRB wrote
In m2v_PSG.txt, I don't quite understand the part "chip-group/channel-group": what is the difference? What do the "I", "II" stand for? Tables are very nice to synthetize the data for technical information, but I find them a little difficult to read (but maybe I'm the only one). In the .exe, there is the Channel Map combobox, I can't figure its purpose.
I and II identify the first and the second chip. I somehow agree that those tables would be clearer if rearranged in a way like this:
- Chip-Group
 PSG | MIDI
-----+-------------
1 i  | 1, 9
2 i  | 2, 11
3 i  | 3, 12
N i  | 4, 10
1 ii | 5, 13
2 ii | 6, 14
3 ii | 7, 15
N ii | 8, 16

- Channel-Group
 PSG | MIDI
-----+-------------
1 i  | 1, 3
2 i  | 5, 7
3 i  | 9, 12
N i  | 10, 15
1 ii | 2, 4
2 ii | 6, 8
3 ii | 11, 13
N ii | 14, 16


Hroþgar SCRB wrote
What happens if a channel has more than one note at the same time?
Your computer gets entirely formatted and your OS gets replaced by the Snail game from the Master System BIOS.

Only two of those three answers are correct, it's up to you to find out which one is a lie.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Wed Feb 20, 2013 11:35 am
Last edited by Hroþgar SCRB on Wed Feb 20, 2013 12:50 pm; edited 1 time in total
Tom wrote
The YM2413 can work in two modes: 9 "melodic" FM channels for music only, or 6 "melodic" FM channels + drums. By enabling the "rhythm mode", you sacrifice 3 FM channels in order to play drums. If you don't need drums, disable the "rhythm mode" so you can use all the 9 FM channels for music.


Oh, yes, now I remember! The user interface could be more user-friendly if, instead of the checkbox there was a pair of radio buttons such as:

Quote
Channel choice:
O 9 melodic channels (no drums)
X 6 melodic channels + drums


Tom wrote
I and II identify the first and the second chip. I somehow agree that those tables would be clearer if rearranged in a way like this:


It's better like that, but I needed some more time to understand the purpose. If I'm right, the goal of this option is to choose the order of assignment to the channels. I really think a explanation is necessary to clarify the whole thing.

I think it would be much clearer to write the tables the other way out, for example:
Midi 1 goes to Chip 1, channel 1 ; Midi 2 goes to Chip 1, channel 2, and so on.
As a user, what I want to know is where my Midi channels are going, not what the PSG channels are receiving. It's a subtlety, but of importance for the understanding.

Tom wrote
Your computer gets entirely formatted and your OS gets replaced by the Snail game from the Master System BIOS.

Only two of those three answers are correct, it's up to you to find out which one is a lie.


Noooooo! I have to backup my files!

More seriously, the instructions say we should not have more than one note at once, but it would be nice to know how the program deals with that anyway (does it take only the highest or the lowest note? does it simply ignore the notes? does it crash?). Let's imagine, I have some midi files on my hdd and wish to quickly try them out with midi2vgm without butchering them ; I'd like to know what would happen in case of simultaneous notes
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Wed Feb 20, 2013 11:59 am
I didn't answer the last one because I don't know the answer :)

One thing I can tell you, even "simultaneous" notes have an order internally in the MIDI file, which isn't really predictable since it's up to your MIDI sequencer to write that. In a chord, for example, there are two (or three, or more) Note On events, which might happen at the exact same moment but are still stored sequencially in the MIDI file itself.

In such cases, my own mid2vgm converter deals with that by truncating the previous notes and keeping only the last one; not sure what ValleyBell's converters do.

If you want to change the internal order of the Note On events, you need a low-level MIDI editor (such as the one I wrote) since this isn't something which is normally accessible in a MIDI sequencer.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Wed Feb 20, 2013 12:46 pm
Tom wrote
One thing I can tell you, even "simultaneous" notes have an order internally in the MIDI file.


Indeed. Maybe there should be a rule in order to try and keep a correct-sounding music: only the highest or the lowest pitch, and perhaps an option to choose. I think it would be really easy to implement and would give something consistent.
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Wed Feb 20, 2013 1:29 pm
In the mean time, I was bored.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Wed Feb 20, 2013 5:23 pm
ValleyBell wrote
To run any of my mid2vgm tools you need msvbvm60.dll (either in Windows' system32 directory of the one where the exe is), but that should be all they need.


Great! It seems to work, thanks!

About the OPLL rhythm mode and else, the interface proposed by Tom is quite complete and may be some kind of Absolute Solution, but that would require more developement. Anyway, the rhythm mode switch, it's only necessary when there are more than 6 melodic channels plus drums ; otherwise the program should choose by itself the best mode. For example: I select a midi file, the program parses it and counts the number of channels and their quality, and if there are more than 6 melodic channels plus drums, it asks what we prefer, that would avoid an unnecessary option on the main interface. But still, a mega interface would definitely be the best. ;)
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Wed Feb 27, 2013 5:25 pm
ValleyBell, I'm experiencing some problems with m2v_OPL : I'm playing with pitch bends and it doesn't seem to work as expected. It recognizes the pitch bend control, but seems to ignore the controllers 100 and/or 101 and/or 6 which deal with the range of the pitch bends (as far as I understand).

If my pitch bends are within a tone (or semitone) range, it works well, but when I want to have a full octave pitch bend - and set the controller #6 to 14 - m2v_OPL just ignores this and keeps the one tone range while my midi file sounds correct.

Any clues?

Thanks :)
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Wed Feb 27, 2013 5:44 pm
Just fyi, a 1-octave pitch bend has a range of 12 semitones, not 14.

I thought custom pitch bends were supported, though. I'm almost sure I used them a few times, too.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Wed Feb 27, 2013 5:52 pm
Well, I already have problems with my midi editor (Rosegarden), which is not very willing to let me choose my pitch bend ranges, so I tweaked a lot with other midi files to import the events (and I don't know how it finally worked ^^; ) and that's why I didn't try to set the controller to 12, by fear of breaking everything. :)
  View user's profile Send private message Visit poster's website
  • Joined: 15 Sep 2009
  • Posts: 377
Reply with quote
Post Posted: Wed Feb 27, 2013 7:14 pm
Wow - these tools are older than I thought. This mid2vgm OPLL indeed doesn't support pitch bend range changes.

I attached an updated version of mid2vgm OPLL from 2012 which supports changing the pitch bend range and coarse/fine tuning as well.
Also included: a slightly newer mid2vgm PSG. It probably just has a few bugfixes. (My source code for m2v PSG is 3 months newer, so I don't know.)


P.S.: To change the pitch bend range, you must set the controllers 100 and 101 to 0 first, then you can use controller 6 to adjust the range.
The order of 100/101 first and 6 afterwards is important.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Wed Feb 27, 2013 9:06 pm
That's way better, thanks for your reactivity! I hope you'll take my suggestions in consideration, by the way. :)
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Thu Mar 14, 2013 12:19 pm
ValleyBell, I'm toying with the white noise generator and I'm wondering how manydifferent "pitches" can your converter generate? With various tries, I only find two pitches, but maybe am I doing something wrong, or is it that the chip can only generate two pitches.

For what I plan to do, I'd need at last three different pitches, is there a way to achieve it?
  View user's profile Send private message Visit poster's website
  • Joined: 15 Sep 2009
  • Posts: 377
Reply with quote
Post Posted: Sat Mar 16, 2013 8:56 am
The PSG chip has only 4 settings for the noise frequency. There are 3 fixed pitches and the "use channel 3" settting. If you enable that (in mid2vgm PSG you should be able to do that by setting controller 17, "General Purpose #2", to anything between 64 and 127), you can use all pitches, but you can't really use channel 3.
There is also controller 16, "General Purpose #1", which enables the "periodic noise" mode that makes a nice sawtooth-like sound.

I can't really say if the controllers 16 and 17 really work in the EXE I posted, but they don't in the 2011-03-07 version.
  View user's profile Send private message Visit poster's website
  • Joined: 22 Dec 2004
  • Posts: 151
  • Location: Rouen, France
Reply with quote
Post Posted: Tue Mar 19, 2013 8:10 pm
ValleyBell wrote
The PSG chip has only 4 settings for the noise frequency. There are 3 fixed pitches and the "use channel 3" settting


What does that mean? That there are 3 fixed and one modulable pitch? I tried many midi pitches and always ended with two noise pitches

ValleyBell wrote
If you enable that (in mid2vgm PSG you should be able to do that by setting controller 17, "General Purpose #2", to anything between 64 and 127), you can use all pitches, but you can't really use channel 3.


So, it's the setting of the controller 17 that makes the pitch, not the midi pitch? (as seen in the piano roll, for example)

I'm sorry, but I really don't understand the "use channel 3" thing. You seem to say it's in mid2psg, but it's nowhere to be found, so can't even fiddle with it.

ValleyBell wrote
There is also controller 16, "General Purpose #1", which enables the "periodic noise" mode that makes a nice sawtooth-like sound. I can't really say if the controllers 16 and 17 really work in the EXE I posted, but they don't in the 2011-03-07 version.


Controller 16 seems to work fine, as the noise channel ouputs some king of non-square waveform, probably sawtooth as you say. Strangely, and unless I do something wrong, controller 17 does exactly the same thing.

All these things you say here are not in the documentation. I think you REALLY should add them for future users, as they will never in the world guess them. ;)


ValleyBell wrote
To run any of my mid2vgm tools you need msvbvm60.dll (either in Windows' system32 directory of the one where the exe is), but that should be all they need.


Not quite: opl_tool also needs mscomctl.ocx. (but it's not mid2vgm, you'd say, and you'd be right about this)

About opl_tool, I have no clue of what the section "Global settings" does: as the interface implies, it does not change the sound characteristics, only the combobox "Operator" changes the data's input. A minimal documentation (or tooltips) for this tool would be welcome. Please don't take me as too much demanding : as a casual, non-technician user, I only want to understand the capacities of this tool, and I guess I'm pretty much like anybody. :)

By the way, if you have much spare time someday, a VST instrument playing VGM sounds would rock for live performance. ;)
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!