• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Melee Audio Converter (aka HPS-Builder) v1.1c (Update 2016-04-14)

Deconimus

Smash Cadet
Joined
Feb 24, 2015
Messages
26
Melee Audio Converter v1.1c


About

The "Melee Audio Converter" aims to be a more convenient alternative to existing tools that convert common audio files into Melee's HPS format.
You can basically just drag and drop sound-files or folders containing such into the GUI and batch-convert your files that way.

It supports almost every common audio format, included among others are:
.mp3, .m4a, .flac, .wav, .ogg

Alongside the GUI there is also a command-line tool (which is used by the GUI..).


Download

Download Melee Audio Converter v1.1c
(no mono and .m4a support atm)

Download Melee Audio Converter v1.1b

Download Melee Audio Converter v1.1

Download Melee Audio Converter v1


Instructions

After you downloaded the .zip file, just unpack it with whichever extraction-tool you prefer (I mainly use 7zip).

Inside the "Melee Audio Converter" directory, there should be a file named "Melee Audio Converter.jar", which is the file you probably wanna use (just double click it). There is also the "hpsbuilder.jar" which is the command-line tool.

If you encounter issues starting the program, make sure you have Java installed on your computer.

After you opened the program there are only few things to do:


  • Add your sound-files. You can either do that by dragging and dropping your music/sound files from your file-browser into big bright area, or by clicking the "+"-button on the bottom-left corner and selecting them from the newly opened file-browser window.
  • *Optional* chose your output directory where the .hps files will be saved. You can do this by entering the path into the text-field, or by clicking on the "..."-button and selecting your desired folder there. Per default the tool's folder is selected.
  • *Optional* chose your desired sample-rate. The default setting on this one is 32 KHz, as this is also the sample-rate from Melee's default music-files and keeps the files at a reasonable size, while providing decent quality. 44.1 KHz would be CD standart.
  • Click "Convert" and wait. Once you clicked "convert" there will be a new window with a progressbar and some info which file is currently being processed. I observed that a song of the length of ~5mins takes a little under 20 seconds to convert on my machine on average. After the program is done, you should hear a shine (yes you can safely remove or alter the "blip.wav"-file).
Note: When pressing "stop" during the conversion, the current file will still be finished, it just stops the batch-conversion.

For how to use your custom .hps files in Melee: Steps 2 and 6 from GSUB's music replacement guide

If you encounter any problems or need assistance in using the GUI or command-line feel free to post in this thread or PM me.

Changelog

v1.1c (2016-04-14):

- Using dsp2hps for normal loops. This way higher audio quality is achieved.

- More robust way of dealing with filepaths.

- A log.txt will now be produced that holds progress- and possible error-reports.


v1.1b:

- Added a functionality for perfect loops in the commandline tool (GUI update will follow in a day or two).
For instructions on how to use this functionality look into my Post further down in this thread.

- Minor GUI fix: Put the filelist into a scrolling pane (as GUI programming itself is a pane already).


v1.1:

- Added a selection for the sample-rate (in the GUI and the command-line alike).

- Changed the way the temporary DSP files are being padded, so that they are guaranteed to be 32byte aligned (as
jmlee337 wrote in his post about his new tool).

Credits


GenesisFan64
For MeleeHPS (which is used in my tool)

achilles1515
For this awesome guide on how to use MeleeHPS. In it's core my tool still follows this guide more or less step by step, so you don't have to do that yourself.

jmlee337 jmlee337
For dsp2hps which deliveres higher audio quality than meleehps and is used since v1.1c.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
I heavily reworked MeleeHps to be way more user friendly and produce slightly better results
seriously, it now literally takes 5 seconds to go from audiofile.anyformat to audiofile.hps

Download

changelog:
  • no more opening with audacity and clicking and saving to format the file correctly
  • no more fiddling with hex editors
  • no more copy pasting samples-this and blocks-that
  • drag-and-drop or invoke from the command line
  • more accurate block headers mean fewer/smaller pops during playback
  • parameterized output file names let you do a bunch in a row without overwriting your output
