vgmrips

The forum about vgm files
It is currently 2017-09-20, 2:28:12

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 13 posts ] 
Author Message
PostPosted: 2013-09-05, 17:19:00 

Musicians Musicians
Contributors Contributors
Offline

Joined: 2012-09-29, 11:45:48
Posts: 205
Location: Australia
EDIT: My own updates to this can be found a few posts below

http://www.vogons.org/viewtopic.php?f=9 ... 7&p=320148

While randomly searching for means of recording MIDI into a program like Adlib Visual Composer, I bumped across this. Looks like it finally exists!

Although I'm aware ValleyBell made some efforts in making his own WinFM-based MIDI player, this is a software-driven MIDI driver which you can use in any Windows application that can use a MIDI output device.

So....yeah. Re-live the glory of terrible tinny MIDI music!! xD

_________________
-dj.tuBIG/MaliceX


Last edited by MaliceX on 2013-10-29, 20:03:18, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: 2013-09-05, 23:29:30 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
Very nice! I do believe I shall study this source code to see just how possible a YM2151 or YM2612 user-mode softsynth can be :)


Top
 Profile  
 
 Post subject:
PostPosted: 2013-09-06, 8:20:18 

Musicians Musicians
Contributors Contributors
Offline

Joined: 2012-09-29, 11:45:48
Posts: 205
Location: Australia
I'm more interested in finding out how hard it would be to replace the patches. Seeing as it directly used the WDK FMSynth patches as ValleyBell's MidiPlay did, need to figure out if the BNK patch format is compatible.

EDIT: a bit of looking and asking around, it looks like according to Bisqwit's adlmidi, the Fat Man 2op soundset is equivalent to Microsoft's patches, both stored in "Junglevision Patch Format" ? Need to find out the specification of that and translate BNK to that.

EDIT2: http://djtbmx.jamesoz.com/junk/bnk2opl.c (compile with gcc -Wall -ansi -pedantic)
Will take any .BNK file and spit out in exact order, an instrument file which MidiPlay can read.

Of course, all that leaves now is a user-friendly way to map patches to where, and of course importing these into the driver.

A test using MidiPlay (ie: what I aim to get this driver to sound like for me):
https://dl.dropboxusercontent.com/u/128 ... ibtest.vgm
https://dl.dropboxusercontent.com/u/128 ... ibtest.vgm (because stereo rules)
https://dl.dropboxusercontent.com/u/128 ... wtest2.vgm

EDIT3: Just a mental note. opl3emu.dll, instrument presets also replaceable from offset 0x2C110 if one cannot be bothered to recompile. :P

_________________
-dj.tuBIG/MaliceX


Last edited by MaliceX on 2013-09-06, 22:00:53, edited 8 times in total.

Top
 Profile  
 
 Post subject:
PostPosted: 2013-09-06, 22:29:49 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
I've never been able to compile adlmidi from scratch successfully, ended up always requesting a compile from bisqwit directly. That reminds me, I have to email him about the last version...


Top
 Profile  
 
 Post subject:
PostPosted: 2013-09-07, 2:35:55 

Musicians Musicians
Contributors Contributors
Offline

Joined: 2012-09-29, 11:45:48
Posts: 205
Location: Australia
First, get fraction from the SVN. It's missing from the tarball.
On MinGW, open it with MSYS or git-bash (nuwen's)
On the Makefile, get rid of the --mno-cygwin flags
make

EDIT: alternatively, here's a precompiled copy I did with nuwen's MinGW 10.2. https://dl.dropboxusercontent.com/u/128 ... i-1.2.1.7z

_________________
-dj.tuBIG/MaliceX


Last edited by MaliceX on 2013-09-08, 10:16:17, edited 2 times in total.

Top
 Profile  
 
 Post subject:
PostPosted: 2013-10-26, 9:17:59 

Musicians Musicians
Contributors Contributors
Offline

Joined: 2012-09-29, 11:45:48
Posts: 205
Location: Australia
Oh yeah...

neologix wrote:
Very nice! I do believe I shall study this source code to see just how possible a YM2151 or YM2612 user-mode softsynth can be :)


I think ValleyBell beat you to it.
http://forums.sonicretro.org/index.php? ... t&p=752605

_________________
-dj.tuBIG/MaliceX


Top
 Profile  
 
 Post subject:
PostPosted: 2013-10-26, 19:04:32 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
MaliceX wrote:
Oh yeah...

neologix wrote:
Very nice! I do believe I shall study this source code to see just how possible a YM2151 or YM2612 user-mode softsynth can be :)


I think ValleyBell beat you to it.
http://forums.sonicretro.org/index.php? ... t&p=752605


Oh. My. MOUSTACHE.

This is what I get for not visiting Sonic Motobug Retro Forums! Time to finish the Yamaha XG drum kit I was making for mid2smps and have some fun...


Top
 Profile  
 
 Post subject:
PostPosted: 2013-10-26, 23:06:20 

Staff Staff
Programmers Programmers
Musicians Musicians
Contributors Contributors
Offline
User avatar

