Author Topic: Visual PCE Music Player V3 Update  (Read 987 times)

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Visual PCE Music Player V3 Update
« on: December 20, 2014, 11:45:21 PM »
Hi, folks.  Another little project I started working on is a tool that plays PCE game music, and displays each channel's notes, volume, and waveform (instrument) visually, like a player piano.



This is Version 3 of my player, which adds TIMING for each song, and an option to have the player Autoplay all songs (and stop at the last song before sound effects.)  I've removed the pitch bend because it was a little silly.

Please make comments and suggestions for improvement!

Download: http://www.chrismcovell.com/data/HES_Visual_Player_V3.zip

I've written a how-to for converting/hacking HES to my player: http://www.chrismcovell.com/texts/Howto_HES_to_Visual.txt

Here are the game contents:
Newly added:
The Kung-Fu (Chinawarrior)
R-Type
Battle Lode Runner
Magical Chase

Aldynes
Alien Crush
Ankoku Densetsu (Leg. Axe II)
Blodia / Timeball
Bonk's Adventure
Cratermaze
Devil's Crush
Devil's Crush (stereo hack)
Doraemon Meikyuu Daisakusen
Dungeon Explorer
Dungeon Explorer (NES sound)
Dungeon Explorer (NES before mix/arp)
F-1 Dream
Keith Courage / Wataru
Makyou Densetsu / Legendary Axe
Maniac Pro Wrestling
Neutopia
Neutopia II
Ninja Spirit
Out Live
Sidearms
Son Son 2
Super Star Soldier
Victory Run


Display:
Each channel's frequency/note (with higher notes towards the left and lower notes towards the right) is printed in a different colour, from red to purple.  The volume of each channel likewise is in a dimmer shade of the same colour.  If one of the noise channels is active, the 32-level noise frequency is printed near the right edge of the screen in grey.  Each time the game music changes the sample waveform, it is printed in a box on the right side of the screen (if no other waveforms are currently being printed.)  Everything scrolls upwards, like a ticker tape/seismograph/player piano, as the song is playing.

Controls:
For now, I and II change the game's subtune, RUN stops the music playing but holds all sound channels active, and SELECT swaps muting/solo settings for all sound channels.

Joypad Left and Right move the cursor to the various options.  Up/Down changes each option.  You can:
- set each of the 6 channels on/off
- zoom out to view more of the note range
- clip the visible note range (at 1x etc) or have all note writes overlap on-screen
- change whether the channel volume display is at the left / right side of the screen, or off.  Also, the waveform write display can be set on/off.
- change the playback speed from 8x down to 1/16x
- turn on/off the "Autoplay" option, which goes to the next song when its time is up.

Basically the Zoom, View, and Speed functions allow you to get a detailed display of each note, or a zoomed out overview of the song.  See below:


Zooming is necessary because there are 4096 frequencies for each sound, but the display is 512 pixels across (1/8 of the possible notes).  So the options are to clip/limit the view, or zoom down the view.  Zooming out means you can see the entire note range, but minute changes like vibrato may not appear in the zoomed out view.

Have fun playing!
« Last Edit: August 04, 2017, 04:20:45 PM by ccovell »

Phase

  • Sr. Member
  • ****
  • Posts: 356
Re: Visual PCE Music Player
« Reply #1 on: December 21, 2014, 12:29:21 PM »
This is pretty neat, had some fun messing around with the channels on a bunch of songs.
(noob questions) Are you planning on making a tutorial for how to convert roms to music roms? I'd like to play around with Air Zonk and Blazing Lazers.
Do you have any future plans for this?  What could you use this for, or is it just for fun?

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: Visual PCE Music Player
« Reply #2 on: December 21, 2014, 02:58:28 PM »
This is mostly just for fun.  Game programmers/musicians can use it to figure out how some games made their sound effects, for example (through volume/frequency changes).  Or you could use it to isolate certain channels (eg, for learning how to play it on keyboard/guitar...)

This tool uses the already ripped HES music format.  HES files themselves are playable PCE ROMs, usually, so I look into the first bank of the HES file to find out the PLAY/INIT addresses, and run the HES file in an emulator to see what banks it gets mapped into, as well as what ZP and regular RAM it uses, and my player can have its RAM use adjusted so they don't conflict.

