{"id":18881535,"url":"https://github.com/azlinrusnan/voice_aging_analysis_using_forier-transform_fft_and_stft","last_synced_at":"2026-06-25T03:31:11.122Z","repository":{"id":245121944,"uuid":"817324367","full_name":"AzlinRusnan/Voice_Aging_Analysis_Using_Forier-Transform_FFT_and_STFT","owner":"AzlinRusnan","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-21T01:51:54.000Z","size":913,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-31T08:37:54.965Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AzlinRusnan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-19T13:19:53.000Z","updated_at":"2025-04-21T01:51:58.000Z","dependencies_parsed_at":"2024-06-19T23:49:22.547Z","dependency_job_id":"3ca6ae6e-eaac-4d9a-9ec6-99114c6cc5ef","html_url":"https://github.com/AzlinRusnan/Voice_Aging_Analysis_Using_Forier-Transform_FFT_and_STFT","commit_stats":null,"previous_names":["azlinrusnan/voice_aging_analysis_using_fft_and_stft","azlinrusnan/voice_aging_analysis_using_forier-transform_fft_and_stft"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AzlinRusnan/Voice_Aging_Analysis_Using_Forier-Transform_FFT_and_STFT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AzlinRusnan%2FVoice_Aging_Analysis_Using_Forier-Transform_FFT_and_STFT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AzlinRusnan%2FVoice_Aging_Analysis_Using_Forier-Transform_FFT_and_STFT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AzlinRusnan%2FVoice_Aging_Analysis_Using_Forier-Transform_FFT_and_STFT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AzlinRusnan%2FVoice_Aging_Analysis_Using_Forier-Transform_FFT_and_STFT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AzlinRusnan","download_url":"https://codeload.github.com/AzlinRusnan/Voice_Aging_Analysis_Using_Forier-Transform_FFT_and_STFT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AzlinRusnan%2FVoice_Aging_Analysis_Using_Forier-Transform_FFT_and_STFT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34758773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-25T02:00:05.521Z","response_time":101,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T06:49:54.888Z","updated_at":"2026-06-25T03:31:11.116Z","avatar_url":"https://github.com/AzlinRusnan.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cdiv align=\"center\"\u003eVoice Aging Analysis: A Study on Siti Nurhaliza's Voice Using FFT and STFT\n# \u003cdiv align=\"center\"\u003e![Siti](images/siti.png)\u003c/div\u003e\n\n## 🎵 Azimat Cinta Lyric 🎤\n\u003eCahaya cinta menyinar\n\u003e\n\u003eBerkilauanlah selautan kasih\n\u003e\n\u003eBercahaya\n\u003e\n\u003eBagaikan butiran permata\n\u003e\n\u003eSeolah-olah terapung dipermukaannya\n\u003e\n\u003eDaku menjejaki pantai rindu\n\u003e\n\u003eMengutip kasih yang terdampai\n\n\n## Introduction\nThis study compares the vocal characteristics of Siti Nurhaliza in 2001 and 2022 by analysing the song \"Azimat Cinta.\" The analysis includes waveform analysis, Fourier Transform (FFT), Short-Time Fourier Transform (STFT), and average spectrum analysis to identify changes due to aging.\n\n\n## Data\nAudio recordings of “Azimat Cinta” from 2001 and 2022 were obtained for analysis from two YouTube videos. The first video featured Siti Nurhaliza’s voice from the original 2001 recording (https://www.youtube.com/watch?v=tn6YW0fXQvg), while the second video was taken on her recent voice in 2022 (https://www.youtube.com/watch?v=Rj0KhqoU3dQ). These videos were trimmed using (https://audiocutter.online/) to extract segments from minute 1:45 to 1:56 and minute 5:30 to 5:41. The selected recordings represent the vocal quality of Siti Nurhaliza over a span of two decades. Various techniques were applied to the audio files to provide a comprehensive comparison of the recordings.\n\n## Analysis\n\n### 1. **Wave Signal Analysis**:\n```R\n# Step 1: Load and Visualize Waveforms\n\n library(tuneR)\nlibrary(seewave)\nlibrary(ggplot2)\n\n# Load audio files\naudio_2001 \u003c- readWave(\"C:/Users/User/UKM - Nur Azlin Binti Rusnan/Sem 2/Unstructured Data/Project 3/Task_2/Audio/Siti Nurhaliza_Azimat Cinta_2001_cut.wav\")\naudio_2022 \u003c- readWave(\"C:/Users/User/UKM - Nur Azlin Binti Rusnan/Sem 2/Unstructured Data/Project 3/Task_2/Audio/Siti Nurhaliza_Azimat Cinta_2022_cut.wav\")\n\n# Normalize audio data\naudio_2001 \u003c- normalize(audio_2001, unit = \"32\")\naudio_2022 \u003c- normalize(audio_2022, unit = \"32\")\nplay(audio_2001)\nplay(audio_2022)\n\n# Step 1: Wave Signal Analysis\n# We will plot the waveforms of both audio files to visualize the wave signals.\n\nplot_wave_signal \u003c- function(audio, title) {\n  audio_data \u003c- audio@left / 32768\n  time \u003c- seq(0, length(audio_data) - 1) / audio@samp.rate\n  plot(time, audio_data, type = \"l\", xlab = \"Time (s)\", ylab = \"Amplitude\", main = title)\n}\n\n# Plot Wave Signals\npar(mfrow = c(2, 1))\nplot_wave_signal(audio_2001, \"Waveform of Siti Nurhaliza - Azimat Cinta (2001)\")\nplot_wave_signal(audio_2022, \"Waveform of Siti Nurhaliza - Azimat Cinta (2022)\")\n```\n![wave](images/wavesignal.png)\n\nThe wave signal plot reveals significant differences in amplitude variations between the two recordings. The younger voice (2001) showing higher peaks and more pronounced fluctuations, suggesting a less refined vocal technique at the time. This variability indicates that Siti Nurhaliza’s voice was more dynamic but less controlled in her earlier years. On the other hand, the current voice (2022) shows more consistent amplitude patterns, reflecting improved control and vocal technique. \n\n### 2. **FFT Analysis**: \n```R\n# Step 2: Fourier Transform (FFT) Analysis\n# We will perform FFT to analyze the frequency components of the audio signals.\n\nplot_frequency_spectrum \u003c- function(audio, title) {\n  audio_data \u003c- audio@left / 32768\n  n \u003c- length(audio_data)\n  freq \u003c- (0:(n - 1)) * (audio@samp.rate / n)\n  fft_data \u003c- abs(fft(audio_data))\n  plot(freq[1:(n / 2)], fft_data[1:(n / 2)], type = \"l\", xlab = \"Frequency (Hz)\", ylab = \"Amplitude\", main = title)\n}\n\n# Plot Frequency Spectrum\npar(mfrow = c(2, 1))\nplot_frequency_spectrum(audio_2001, \"Frequency Spectrum of Siti Nurhaliza - Azimat Cinta (2001)\")\nplot_frequency_spectrum(audio_2022, \"Frequency Spectrum of Siti Nurhaliza - Azimat Cinta (2022)\")\n```\n![fft](images/freqspectrum.png)\n\nThe plot display the FFT magnitude spectra highlight a noticeable shift in the fundamental frequency and a reduction in harmonic richness in the current voice compared to the younger voice. The 2001 recording displays a higher fundamental frequency and more pronounced harmonic peaks, indicating a vibrant and rich vocal quality. In contrast, the 2022 recording shows a lower fundamental frequency and fewer harmonics, which may suggest a natural aging process in the vocal cords, leading to a lower pitch and reduced vocal brightness. \n\n### 3. **STFT Analysis**:\n```R\n# Step 3: Short-Time Fourier Transform (STFT) Analysis\n# We will perform STFT to analyze how the frequency content of the audio signals changes over time.\n\nplot_spectrogram \u003c- function(audio, title) {\n  spectro(audio, wl = 1024, ovlp = 50, osc = TRUE, main = title)\n}\n\n# Plot Spectrogram\npar(mfrow = c(2, 1))\nplot_spectrogram(audio_2001, \"Spectrogram (2001)\")\nplot_spectrogram(audio_2022, \"Spectrogram (2022)\")\n```\n![stft](images/spectogram2001.png)\n![stft](images/spectogram2022.png)\n\nThe spectrograms provide a visual representation of how the frequency content of the voice changes over time. The 2001 recording shows a higher concentration of energy in the lower frequencies (below 5 kHz), indicating a stronger and clearer voice. The energy distribution suggests that the younger voice had more power and clarity. In contrast, the 2022 recording, while still showing energy in the lower frequencies, exhibits less intensity. This suggests that the current voice is softer and more controlled, which may reflect both the natural aging process and an evolution in vocal technique towards a more refined and controlled style.\n\n## Discussion\n\nThe FFT and STFT analyses show several important changes in Siti Nurhaliza's voice due to aging. First, the fundamental frequency has decreased, which is common as vocal cords thicken and elongate with age. Second, the harmonic richness has lessened, indicating a reduction in vocal flexibility and power.\n\nThese findings align with previous studies on voice aging. The decrease in fundamental frequency and harmonic richness can be linked to physiological changes in the vocal folds and surrounding structures. As people age, their vocal folds lose elasticity, and the muscles in the larynx weaken, leading to changes in vocal pitch and quality.\n\nThe STFT results offer additional insights into the dynamic aspects of voice aging. The spectrograms show that the formants in the current voice are less intense and more widely spread out. This suggests changes in the resonance characteristics of the vocal tract, which can affect the perceived clarity and timbre of the voice, making it sound more aged.\n\n## Conclusion\n\nOur analysis of Siti Nurhaliza's voice recordings from 2001 and 2022 reveals significant changes in her vocal range over time. The waveform analysis indicates improved vocal control and consistency in the current voice. The FFT analysis shows a natural lowering of the fundamental frequency and a reduction in harmonic richness in the current voice, \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazlinrusnan%2Fvoice_aging_analysis_using_forier-transform_fft_and_stft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazlinrusnan%2Fvoice_aging_analysis_using_forier-transform_fft_and_stft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazlinrusnan%2Fvoice_aging_analysis_using_forier-transform_fft_and_stft/lists"}