Execute a window function on an audio file or a CSV file/string input.
- Available window functions are Rectangular, Hann, Hamming, and Blackman.
- Preserves input audio file encoding.
Currently an automatic installation exists only for Windows, and binaries are built only for Windows. For other Operating Systems you need to build from source.
To install automatically, use the install script located in install/ by executing the command below in a PowerShell terminal with Admin rights,
irm "https://raw.githubusercontent.com/ymich9963/windfcn/refs/heads/main/install/windfcn-windows-install.ps1" | iex
The script downloads the executable, moves it to C:\Program Files\windfcn\, and adds that path to the system environment variable. If you do not want the automated script feel free to download the executable or build from source. In case your organisation doesn't allow you to install from the script due to protected paths, download the script and change the $WindFcn_install_path variable to a location that suits you.
Please the Building section. Use make to build from source.
The --help option which provides a list of the available commands is listed below, followed by example uses.
Windowing Function (WindFcn) help page.
Basic usage 'windfcn <Input audio file or CSV file or CSV string> [options]. For list of options see below.
--info = Output to stdout some info about the input file.
-i, --input <File/String> = Accepts audio files and CSV files or strings. Make sure to separate string w
ith commas, e.g. 1,0,0,1. Use the options below if you want to specify but DFTT implements auto-detection.
--input-audio
--input-csv
-o, --output <File Name> = Path or name of the output file.
-f, --output-format <Format> = Format of the output file. Select between: 'audio', 'stdout', 'stdou
t-csv', 'columns', and 'csv'.
-p, --precision <Number> = Decimal number to define how many decimal places to output.
-q, --quiet = Silence all status messages to stdout. Overwrites '--info'.
Calculate the Hann window for a string of data.
windfcn 1,0,0,1 -w hann
Can also use audio files,
windfcn smells-like-teen-spirit.wav -w blackman
Simply use the make command to build the executable.
Running the tests or coverage can be done by running,
make test
make coverage
Testing suite used is Unity and LLVM-COV for coverage.