WaveGen100 - The Cave Story wav100 editor

On a scale of 1 to 5, how would you rate the functionality of this program?

  • 1

  • 2

  • 3

  • 4

  • 5


Results are only viewable after voting.
Feb 26, 2019 at 1:11 AM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 23
WaveGen100 is an editor for the "wave100" file that is stored in Cave Story and Orgmaker, that dictates the instruments used to play the ".org" files.
The edited wave100 files can be inserted into Cave Story/Orgmaker using the program Resource Hacker.

Welcome to WaveGen100!

This program is used to create wave samples and export them as a single file, or as multiple files.

After opening/creating a new file containing samples, use the mouse to adjust parts of the wave shape.
Hold SHIFT to make the cursor draw a line, then release to apply.

The program currently supports three render modes:
- "Bars" makes the program visualize waves as rectangles at each byte of data. More accurate rendition, good for editing the wave.
- "Lines" makes the program draw a line between each point in the wave, using linear interpolation. Better aesthetics, good for capturing/exporting images.
- "Bars+Lines" makes the program draw both rectangles and lines to represent the wave. Do whatever you want with this mode.

CTRL+S saves the entire file, CTRL+Z undoes the last action, CTRL+Y redoes the last action undone.
CTRL+C copies the current wave as hex data, CTRL+V pastes hex data as a wave sample, and CTRL+X cuts the current wave.
SHIFT+CTRL+C or SHIFT+CTRL+X copies/cuts the current wave as hex data and ADDS onto the clipboard.

While editing, press the spacebar to bring up a menu for selecting automatically generated waves.
When resizing the window, hold shift to adjust to any aspect ratio. All displayed objects, including text, will be stretched.
When inputting a number into a menu using a slider, hold shift to enable high precision values.

The current wave number is displayed in the bottom left corner.
- Press the left and right arrow keys to navigate through the samples.

The current wave can be played as a note by using the keyboard keys, which are arranged in the shape of piano keys.
- The "+" and "-" keys will cause the piano to transpose up/down one octave.
- The "[" and "]" keys will cause the piano to transpose up/down 1/4 semitones.
- The transposition interval is displayed above the wave number.

Press the [TAB] button to take a screenshot of the current wave.
- The GUI will disappear while capturing, and the image will be saved in the "screenshots" folder.
- Press CTRL+E to export all waves to a "wave100.bmp" image file
- CTRL+E will also export all waves as "*.wav" sample files.


Download:
v0.9.5:

https://drive.google.com/file/d/1M0e1JtNm9m1gVEcDQJXMcCsHgRYnpZjs/view?usp=sharing



 
Last edited:
Feb 27, 2019 at 11:15 AM
Bonds that separate us
Forum Administrator
"Life begins and ends with Nu."
Join Date: Aug 20, 2006
Location:
Posts: 2846
Age: 33
For anyone looking for interesting waves, the default flower wave made by the generator makes a stunningly good electric organ sample. Other neat ones I've found so far include the sin>square wave, a single-sided sin (i.e. both humps on one side) and sec with a 0.5 y-offset. Also dropping the octave way down basically makes everything into 8-bit sfx it's great

I haven't played this much keyboard for over 12 years :toroko2:
 
Sep 17, 2019 at 9:30 PM
War criminal
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Phoenix
Posts: 2758
Age: 29
So I do want to address something involving WaveGen100, especially with the wave length designs.

I've made a Wave32 file with the waves used in GXSCC, each wave is 32 bytes long rather than the 256 bytes long used for the Wave100 in Organya, and I wanted to check how the shapes would look through the WaveGen100 program, since it has a toggleable byte length reader. And I wanted to see if I can plug some of them into the Wave100 for SerriOrg, but shhh!
p370784-0-uwimmm.png


And when I get the waves to load, the waves do show up, but not in full display as intended, and because the program is taking these as 256 byte long waves instead of 32 byte long waves based on the long gap after the actual waves, they sound entirely different (and quite horrible). Will this issue be fixed in the next version?
p370784-1-9xxk5d.png
 
Sep 17, 2019 at 11:12 PM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 23
Wow, changing the length of the samples used is a feature I've never actually tested, because I don't have any files with samples of different sizes. I probably just accidentally used 256 instead of the variable for sample length somewhere. Mind sending me the file being used?
And by the way, it should be possible to transfer those waves to a wave100 file, by opening two different instances, copying one, and pasting the other, while changing the wavelength to match the second. The program should automatically attempt to interpolate the smaller wave to fit the size of the bigger one.
Edit: just noticed the hyperlink in your post is the actual file, not a link to download gxscc lol
 
Last edited:
Sep 18, 2019 at 1:31 AM
War criminal
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Phoenix
Posts: 2758
Age: 29
And by the way, it should be possible to transfer those waves to a wave100 file, by opening two different instances, copying one, and pasting the other
That'd set the whole wave at a much higher pitch, no? Unless you meant copy each byte multiple times over to make it appear as it's meant to look on the program (I'm totally fine with that, considering all the GB waves I've put onto my custom Wave100, lol)
 
Sep 18, 2019 at 6:12 AM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 23
That'd set the whole wave at a much higher pitch, no? Unless you meant copy each byte multiple times over to make it appear as it's meant to look on the program (I'm totally fine with that, considering all the GB waves I've put onto my custom Wave100, lol)
As a matter of fact, there are three ways to copy them, one is to set the wavelength longer to compensate for a larger sample size (recommended), which will stretch the wave to fit the new size, one is to also increase frequency multiplier, which will make the pitch higher, by duplicating the wave but keeping the wave shape, and the third one is to simply press CTRL+V to paste, giving the squashed shape in your previous screenshot.
I'll be fixing the issue with displaying the waves that aren't 256 in length when I get the time.
 
Sep 18, 2019 at 6:21 AM
War criminal
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Phoenix
Posts: 2758
Age: 29
I am going with the first method (via hex editor, lmaoooo). Tbh, I'm surprised the GXSCC waves are read with the exact byte positions used in the Wave100. Is this a common thing for coding in sound waves?

29 more waves to go... 28 waves to go, I completely forgot to show the first wave, but you get the point.
p370802-0-2ltpli.gif
 
Sep 18, 2019 at 8:08 AM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 23
Last edited:
Sep 18, 2019 at 6:12 PM
War criminal
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Phoenix
Posts: 2758
Age: 29
That 3-6FPS is actually making me feel a little sad lmao
How is it supposed to run in a faster speed, may I ask? Because it seems to run fine for me even with the low framerate.
 
Sep 19, 2019 at 1:33 AM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 23
How is it supposed to run in a faster speed, may I ask? Because it seems to run fine for me even with the low framerate.
IDK, just... faster clicking response I guess? And maybe faster animations
 
Top