phip1611 / spectrum-analyzer

An easy to use and fast `no_std` library (with `alloc`) to get the frequency spectrum of a digital signal (e.g. audio) using FFT.
MIT License
105 stars 17 forks source link

Extending it for a voice feminization coach #57

Open retpolanne opened 8 months ago

retpolanne commented 8 months ago

Hello!

First of all, nice project!

I wanted to open this issue to get some insights on how to capture amplitude and harmonics using this tool. Is it possible? How can I achieve this? (This is more like a confessional debugging issue that I wanted to open so I could organize my ideas, feel free to close it).

Goal: make an easy to use app that will tell me when I raised my resonance successfully without the distraction of an actual spectrogram.

Context

I want to develop a voice feminization coach. For vocal feminization, moving your pitch and your resonance will change the perception of gender in your voice. One tool you can use to check your progress is a spectrogram. The spectrogram is 3-dimensional, having on the Y axis the frequency, X axis the time and have bright colors for the amplitude. With a spectrogram, we can see all of the harmonics:

image

[1]

For voice feminization, having a high amplitude in high frequency harmonics and low amplitude in low frequency harmonics is great.

e.g. this is my voice with dark resonance saying aaaaaa

image

changing from bright to dark

image

PS: I'm not a voice specialist, nor really knowledgeable in sound analysis.

References

[1] HOW TO USE A SPECTROGRAM | Voice Feminization - TransVoiceLessons [2] Trans Voice Visualized: How to Read Spectrograms - Scinguistics

phip1611 commented 3 months ago

PS: I'm not a voice specialist, nor really knowledgeable in sound analysis.

Me too (as already written in my email to you). Feel free to post some progress in this issue, as it might also be interesting to others. Eventually, I'm going to close it, however.