Julia package for Short-Time Fourier Transform stuff

89dcd1b `Function name correction + new dev repo link`

~zymon pushed to ~zymon/STFT.jl git

`STFT.jl`

- Short-Time Fourier Transform`STFT.jl`

is a small Julia package implementing just Short-Time Fourier Transform (STFT) routines.
It provides the following core functionality:

; transform time-domain signal to STFT-domain signal.*signal analysis*; transform STFT-domain signal to time-domain signal.*signal synthesis*

Check the documentation for more insights.

The package is currently available in General, the default Julia package registry. To install this package from General registry, use the following command in Julia REPL:

```
] add STFT
```

Alternatively, directly via repository:

```
pkg> add https://git.sr.ht/~zymon/STFT.jl
```

Below you can find a few standalone examples with basic usage of the package.

```
using STFT
using Plots
x = randn(10000) # Generate mock signal
W = 64 # Window length
w = ones(W) # Rectangular analysis window
H = 10 # Hop
L = W - H # Overlap
X = stft(x, w, L) # Analysis
s = abs2.(X) # Compute spectrogram
heatmap(10log10.(s)) # Display spectrogram
```

```
using STFT
x = randn(10000) # Generate mock signal
W = 64 # Window length
w = ones(W) # Rectangular analysis window
H = 10 # Hop
L = W - H # Overlap
X = stft(x, w, L) # Analysis
X = f(X) # Modify STFT-domain signal
y = istft(X, w, L) # Synthesis
```

Alternatively, instead of `using STFT`

, you can `import STFT`

,
and use an alternative API, i.e., `analysis`

and `synthesis`

.

```
import STFT
x = randm(10000) # Generate mock signal
W = 64 # Window length
w = ones(W) # Rectangular analysis window
H = 10 # Hop
L = W - H # Overlap
X = STFT.analysis(x, w, L) # Analysis
X = f(X) # Modify STFT-domain signal
y = STFT.synthesis(X, w, L) # Synthesis
```