Waveform Generator (windows only)


Waveform generator is a (Windows only) program for generating Single Cycle Waveforms (SCW) that you can export as wav-files. These wav-files can then be loaded into samplers and synthesizers where they can be used as they are, or used as building blocks for creating wave-tables. All waveforms generated by this software are generated/processed using 64 bit floating-point arithmetic, and this 64 bit precision is used throughout the entire signal path to ensure both high accuracy, and to ensure no clipping will occur. Beside a special/proprietary format intended for synth builders files can be exported as 16/24 bit at 44.1 to 96 KHz, with between 128 and 2048 samples per waveform. The waveforms are generated using different "modules" in form of: 22 basic waveforms (including hand-drawn, basic/advanced additive and waveforms based on mathematical expressions), 17 phase-converters (manipulating the phase-value fed into the waveform-functions), 27 value-converters (manipulating the output from the waveform functions), and lastly 13 operators (combining the output from up to 4 waveforms). All of these "modules" are both described in the 170 page manual that is embedded in the installer (can be accessed via the "Help" menu within the program), and in the tutorial videos listed below.

License agreement:
The program is free of charge when used for personal use, to generate waveforms that you use in your own music (whether that music is commercial or not). However if you like this software, please consider making a donation via PayPal to show your appreciation for all the hours I have spend creating it. The about-box in the software contains a "Donation" button that will take you directly to the donation-site, likewise here at the website you will also find a "Donation button". If used commercially to generate single-cycle waveforms used in patches/patch-banks or by oscillators/wavetables in soft-/hardware synthesizers I simply require a full licensed version of the product free of charge :-)

If you need to get in contact, I can be reached at this address: pelle[at]infinite-noise[dot]com

Tutorial videos

The installer comes with a +170 page manual bundled with the program, that can be accessed via the help menu within the program. Choosing the "Manual" menu-item will open the manual (pdf-file) in the program you have installed for viewing pdf-files. Beside this manual I have recorded a few videos available at YouTube, that can be accessed via the following links. These first 8 videos have all been recorded for the version 1.0 release, so some things might have change since recording them. Further below there are links to videos recorded for specific version releases, describing whats new/changed in those releases.
I plan to release a video of each update of the program, describing what is new and what have changed in each update:

Download and donation

Full installer for version 1.2.0 can be downloaded here

Naturally its optional, but if you like this software and want to show your appreciation by making a donation, the following icon will take you to the Paypal-payment site where you can make a donation (please remark it will say Infinite-Noise).




Version 1.2 (Match 20th 2021)

  • Added (FFT/low-pass) filtering on waveform-export and within the waveform-viewer/player (not enabled by default). The actual filtering is based on sample-rate, number of samples (per waveform) and selected filter-strength (1-100).
  • You can now choose the number of (full) waveforms that are exported into each file (defaults to 1), and you can also choose to apply an analog-factor that will add phase- and value-imperfections (each waveform will be applied a different amount of phase-/value change).
  • Waveforms can now be imported (as hand-drawn waveforms) directly from the context-menu in the tree-view. These will automatically be created as Advanced-waveforms.
  • Added "Save as" buttons to forms used for editing Advanced-, Partial- and Compound-waveforms (only active, when opened from the tree-view).
  • Added Waveform- and Volume-selection to each of the 4 Operators in the Operators Waveform (that was added in version 1.1).
  • Added new "Lag" draw-tool when editing hand-drawn waveforms (see it as a "different" smooth-effect).
  • Renamed "Octave" into "Pitch" in the viewer/player (and hand-drawn editor).
  • Added F2 as a play-back Stop-key in the viewer/player (as ESC will also close the form). Pressing F1 while in the viewer/player will simply (re)start play-back.
  • Changed the keys to increase/decrease volume into F5/F6, and changed the keys to increase/decrease pitch into (F7/F8), as the keys "1", "2", "3" and "4" can be used when entering values into the fields in the form.
  • The play-back start/stop-, volume- and pitch-keys used in the player/viewer can now also be used in the hand-drawn editor-form.
  • Choosing/entering number of samples in the viewer/player is not done with a combo-box, containing the same default elements as when using the waveform-export presets.
  • If you find them too distracting, tool-tips (hint-windows) can now be disabled in settings (they are enabled by default). However in most forms they can be toggled on/off by pressing SHIFT+CTRL+F12.
  • Fixed: Removed clicks when playing back waveforms at the lowest pitch-setting, and when changing pitch.
  • Fixed: When exporting using the "Last used" preset, the Normalization-factor was not saved.
  • Fixed: RWF-files were not Normalized on export (normalization locked at 100%).
  • Fixed: The form showing progress while/after exporting waveforms can now be closed with ESC or ENTER.
  • Fixed: If setup to "Remember volume", this now also works in the hand-drawn editor-form.