how to use (video form):
how to use (text form):
  1. move your audio file (in any format) to the MeleeHps folder
  2. drag it onto 'run.bat'
  3. that's it.
  4. you can also invoke from the command line: run.bat myaudiofile.ogg
That's so easy! What's the catch??
  • you still have to make sure your source audio file loops correctly
  • this only works for 'normal' loops, not 'custom' loops


How'd you do it??? (technical details)
  • audacity
    i included ffmpeg, which can convert from any format to 16bit WAV 32000 kHz from the command line

  • hex editors
    i configured main.asm to automatically add the correct padding. I discovered that DSP data must be 32-byte aligned! 16-byte alignment also seemed to work for me, but all the stock HSPs are 32-byte aligned. This must be why achilles sometimes found that adding a pad in a hex editor didn't always work the first time.

  • samples/blocks
    well simply, that data is all calculable from the DSP files themselves. I had to do a horrendous hack to make it work though (the batch file replaces the first line of main.asm, that's why SampleLength is defined there)

  • drag and drop
    since you don't have to edit the DSPs or main.asm before running the assembler, the whole conversion process can be done in one batch script

  • more accurate block headers
    the original main.asm used the first block header in the file for every single block. I made it use the correct block header, but there's two values (hist1 and hist2) that actually require decoding the DSP block to set correctly. This makes any audible pops fewer and smaller, but does not solve the problem completely. I included the most complete documentation I could assemble for the format of HSP audio files in main.asm

  • output file names
    just a small quality of life edit. the output file now has the format [inputfilename].hps, so songname.mp3 would produce songname.mp3.hps as the output. This means you can run a bunch in a row and move out all your hps files once you're done
what are you working on next?
  • rewriting all the main.asm + assembler business in an actual programming language to make the world a little more sane
  • further parameterizing so you'll be able to drag all the files onto run.bat and convert all of them in one go
  • writing hist1 and hist2 in the HSP headers correctly to remove popping all together
jmlee337 jmlee337 Deconimus Deconimus
Where the f**k did you guys come from and where have you been all this time? It's quite funny that you guys made these posts on the same day. These are really nice tools for the community! Thank you very much.

Now the big question...custom loops. Do you guys plan on implementing them into your programs?

The dream custom loop program, in my eyes, would be able to:
- use a variety of file types (which you guys have already done, BRSTM would be nice too)
- specify the specific time to loop on (duh...)

With advanced options including:
- block size selection (I've never had problems with different block sizes, that the game can accept, but some have)
- sample rate selection! (This is a big one for me. A lot of the songs I download off BrawlCustomMusic are 44.1 kHz, but I turn them down to the Melee default of 32 kHz to save file size)

You guys rock. Thanks again.
 

Deconimus

Smash Cadet
Joined
Feb 24, 2015
Messages
26
jmlee337 jmlee337 Deconimus Deconimus
Where the f**k did you guys come from and where have you been all this time? It's quite funny that you guys made these posts on the same day. These are really nice tools for the community! Thank you very much.
Thanks man, actually I wrote the commandline-tool yesterday because I was playing with the idea of writing some sort of Music-Manager for your new 20XX version (which I'll probably work on this week). Before that I just wasn't too interested in changing Melee's soundfiles, but ingame playlists are an absolute game changer :)

Now the big question...custom loops. Do you guys plan on implementing them into your programs?

The dream custom loop program, in my eyes, would be able to:
- use a variety of file types (which you guys have already done, BRSTM would be nice too)
- specify the specific time to loop on (duh...)

With advanced options including:
- block size selection (I've never had problems with different block sizes, that the game can accept, but some have)
- sample rate selection! (This is a big one for me. A lot of the songs I download off BrawlCustomMusic are 44.1 kHz, but I turn them down to the Melee default of 32 kHz to save file size)

You guys rock. Thanks again.
The command-line tool supports custom loops, I was just too lazy finding a clever way of putting it into the GUI.

For the sample rate thing, I'll probably implement the selection tomorrow, I didn't really try if it would work with higher sample-rates at all.
 

jmlee337

Smash Journeyman
Joined
May 8, 2008
Messages
303
Slippi.gg
LEE#337
With advanced options including:
- block size selection (I've never had problems with different block sizes, that the game can accept, but some have)
- sample rate selection! (This is a big one for me. A lot of the songs I download off BrawlCustomMusic are 44.1 kHz, but I turn them down to the Melee default of 32 kHz to save file size)
Mine defaults to a block size of 0x00010000, same as the built-in audio files. This value is configurable (see main.asm)
The input audio files are always converted to 16-bit 32000 Hz WAV

As Deconimus Deconimus said, custom loops are mostly just a matter of UI. There's also no reason we can't set the loop point to any arbitrary sample. (No more 'pick the closest block start and pad your file with silence at the beginning')
 
Last edited:

Deconimus

Smash Cadet
Joined
Feb 24, 2015
Messages
26
The input audio files are always converted to 16-bit 32000 Hz WAV
Do you mean this is fixed in MeleeHPS' file conversion?

I was testing to convert WAV files with higher sample rates than 32khz (44.1khz and 48khz). While there are DSP files generated, that differ in size like you would expect from different sample rates, the HPS files produced will still have the same size. As long as I didn't make any mistakes configuring the main.asm file, different sample rates seem to be a little bit more complicated to accomplish.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Do you mean this is fixed in MeleeHPS' file conversion?

I was testing to convert WAV files with higher sample rates than 32khz (44.1khz and 48khz). While there are DSP files generated, that differ in size like you would expect from different sample rates, the HPS files produced will still have the same size. As long as I didn't make any mistakes configuring the main.asm file, different sample rates seem to be a little bit more complicated to accomplish.
I think he was referring to his own MeleeHPS program extension he wrote, and that he configured it to always use 32 kHz.

Higher sample rates certainly produce larger size files. As an example, download a 44 kHz HPS file from BrawlCustomMusic, and then download the BRSTM and follow my guide (converting it to 32 kHz) and the file sizes will be different. But idk, I honestly haven't done that much testing. I guess I should say it certainly doesn't make sense that it would be the same size file.
 
Last edited:

Deconimus

Smash Cadet
Joined
Feb 24, 2015
Messages
26
I think he was referring to his own MeleeHPS program extension he wrote, and that he configured it to always use 32 kHz.

Higher sample rates certainly produce larger size files. As an example, download a 44 kHz HPS file from BrawlCustomMusic, and then download the BRSTM and follow my guide (converting it to 32 kHz) and the file sizes will be different. But idk, I honestly haven't done that much testing. I guess I should say it certainly doesn't make sense that it would be the same size file.
I did as you suggested, the thing was, that with the song I downloaded from BrawCustomMusic, I'd still get two hps files that are the same size, no matter if I sample the extracted WAV file down to 32 khz or keep it at 44.1 khz.

While following your guide though I noticed that the "blocks needed" are the same for the 32khz variant and the 44.1khz variant. That would make kinda sense as the song-length of course doesn't change with a different sample rate and your formula for determining the needed blocks just takes the song-length and the block-size into consideration, not the sample rate.

I also tested the song in both variants in melee and the outcome was as I excpected: The 44.1 khz one ends somewhere amidst the song and then loops while the 32 khz one plays perfectly. So the good thing here is, that Melee seems to be able to play songs in different sample rates and meleehps also has no problem dealing with those.


After updating my tool and testing I've now got it to work, so I'll edit my original post in a few minutes and upload the new version.

The way I now calculate the blocks needed goes like:
ceil( ( seconds * (sampleRate / 32000.0) ) / 0.448 )

You might want to update that in your excel-file.
 
Last edited:

jmlee337

Smash Journeyman
Joined
May 8, 2008
Messages
303
Slippi.gg
LEE#337
In the first step, I convert the input audio file to 16bit 32000 Hz WAV and split it left and right. This is the command:
Code:
ffmpeg.exe -y -i %1 -ar 32000 -acodec pcm_s16le -map_channel 0.0.0 LEFT.wav -ar 32000 -acodec pcm_s16le -map_channel 0.0.1 RIGHT.wav
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
What are the chances that you could implement perfect looping. I have to use godfeds program right now to create my own hps file with the block sizes I need for a perfect loop as well as choose a sample rate that fits within the blocks.
 

Deconimus

Smash Cadet
Joined
Feb 24, 2015
Messages
26
What are the chances that you could implement perfect looping. I have to use godfeds program right now to create my own hps file with the block sizes I need for a perfect loop as well as choose a sample rate that fits within the blocks.
Not too great I fear.
I'm not even sure if perfect loops are possible with the HPS format without fiddling with your audio files first, like you described. I'll probably take a better look at this topic in a few days, since I'm currently working on another project but am curious, can't make any promises though.
 
Last edited:

Poe

Smash Cadet
Joined
Jan 12, 2014
Messages
25
Location
Central Florida
This is good **** for sure, thanks for putting in the time to actually make this.
Keep doing your thing.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
Not too great I fear.
I'm not even sure if perfect loops are possible with the HPS format without fiddling with your audio files first, like you described. I'll probably take a better look at this topic in a few days, since I'm currently working on another project but am curious, can't make any promises though.
Well they arent possible unless you design the file to fit a specific sample rate. I havent encountered any problems with sample rates up to 44000hz and making the file isnt that hard. Ive thought about looking into creating a program but I dont understand how exactly the audio is put into the file.
 

Deconimus

Smash Cadet
Joined
Feb 24, 2015
Messages
26
Well they arent possible unless you design the file to fit a specific sample rate. I havent encountered any problems with sample rates up to 44000hz and making the file isnt that hard. Ive thought about looking into creating a program but I dont understand how exactly the audio is put into the file.
Ah, I didn't quite catch how you're preparing your audio files by your first post.
I did a quick update for my commandline tool and will update the GUI accordingly in a day or two.

Until then you can convert your files as follows:

Open a commandprompt inside the "melee audio converter" folder (shift + right-click inside the folder) and type:

Code:
java -jar hpsbuilder.jar -p -i <your audio file>
To create a HPS file that loops perfectly from start to end.
This will allow you to loop perfectly from the first to last sample.

or type:

Code:
java -jar hpsbuilder.jar -p -i <your audio file> -lb <loopbegin in seconds> -le <loopend in seconds>
To create a HPS file that loops perfectly from the very start of the specified second where the loop starts to the very end of the specified second where the loop ends.
Note that the seconds here are only integer values.

I've also included the files with which I've tested the new code (testfiles/boss.wav and the resulting boss.hps).
Let me know if it works for you.
 

Doq

Smash Lord
Joined
Dec 28, 2012
Messages
1,037
Location
The Lab, Sweet Home, OR
Isn't it overall better to just chop the last block and loop at the beginning of a block though?
---
I think I'll take a stab at a fully-functional GUI for dsp2hps that is similar to BrawlBox's BRSTM importer in interface.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Decipio-Carmen Decipio-Carmen I wonder how your Nintendont setup deals with multiple block sizes within a single HPS file.

What about trying:

- Analyze custom loop input. If loop position is not a multiple of 56 samples (or 1.75 ms from above), automatically add in silence at the beginning of the music file to shift your loop point onto a multiple.
- From the beginning of the file, use 0x8000 block size until another +0x8000 would go past the loop point.
- Use an abnormal but acceptable block size to end on the custom loop point.
- This next block is the loop point, and use 0x8000 till the end.
 
Last edited:

Decipio-Carmen

Smash Apprentice
Joined
Apr 2, 2010
Messages
88
What are the chances that you could implement perfect looping. I have to use godfeds program right now to create my own hps file with the block sizes I need for a perfect loop as well as choose a sample rate that fits within the blocks.
You mean block size 0x10000 right? I've made a post about this:
http://smashboards.com/threads/fixi...-of-silence-when-used-with-nintendont.434039/

For now, you might want to check out yet another hps tool that I made.. maybe it could be relevant to you if you need 0x10000 block sizes like I do:
http://smashboards.com/threads/how-...-conversion-guide.401142/page-2#post-21093993

Do you mean this is fixed in MeleeHPS' file conversion?

I was testing to convert WAV files with higher sample rates than 32khz (44.1khz and 48khz). While there are DSP files generated, that differ in size like you would expect from different sample rates, the HPS files produced will still have the same size. As long as I didn't make any mistakes configuring the main.asm file, different sample rates seem to be a little bit more complicated to accomplish.
I did as you suggested, the thing was, that with the song I downloaded from BrawCustomMusic, I'd still get two hps files that are the same size, no matter if I sample the extracted WAV file down to 32 khz or keep it at 44.1 khz.

While following your guide though I noticed that the "blocks needed" are the same for the 32khz variant and the 44.1khz variant. That would make kinda sense as the song-length of course doesn't change with a different sample rate and your formula for determining the needed blocks just takes the song-length and the block-size into consideration, not the sample rate.

I also tested the song in both variants in melee and the outcome was as I excpected: The 44.1 khz one ends somewhere amidst the song and then loops while the 32 khz one plays perfectly. So the good thing here is, that Melee seems to be able to play songs in different sample rates and meleehps also has no problem dealing with those.

After updating my tool and testing I've now got it to work, so I'll edit my original post in a few minutes and upload the new version.

The way I now calculate the blocks needed goes like:
ceil( ( seconds * (sampleRate / 32000.0) ) / 0.448 )

You might want to update that in your excel-file.
The fact that you get HPS files with the same size and the fact that different sample rates loop at different points makes perfect sense... in my mind. The HPS files store the sample rate in bytes 0x08 through 0x0B. I would check those in a hex editor to make sure that those are correct. If you have the 32kHz and 44.1kHz and keep them to the same number of samples, the 44.1kHz one would be cut off at the end because the 44.1kHz file needs more samples to express the same amount of time. It seems to me that some of the samples near the end of the 44.1kHz DSP files are not being inserted into the HPS file.


There is so much going on with music hacking right now that I don't know what to think at this point. I need to review everything that has been posted and make some actual meaningful comments. This is great! Thanks, Decipio.
I know what you mean. There is so much stuff going on. When I was posting my song injection tool, I did not realize at all that someone had already posted a music manager T_T
http://smashboards.com/threads/20xx-music-manager-v1-2e-update-2016-04-13.434669/#post-21095049

The playlist features in 20XX 4.05 really got me fired up to write some audio tools, and I'm guessing that's why a lot of people are making all these posts.

Anyways I'll throw this idea out here just so I don't waste time on implementing something that someone might already be working on:

I'm imagining a program that can take in a list of music files (hps, mp3. or .wav or whatever I personally wouldn't mind which one) and normalizes the loudness of all these files to some acceptable average (maybe using the original Melee hps files as a reference for a target average loudness). I'm pretty satisfied with what tools that I have made, and when someone does a precise custom looping tool, I'll use that (I'd do it too but I realize that a lot of people are already working on this haha) My main issue now is that it's a pain to normalize the sound levels of all my files in audacity (I have about 100 custom songs in my 20XX 4.05 ISO)... some of the songs I have are loud while others are quiet.

jmlee337 jmlee337 Deconimus Deconimus let me know if any of you are planning on working on this


Decipio-Carmen Decipio-Carmen I wonder how your Nintendont setup deals with multiple block sizes within a single HPS file.
Melee's original files actually have multiple block sizes within a single HPS file. I would have tried to find a more accurate range of block sizes that work for me, but it's really inconvenient to have to remake my ISO, put it on my SD card, and then boot it up in Nintendont.
 
Last edited:

Deconimus

Smash Cadet
Joined
Feb 24, 2015
Messages
26
For my "perfect loops" I'm aligning the sample rate so that the last sample would be at the very end of the last block.
I guess a precision of 56 samples should be more than enough though and this way we would have way more options to handle loops.

The fact that you get HPS files with the same size and the fact that different sample rates loop at different points makes perfect sense... in my mind. The HPS files store the sample rate in bytes 0x08 through 0x0B. I would check those in a hex editor to make sure that those are correct. If you have the 32kHz and 44.1kHz and keep them to the same number of samples, the 44.1kHz one would be cut off at the end because the 44.1kHz file needs more samples to express the same amount of time. It seems to me that some of the samples near the end of the 44.1kHz DSP files are not being inserted into the HPS file.
Of course that makes sense, I was just trying to describe my error finding process there. Right now it works fine with any sample rate.

Anyways I'll throw this idea out here just so I don't waste time on implementing something that someone might already be working on:

I'm imagining a program that can take in a list of music files (hps, mp3. or .wav or whatever I personally wouldn't mind which one) and normalizes the loudness of all these files to some acceptable average (maybe using the original Melee hps files as a reference for a target average loudness). I'm pretty satisfied with what tools that I have made, and when someone does a precise custom looping tool, I'll use that (I'd do it too but I realize that a lot of people are already working on this haha) My main issue now is that it's a pain to normalize the sound levels of all my files in audacity (I have about 100 custom songs in my 20XX 4.05 ISO)... some of the songs I have are loud while others are quiet.

jmlee337 jmlee337 Deconimus Deconimus let me know if any of you are planning on working on this
When converting audio files to .WAV I normalize them to a gain offset of "-1db" per default (in hps-builder and this way also in 20XXMM). I haven't yet wrote a functionality to convert .hps files back to conventional audio formats, but that shouldn't be too difficult.

Just for volume normalization you could simply write a drag&drop batch script for SoX:

Code:
@echo off
:loop
title Normalizing %1
echo Normalizing %1
set gain=-1
set var=%1
set out=%var:~0,-5%
set out=%out%_normalized_%gain%db.wav
sox --norm=%gain% %1 %out%
shift
if not "%~1"=="" goto loop
echo All done.
pause
 

jmlee337

Smash Journeyman
Joined
May 8, 2008
Messages
303
Slippi.gg
LEE#337
For now, you might want to check out yet another hps tool that I made.. maybe it could be relevant to you if you need 0x10000 block sizes like I do:
My dsp2hps uses 0x00010000 block sizes (soon to be configurable). If you don't need custom loops, that's the best way to go right now. Deconimus Deconimus is using it in their Melee Audio Converter (this thread) and 20XX Music Manager now.

When converting audio files to .WAV I normalize them to a gain offset of "-1db" per default (in hps-builder and this way also in 20XXMM). I haven't yet wrote a functionality to convert .hps files back to conventional audio formats, but that shouldn't be too difficult.

Just for volume normalization you could simply write a drag&drop batch script for SoX:
I'm 99% sure there's half a dozen tools already out there that can batch normalize volume levels. You could analyze the Melee source music for baseline average loudness/peak
 

Decipio-Carmen

Smash Apprentice
Joined
Apr 2, 2010
Messages
88
No.

But that is a brilliant feature request, I will literally start working on it right now LOL
Heh... I was asking because I wrote a variation of a program that HCS wrote which takes an input HPS and outputs a copy of it with fixed decoder states in the block headers. I wrote a batch script to run it on all my HPS files and I was thinking of sharing it, but mine runs pretty slow (took about 2 hours to do 111 songs) so I'm hesitant to share it. It runs pretty slow because it has to look at every byte of audio data to keep track of decoder states. I'm not sure if you're doing it in a different way though, maybe you can find a faster method
 
Last edited:

jmlee337

Smash Journeyman
Joined
May 8, 2008
Messages
303
Slippi.gg
LEE#337
Heh... I was asking because I wrote a variation of a program that HCS wrote which takes an input HPS and outputs a copy of it with fixed decoder states in the block headers. I wrote a batch script to run it on all my HPS files and I was thinking of sharing it, but mine runs pretty slow (took about 2 hours to do 111 songs) so I'm hesitant to share it. It runs pretty slow because it has to look at every byte of audio data to keep track of decoder states. I'm not sure if you're doing it in a different way though, maybe you can find a faster method
you got a repo? Github?
 

Decipio-Carmen

Smash Apprentice
Joined
Apr 2, 2010
Messages
88
you got a repo? Github?
It's not on github. I merely modified a program that HCS (Halley's Comet Software) wrote long ago when he was doing various tests on HPS files. I would put it on github but I'd feel bad if I didn't ask HCS for his permission first. I can ask him if you want to see the source
 
Last edited:

jmlee337

Smash Journeyman
Joined
May 8, 2008
Messages
303
Slippi.gg
LEE#337
It's not on github. I merely modified a program that HCS (Halley's Comet Software) wrote long ago when he was doing various tests on HPS files. I would put it on github but I'd feel bad if I didn't ask HCS for his permission first. I can ask him if you want to see the source
Oh I think I know the snippet you're talking about. IDK why it would take that long if correctly implemented. You definitely have to go sample by sample to calculate the header values correctly. I do this in dsp2hps, and if you've used it you've seen that's basically instant
 

Decipio-Carmen

Smash Apprentice
Joined
Apr 2, 2010
Messages
88
Oh I think I know the snippet you're talking about. IDK why it would take that long if correctly implemented. You definitely have to go sample by sample to calculate the header values correctly. I do this in dsp2hps, and if you've used it you've seen that's basically instant
I may have made a mistake when I made my program. Altogether, all my HPS files total 461 MB, do you think that it should be taking less time?
 
Last edited:

säpo.

Smash Apprentice
Joined
Jan 25, 2006
Messages
132
Location
Lund, Sweden
I get this error from the log (using 1.1c):
java.nio.file.NoSuchFileException: C:\Users\username\Desktop\iso\Melee Audio Converter v1.1c\meleehps\output.hps
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsFileCopy.move(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.move(Unknown Source)
at java.nio.file.Files.move(Unknown Source)
at visionCore.util.Files.moveFileUsingOS(Files.java:270)
at main.Main.main(Main.java:105)

No idea what I'm doing wrong. The input was a 44.1kHz stereo wav if it matters. Trying the same with 1.1b soon.

Edit: no error with 1.1b, works fine
 
Last edited:

NS23

Smash Journeyman
Joined
Jan 4, 2015
Messages
238
Location
USA
Slippi.gg
SLOK#533
Where does the .hps file end up? I can't seem to find it.
 

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
286
Location
Venezuela
Now i know what i'm going to do this week

It didn't work
----Processing-"slamdud.mp3":----

Converting and splitting music file.. done
Copying channels.. done
Converting to DSP files.. done
Padding DSP files.. done
Packing DSP files into HPS (using dsp2hps).. done
Cleaning a bit.. done

java.nio.file.NoSuchFileException: C:\MeleeAudioConverter\meleehps\output.hps
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsFileCopy.move(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.move(Unknown Source)
at java.nio.file.Files.move(Unknown Source)
at visionCore.util.Files.moveFileUsingOS(Files.java:270)
at main.Main.main(Main.java:105)
 
Last edited:

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
286
Location
Venezuela
I tried going through the components one by one and i think dsp2hps needed MSVCP140.dll and VCRUNTIME140.dll, so i put those in and it worked.
 
Top Bottom