Waveform Editor

Post your Construct-made creations!

Post » Thu May 03, 2012 10:01 pm

This application lets you compose a waveform. You don't create a wav-sample, nor does it produce any sound. You are creating one cycle or period of a waveform, that will be used in synths like AM Freehand, or for wavetable synthesis.
You design your result with up to 5 waveforms that you combine with mathematical operators. For synths you may export the result to a text-file with a newline-seperated list of values. Those files can be exported directly to synths like AM Freehand and many others.

(1) The Menu
     - Open a project
     - Save a project
     - Take a snapshot of the current sliders
     - Apply a previously taken snapshot to the current sliders
(2) Tooltip Window
     Shows some hints as well as the path of an opened, saved or exported project.
(3) Resulting Waveform
     This waveform is the result of the combination of all the composing waveforms below.
     - Normalize switch, if inactive result is clipped
     - DC balanced switch, if active result will be cleaned from DC offset
     - Select 1 of 4 different export sizes (as samples per cycle)
     - Export waveform button, exports to raw text (newline seperated)
(4) Composing Waveforms
     These waveforms are the building blocks for the resulting waveform. Combine them in any way you like. If you want one waveform to not have an effect to the result, just set it to 0 amplitude, 0 DC offset and choose the add-operator.
     - Select 1 of 5 different forms: sine, square, saw, triangle and seeded noise
     - Operator button: Click to toggle between add, subtract, multiply, divide, min and max
(5) The Parameter Sliders
     Here you may change the parameters for the connected waveform. Choices are frequency, phase, amplitude and dc offset.
     - Click and hold knob to slide through the values
(6) The Preview
     Here you will see all waveforms that you've set to "visible". The preview works with a resolution of 512 samples for that one cycle. When exporting in a different size, the exported waveform may look more or less detailed, depending on the export size. Also, the seeded noise is only consistent with the first value, when exporting to a different size.

(3) and (4) share the following buttons:
     - Visibility, click to toggle the visibility in the preview on or off. Note: You may change parameters while a waveform is invisible.
     - Color, click and hold to open the color palette and choose another color

The waveform editor comes with a selection of project files for you to explore.

Download: waveform editor.rar

Comments welcome.
Posts: 1,821
Reputation: 8,289

Post » Fri May 04, 2012 1:46 pm

Wow, nice one! Hard to believe you made this in Construct. It's along the lines of what I'd like to do with Construct 2, creating a modular audio platform of sorts.

Really hope to see a robust and widely accepted audio API for the web soon, then integrated in C2.
Posts: 185
Reputation: 7,233

Post » Thu May 10, 2012 11:29 pm

I like the interface. To bad the sounds generated cannot be played from within the interface.
In anvil studios the waveform can be edited by mouse to shift the frequency over the duration of the note. If you used the frequency thingy in xaudio, couldn't you make something similar?
Posts: 413
Reputation: 2,512

Post » Fri May 11, 2012 12:36 am

I think, I have to stress the first paragraph of the opening post:
"You are creating one cycle or period of a waveform, that will be used in synths like AM Freehand, or for wavetable synthesis."
You are not generating a sound, no sample. Although the shapes may look like sound, they just describe one cycle of a sample-rate- and time-independant waveform. Such output will usually be recalculated to a bandlimited wavetable (as in AM Freehand) to be used as an oscillater which in result will produce sound. If you would just listen to the raw cycle it would sound a bit awful, with aliasing.

The editor has a resolution of 512. That means, 512 informations describing one period of the resulting wave. Let's put in some time and frequency information:
If the sample rate of the target instrument is 44100 and the frequency to be played 440 hz (standard pitch A) then those 512 informations represent 2.272727273ms or ca 100 samples of the sample rate
Played at 880 hz (one octave higher), they represent 1.136363636ms or 50 samples
Played at 220 hz (one octave lower), 4.545454545ms or 200 samples.

But it is exactly the same waveform at all frequencies. And the generated waveform can be used with any sample rate/frequency combination, of course. The 44100 were only an example.

That's why they are not played. It would need a wavetable synthesizer with conversion to bandlimited waveforms over the frequency spectrum built into the app, to make them produce sound.

It is much easier to run some synth like AM Freehand (yeah, I named it quite often, but it is a fantastic and free VST instrument, and I didn't want to advertise any commercial one) parallel to the editor, quickly export and load into the synth and so on.

[QUOTE=Urled]If you used the frequency thingy in xaudio, couldn't you make something similar?[/QUOTE]
When not working with waveforms as described above, but with short samples, you can do a lot more than that. Just look at this very rough, quick demo of Da Capo, a sequencer originally meant to assist in music based games, but abandoned a few months ago. Use the play button to play a melody sequence (entered as midi notes behind the scenes) while interactively changing bpm, base tune or instrument. And to prove that it really isn't some prerecorded melody you might even want to use your own instrument in .wav format. Just make sure, it represents standard pitch A (A3 on most samplers/DAW). But remember, it is not the next Logic/Cubase/Reaper, it is a skeleton only (it not even uses a simple adsr envelope, it just plays the samples as they are, plus frequency shifted)
DaCapo.rartulamide2012-05-11 01:01:04
Posts: 1,821
Reputation: 8,289

Return to Your Creations

Who is online

Users browsing this forum: No registered users and 0 guests