Joined: 2011-12-01, 20:20:07
Posts: 2797
Location: Germany
just btw: I posted the first beta of the mid2smps MIDI driver almost exactly one year ago on IRC.
It's based on mudlord's BASSMIDI driver, so I guess the origins of the MIDI API code date go to munt's MIDI driver, too.


Top
 Profile  
 
 Post subject:
PostPosted: 2013-10-27, 0:22:10 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
Ok, just downloaded and tried out mid2smps driver. Not hearing anything in Windows Media Player. Changed the volume to 2000, loaded different .gyb files from a 2012 June version of mid2vgm_2612 and a 2011 Oct version of mid2smps, tried all the PSG envelope files that came with this, and the DAC data from this and my WIP version of the YXG drums.

No sound in any of it. Ran the driver config with admin privileges to install and it said success and even copied the .dll to system32. Nothing.


Top
 Profile  
 
 Post subject:
PostPosted: 2013-10-27, 10:23:30 

Musicians Musicians
Contributors Contributors
Offline

Joined: 2012-09-29, 11:45:48
Posts: 205
Location: Australia
irc.digibase.ca/#vgmrips wrote:
13:31 <~ValleyBell> http://vgm.mdscene.net/MDMidiDrv_2013-10.7z
13:31 <~ValleyBell> Try this version.
13:31 <~ValleyBell> It's the one I'm currently using.
13:31 <~ValleyBell> And I compiled it with VS 2010.


Note: Don't bother using it in WMP. Also Winamp hangs if using MIDI Mapper as the device, with this synth selected. (using it directly poses no issues)

_________________
-dj.tuBIG/MaliceX


Top
 Profile  
 
 Post subject:
PostPosted: 2013-10-28, 22:50:10 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
Thanks, updated and switched to Winamp and works now! I'm really gonna have to look into using Foobar2000 for my daily player soon since Winamp is a behemoth and WMP has failed me too many times...


Top
 Profile  
 
 Post subject:
PostPosted: 2014-01-16, 18:37:55 

Musicians Musicians
Contributors Contributors
Offline

Joined: 2012-09-29, 11:45:48
Posts: 205
Location: Australia
Back on topic. I've forked the original source code and started adding some changes to the OPL3 driver.

Win32 Binary: https://dl.dropboxusercontent.com/u/128 ... driver.rar
WinRT Binary: https://dl.dropboxusercontent.com/u/128 ... pl3emu.dll
Git repo/source: https://bitbucket.org/djtubig-malicex/opl3-synth-driver

Changelog:
[17-JAN-2013] - Major update
  • VGM Logging support (CC119=127 for ON, CC119=0 for OFF. Saves to %TEMP%\opl3vgmlog.vgm for now)
  • Fixed intermittent 4-op -> 2x2op/2op voice stealing issues
  • Fixed voice-stealing problems on patch change (MS's oldest-by-patch policy was flawed)
  • Tweaked Attack/Release range
  • Portamento (CC5/CC65) support for both poly and mono. Using EXP start-end time policy, and sustained pitch tracking. 100Hz update.
  • Modulation wheel (CC1) support. LFO policy is per-voice except for mono legato which follows on previous voice until silence. 100Hz update.
  • Experimental linear pitch envelope support (currently possible with drum patch map only; see 2x2patchtest.h) 100Hz update.
  • Channel Volume = 0 non-zero velocity should still allocate a voice. (thanks DracoNihil)
  • Changes to initialization code structure.
  • Fixed project solution to spit out differentiating filenames depending on use for hardware or emu.

EDIT: note it's using khokh2001's OPL3 core which has a retriggering bug. Let me know if this is an issue.
Also, give this a listen with this build. https://dl.dropboxusercontent.com/u/128 ... ntest2.mid

[5-JAN-2014] SPECIAL RELEASE
  • Hardware OPL Passthrough implemented via inpout32.dll functional! Read instructions before installing.
  • Separated builds until a configuration utility is made to have this user-changeable.
  • Reorganised build configurations
Currently hardcoded to 0x388. If you need a different port, change the FMPort variable and recompile, or ask me and I'll rebuild for you.
Special thanks to ValleyBell for the OPL HW playback code from VGMPlay/MidiPlay

--please see git repository wiki page for past list of changes--

TODO:
  • Add Voyetra Super SAPI! and Creative PLAYMIDI patches
  • Patch editor or more patch converters (looking at .SBI and Freq Monster 801)
  • Config Utility

_________________
-dj.tuBIG/MaliceX


Last edited by MaliceX on 2014-01-16, 19:56:15, edited 2 times in total.

Top
 Profile  
 
 Post subject:
PostPosted: 2014-04-29, 15:25:07 

Musicians Musicians
Contributors Contributors
Offline

Joined: 2012-09-29, 11:45:48
Posts: 205
Location: Australia
Progress update on what's currently happening: https://www.youtube.com/watch?v=nTBL-OdfsU0
No new binary at this stage. Finishing university this semester, and still in dire need of free time to work on some outstanding issues with the implementation code.

_________________
-dj.tuBIG/MaliceX


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 13 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group