Version 1.1 (February 20th 2021)

  • Added automatic/manual version-check. By default the automatic version-check is enabled (performed once every 24 hours, and checked when starting the software). The automatic version-check will only report anything if a new version is available. When disabling the automatic check, the manual check will be enabled (menu-item in the Help-menu)
  • Added "History" menu-item, to the help-menu (containing this history-text).
  • Added a new “Operator” waveform, which is based on up to 4 (Sine) Operators with different frequencies, where the operators can either be mixed or used to modulate the phase of the other operators (based on the selected "Algorithm").
  • Added a new "Phase-Inject" value-converter, which injects the waveform selected by Variant-1 as phase-values into the basic-waveform.
  • Added Adv.waveform-1 and -2 -frequency to Partial-waveforms. If either is set to anything but its default value ("Prop." short for proportional), transition between split-sections will be disabled.
  • Minor improvement of randomize-logic in Partial-waveforms regarding the split-section.
  • Minor change to the “L/R Rev” variant of the “Exponential” phase-converter, to make its effect near PI (180°) symmetric.
  • Added accessible-name/description to the controls in many forms, to assist those needing these information (as of now to test if it will improve things, so not added in all forms).
  • To make things more easy for the blind and the vision-impaired, you can now press F1 in the various forms to open the waveform-viewer/player in stead of having to double-click the waveform-illustration. If enabled in settings, the viewer player will start play-back as soon as the form is opened, and the form can be closed with ESC (which will stop the play-back).
  • In the form for editing Partial waveforms you can now use SHIFT-F1 and SHIFT-F2 to view-/listen to the two advanced waveforms.
  • In the form for editing Compound waveforms you can now use SHIFT-F1 to SHIFT-F4 to view-/listen to the four partial waveforms.
  • In the form for editing Compound waveforms you can now use CTRL-F1 to SHIFT-F3 to view-/listen to the output from each of the 3 operators.
  • In the waveform-viewer/player you can now use the keys 1 and 2 to lower/raise the volume, and the keys 3 and 4 to lower/raise the octave. As in previous version P can be used to start play-back and S can be used to stop play-back.
  • When navigating the tree-view and a waveform is selected, you can use F1 or SPACE to open the viewer/player, and also a new menu-item was added to the waveform context-menu to view/play the waveform.
  • In forms containing a "Clear All"- or a "Clear"-button, CTRL-Backspace can now be used as a short-cut.
  • Generally added a few more keyboard short-cuts to the various forms to assist those who rather use the keyboard than the mouse, and updated the tab-order of the controls in some forms.
  • Basic-additive waveforms can now be edited as CSV-text (to make them accessible for the blind).
  • Advanced-additive waveforms can now be edited as CSV-text (to make them accessible for the blind).
  • A new "Ask 'are you sure' before closing certain forms"-setting have been added (defaults to enabled). If enabled, the forms that allows you to edit waveforms will ask before closing the form, when you close the form with anything else than the "OK"-button (as otherwise an accidental press on ESC would close the form, and you would loose your changes). In settings you can also chose if the answer to this question should default to Yes or No.
  • Likewise the settings-form will now always ask "if you are sure" when closing the settings-form with anything but "OK" (no matter the value of previous mentioned setting).
  • Reduced threshold of when to cache waveform-thumbnails from 200 ms to 100 ms. On slow computers it might use more memory, but will improve performance in the tree-view.
  • Fixed: When able, fraction volumes are now shown for negative values as well in Basic-additive waveforms (e.g. showing "(-1/4) -25.000%" in stead of simply "-25.000%").
  • Fixed: A few typo's. E.g. changed "Tangens" (Danish spelling) into "Tangent" (English spelling).

Version 1.0 (February 7th 2021)

  • First public release, with support for advanced-, partial- and compound-waveforms (build from: 22 basic-waveforms, 17 phase-converters, 27 value-converters and 13 operators).

Version 0.99 Alpha (2015-2020)

  • Worked on/off this project for a number of years (never released to anyone, but build my personal +25000 waveform database that I have been using myself).