Harmonics Program - Release Notes
Version 08.07
Errors Corrected
- The frequency resolution was not shown in the results for CZT.
Enhancements
Version 08.06
Enhancements
Errors Corrected
- Analysis: reading of 32 and 64 bit PCM audio files corrected.
Version 08.05
Enhancements
- The maximum number of frequency bins to export or send from analysis to synthesis can now be set.
- The analysis export file format is now compatible with the synthesis import.
Version 08.04
Enhancements
- The colours can now be adjusted and saved to a file.
- The peak value of the noise entered in synthesis parameteres is no longer limited to 2.
- Analysis fields whose availability depends on a context are now disabled rather than hidden so that the user can see the possible options.
- Notes temperament and frequency of A and harmonics fundamental frequency included in results.
Errors Corrected
- Cancelling an STFT gave an unnecessary error message for every processor.
- When changing between DFT or FFT and CZT, the spectrum x-axis was no longer applicable to the stale plot - the old spectrum is now deleted.
- The number of harmonics field in the synthesis parameters was reset if the progression was changed.
Version 08.03
Enhancements
- Added Exponential window function to analysis.
Errors Corrected
- Window functions with parameters had their parameter initialised to zero and did not preserve their values when the function was changed.
- Notes overlay on spectrum was not using the temperament correctly.
Version 08.02
Enhancements
- Analysis: spectrum can now have the harmonics displayed based on a variable fundamental frequency.
Errors Corrected
Version 08.01
Enhancements
- Analysis: spectrum can now have the notes of the scale displayed in various temperaments based on a variable frequency for A.
- Analysis: corrections to x-axis of spectrum frequencies when shown as kHz.
- Analysis: the analysis window now keeps its size, position, zoom and pan settings when a new transform is done.
- Analysis: the animated STFT spectrum now shows the time from the start of the analysis and from the start of the file.
Errors Corrected
Version 08.00
Enhancements
- Analysis: Chirp-Z Transform implemented
- Synthesis: Added exponential progression of harmonics.
- Synthesis: Adding a harmonic sets its amplitude to 0 to show that it does not follow any previous progression.
- Analysis: maximum number of loops for sound increased to 1 000 000.
- Analysis: the window start time (mark1) was showing the duration of the expanded window instead of the time.
Errors Corrected
- For average and STFT the correction of the size did not reduce correctly.
- Main window now uses full screen height.
Version 07.01
Enhancements
- STFT animation display y-axis scaling is now constant using maximum of all frames.
- FT now keeps old display when stale, until new transform done.
- STFT video resets current frame to zero on new transform.
Errors Corrected
- STFT bounce played one frame too many.
Version 07.00
Errors Corrected
Enhancements
- Short Time Fourier Transform added.
- Additional tick marks on input wave to show starts of windows.
Version 06.01
Errors Corrected
- Some checks for null pointers added.
- Do Averaging button is now disabled while decay averaging is running.
- The marks can no longer be moved while a transform or decay averaging is running.
Enhancements
- The button to zoom to the time between marks no longer includes the zero padding
- The spectrum and phase is zoomed out fully after each analysis.
Version 06.00
Errors Corrected
Enhancements
- Synthesis: The display of the components and spectrum plots are now optional with new checkboxes.
- Synthesis: Reference figure vectors and circles changed to green for better differentiation from the figure.
Version 05.02
Errors Corrected
- Analysis: The information window for the analysis window function no longer cascades beyond the bottom of the screen when many are opened.
The next window opens next to the previous one, even after it has been moved.
- Analysis: The decay average line was drawn outside the graph if one of the marks was off screen.
- Analysis: The units of the decay data on the marks was always given with units dB, which was wrong for linear plots.
Enhancements
- Analysis: reorganised for better order of panels.
- Analysis: Added synchronisation of Average and Input, and Go To Window button.
Version 05.01
Errors Corrected
- Analysis: Crashes avoided when some buttons clicked before a file was opened.
- Analysis: Averaging progress indicator is now correct. (The final calculation of logs is not included.)
- A crash could occur if a wave was sent from synthesis after having done a transform on a previous file.
Enhancements
- Analysis: Stale indicators no longer obscure the mark labels.
- Analysis: Marks can now be selected by clicking on their label.
- Analysis: Alignment of panels improved.
Version 05.00
Errors Corrected
- Analysis: drawing of window function in input graphic drawn incrementally rather than as a path to avoid memory problems.
- General: If the program runs out of memory it now gives a message before exiting instead of just crashing. This could happen with large analysis files.
- Analysis: Some crashes avoided when reading longer files than the previous one and cancelling reads and transforms.
- Analysis: Send to Synthesis is now disabled for logarithmic scaling as the result is senseless.
Enhancements
- Analysis: Mark2 is intitially set close to Mark1 rather than at the end of the file. This prevents memory and delays with long files.
- Analysis: The results window can now be copied to the clipboard.
- Analysis: The averaging and decay result does not show the time to decay to -60dB if the wave is not decaying.
- Analysis: Open button renamed to New. You can now select the channel before opening a new file.
The file is now not automatically reread when you select a channel. There is a Reread button to read a different (or the same) channel.
The file name and channel are shown in the results.
- Analysis: Decay analysis function added.
- Analysis: Go to Mark1 puts Mark1 at the left of the graphic rather than in the middle. This is better to zoom from there.
- Analysis: input wave now keeps original sample size rather than scaling to 16-bit. Floating point formats are scaled to 24-bits.
- Synthesis: you can now select the sample size of the wave generated for sound and for sending to analysis.
- Analysis: suppression functions removed; they supeseded by the vertical zoom controls.
Version 04.02
Errors Corrected
- Analysis: input file ID3 comment tag corrected.
- Analysis: Checks added to spectrum zoom and scroll in an attempt to avoid the listeners looping and causing a stack overflow.
Enhancements
- Analysis: User interface revised. Zoom and positioning is now in the analysis plot. Parameters for the window function are in the result window.
- Analysis: Zero padding added.
- Analysis: Averaging of overlapping windows added.
- Analysis: Changes to parameters act immediately on graphic, with stale indicator on spectrum.
- Analysis: Frequency (x) zoom and pan and amplitude (y) zoom added to spectrum and phase plots.
- Analysis: Spectrum amplitude can now be set to a logarithmic scale.
- Analysis: Tukey window added and parameter checking made specific to window function.
- Analysis: Exact Blackman window added.
Version 04.01
Errors Corrected
- Analysis: Bad behaviour when moving marks fixed.
- Analysis: Hz calibration of spectrum was wrong when window was expanded to next power of 2 for FFT.
Enhancements
- Name changed from "Harmonics" to "Fourier Round Trip"
- Analysis: File Info is now also shown for data sent from synthesis.
- Analysis: Status line now additionally shows period of effective fundamental between marks.
- Analysis: Vertical (amplitude) zoom added to input wave plot.
- Analysis: Plot axes improved and labels added.
- General: graphics axis code consolidated.
Version 04.00
Errors Corrected
Enhancements
- JavaDoc added.
- Analysis: Display of window function and its transform added.
- Synthesis: Send to analysis button added.
- Analysis: Improvements to metadata.
- Synthesis: The Export now also save the title, frequency, sampling rate and noise settings.
- Synthesis: WAV file output now includes tags for Title and Comment with the harmonics.
The title is entered in a new field in the synthesis paramenters.
- Synthesis: Field added for sample rate with which the wav file will be written.
- Analysis: Metadata display (Info button): More ID3 tags added, including APIC for image, but the image does not display in the Java internal HTML renderer,
so Export button added - opening the file in a browser does show the image.
- Synthesis: Noise function added.
- Synthesis: The amplitude is no longer displayed as a reciprocal.
It was found to be confusing that they did not match the graphics y-axis calibration, and it is easier to add DC with a non-reciprocal amplitude.
- Synthesis: Harmonic list sorting rewritten to have solumn header buttons all three columns, which when clicked, change the sorting.
- Analysis: FFT implemented.
- Analysis: DC Filter implemented.
- Analysis: DFT now has a selection of windowing functions.
Version 03.02
Errors Corrected
Enhancements
- Handling of DC and analysis phase enhanced to work correctly for round trip.
- Synthesis: The scaling buttons cause a redraw on focus lost (if auto-redraw is checked).
Clicking on the scale factor field now automatically selects manual scaling.
- Synthesis: The generated sound is now stored and saved as 16-bit samples.
- Analysis: When components are suppressed by the amplitude threshold, the x-axis is optimised to omit the suppressed components.
- Analysis: reading of WAV files rewritten to read directly rather than using Java audio.
This now gives better information on the meta-data and supports more formats.
It also shows a progress bar if necessary.
Version 03.01
Errors Corrected
- Analysis: handling of thresholds was wrong.
Enhancements
- Synthesis: A button "Auto" has been added to automatically redrawa the graphic whenever a parameter is changed.
- Synthesis: The New button has been removed. The Redraw button creates a new synthesis window if necessary.
- Decimal numbers now use the separators for the system locale.
Version 03.00
Errors Corrected
- Analysis New and Synthesis Import remember the path of the last file opened.
- All formats supported by Java are now supported by the program.
- Some improvements to the positioning of marks.
- Add and Delete harmonics no longer lose any pending edits to values (a).
- The volume control is initially disabled until a synthesis window is created avoiding a crash if the volume was adjusted with no synthesis window.
- The x-axis of the spectrum of the synthesis was wrongly calibrated.
Enhancements
- Synthesis: The frequency with which the sound is played is now entered directly. (Before the frequency was fixed and the octave was selected.)
- Analysis: Extra x-axis added between spectra to give frequency values (assuming window is set to one cycle).
- Analysis: The zoom slider now goes linearly from 1-5 samplels per pixel and then linearly to maximum samples per pixel.
- Analysis: The sound file read into the analysis is shown in the title bar of the analysis window.
- Analysis: The sound file that has been read in to the analysis function can now be played in various segments.
- Synthesis: A new button to set all phases to zero.
- Analysis: The Go to Mark buttons now position the mark in the middle of the screen.
- Analysis: The status line of the analysis window now shows the effective fundamental frequency.
- Analysis: The wave from the file read into analysis is coloured green inside the analysis window and grey outside.
- Analysis: The marks now display the time to a resolution of 1 micro-second and the position in samples.
- Synthesis: Performance improvement: the sound is only recalculated when parameters that affect it have been changed.
In particular, resizing the window does not recalculate.
- Synthesis: The calculations of the wave and sound now has a progress indicator and can be cancelled.
- Synthesis: Starting and stopping sound improved with Start and Stop button enabled or disabled as appropriate.
- Synthesis: Entry of harmonics now checks values when cursor leaves the field. See (a) in Errors Corrected.
- Synthesis: The harmonics can now be sorted by frequency or amplitude.
- Axis calibrations tidied up.
- Synthesis: The frequency of the sound can now be set starting from 1Hz to enable higher sampling rates in the saved WAV file. A C of 256Hz is then octave 9 (the default).
- Synthesis: The reference and constructor figures are now positioned in the middle of the right half of the window to reduce the overlap with the resultant wave.
- Synthesis: The synthesis parameters can be exported and imported as CSV files. This is also compatible witht the export from the analysis.
Version 02.02
Errors Corrected
- Constructor figure with DC did not show line from origin when DC not shown as shift.
Version 02.01
Enhancements
- "Generator" changed to "Constructor" figure.
- Constructor figure shows radius vector. the dot is in the same color as the plot.
- Constructor figure shows angles for which no valid constructor is possible.
- The harmonics are sorted by ascending frequency for the spectrum and vector plots.
- Some colors made transparent to aid visibility on overlaps.
- Decimal input fields improved to allow typing anything and check validity on Redraw or New.
- Decimal input now uses separators of local (e.g. decimal point or comma).
- Display of vectors in reference figure optional.
- Optional display of circles in reference figure.
- Parameters in tabbed panes to save screen space.
- The constructor figure can optionally incorporate DC as a vertical shift.
- The constructor figure can optionally include a vertical line for the y value joined horizontally to the wave.
Errors Corrected
- Handling of DC in generator figure. DC is applied to whole figure and its origin.
- Handling of angles for which no constructor figure is possible - text "No valid constructor".
- Generator figure is now not drawn for angles where there is no valid segment.
- Stop sound button now works.
- Volume control now works (with some delay).
- Component waves of second harmonic and above could be out of phase.
Version 02.00
Enhancements
- First version with analysis function.
Errors Corrected