Reproducing the banks, Play and Init addresses of an HES file (by modifying an existing .asm file in the "music/" directory should get it running in the player.  But getting note/volume information and channel muting means trapping all the HES file's writes to the sound hardware, and rerouting them to my code.  The .asm files in the "music/" directory in my source code contain most of what changes between each game's music.

Duo_R

  • Hero Member
  • *****
  • Posts: 3302
Re: Visual PCE Music Player
« Reply #3 on: December 21, 2014, 03:26:27 PM »
Very cool!
Add my YouTube channel:


For sale trade list: http://tinyurl.com/2csm7kq

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: Visual PCE Music Player
« Reply #4 on: December 21, 2014, 03:37:24 PM »
This is an awesome idea. Nice work :)

spenoza

  • Hero Member
  • *****
  • Posts: 2751
Re: Visual PCE Music Player
« Reply #5 on: December 21, 2014, 04:26:58 PM »
There are some drum effects that would be awesome to pin down.
<a href="http://www.pcedaisakusen.net/2/34/103/show-collection.htm" class="bbc_link" target="_blank">My meager PC Engine Collection so far.</a><br><a href="https://www.pcenginefx.com/forums/" class="bbc_link" target="_blank">PC Engine Software Bible</a><br><a href="http://www.racketboy.com/forum/" c

Necromancer

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 21335
Re: Visual PCE Music Player
« Reply #6 on: December 22, 2014, 02:08:14 AM »
I'm too musically retarded to do much with this, but it's dang cool.  :mrgreen:
U.S. Collection: 97% complete    155/159 titles

Opethian

  • Hero Member
  • *****
  • Posts: 3299
Re: Visual PCE Music Player
« Reply #7 on: December 22, 2014, 03:11:01 AM »
now for Brains Town in this I would be indebt

[Mon 16:27] <BlueBMW> i wouldnt sell an unmolested duo hehe.  I molest the crap outta of em before they leave me

esteban

  • Hero Member
  • *****
  • Posts: 24063
Visual PCE Music Player
« Reply #8 on: December 23, 2014, 12:07:28 AM »
I'm too musically retarded to do much with this, but it's dang cool.  :mrgreen:

Same here. I still haven't even tried to figure out how to use a flash card/cart/whatever yet.


I am behind Le Curve.
  |    | 

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: Visual PCE Music Player
« Reply #9 on: December 27, 2014, 02:35:10 AM »
Original archive (Ankoku Densetsu, Keith Courage, Victory Run) updated with 3 more game tunes:

Neutopia, Maniac Pro Wrestling, Dungeon Explorer.
« Last Edit: December 16, 2015, 12:27:45 PM by ccovell »

SuperPlay

  • Hero Member
  • *****
  • Posts: 1659
Re: Visual PCE Music Player
« Reply #10 on: December 27, 2014, 11:42:34 PM »
Just having a play with this, looks like I am going to be busy for a while :-)

TailChao

  • Full Member
  • ***
  • Posts: 156
Re: Visual PCE Music Player
« Reply #11 on: December 28, 2014, 01:07:37 AM »
Fantastic work, this is very helpful :)

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: Visual PCE Music Player
« Reply #12 on: January 01, 2015, 06:15:38 PM »
More tunes in a new archive

Contents
Legendary Axe (Makyou Densetsu)
Alien Crush
Devil's Crush (Devil Crash)
Bonk's Adventure (PC Genjin)
Super Star Soldier
Ninja Spirit (Saigo no Nindou)

Also included are updated libraries that handle Timer IRQs for games that use sample playback.  Unfortunately, due to the high frequency of the Timer, there will be some glitching on-screen due to scanline interrupts being... interrupted.  Not a major problem.
« Last Edit: December 16, 2015, 12:28:07 PM by ccovell »

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: Visual PCE Music Player V3 Update
« Reply #13 on: December 16, 2015, 12:28:45 PM »
I've added quite a few tunes, and implemented an "Autoplay" function.  Check out the 1st post.

touko

  • Hero Member
  • *****
  • Posts: 953
Re: Visual PCE Music Player V3 Update
« Reply #14 on: December 16, 2015, 08:19:26 PM »
Great, thanks a lot chris ..