{"id":19685335,"url":"https://github.com/nourine-nadir/speech_processing","last_synced_at":"2026-02-22T16:14:38.699Z","repository":{"id":234775324,"uuid":"789491957","full_name":"Nourine-Nadir/Speech_Processing","owner":"Nourine-Nadir","description":" This repository explores speech processing techniques like noise cancellation and speech segmentation through Python code.(Speech recognition soon)","archived":false,"fork":false,"pushed_at":"2024-09-09T17:14:12.000Z","size":8798,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-09-09T21:28:10.456Z","etag":null,"topics":["artificial-intelligence","noise-cancellation","speech-processing","speech-segmentation"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/Nourine-Nadir.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}},"created_at":"2024-04-20T17:46:29.000Z","updated_at":"2024-09-09T17:14:15.000Z","dependencies_parsed_at":"2024-05-01T19:04:44.973Z","dependency_job_id":"5a00baa5-1cc0-4c77-bf7a-cd375b5e7129","html_url":"https://github.com/Nourine-Nadir/Speech_Processing","commit_stats":null,"previous_names":["nourine-nadir/speech_processing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nourine-Nadir%2FSpeech_Processing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nourine-Nadir%2FSpeech_Processing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nourine-Nadir%2FSpeech_Processing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nourine-Nadir%2FSpeech_Processing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nourine-Nadir","download_url":"https://codeload.github.com/Nourine-Nadir/Speech_Processing/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224152502,"owners_count":17264717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["artificial-intelligence","noise-cancellation","speech-processing","speech-segmentation"],"created_at":"2024-11-11T18:21:29.165Z","updated_at":"2025-10-25T17:41:42.035Z","avatar_url":"https://github.com/Nourine-Nadir.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Speech Processing\n\nThis repository contains code for various speech processing tasks.\n\n**Subfolders:**\n\n* **speech_preprocessing:**  Contains functions for preprocessing speech audio, including:\n    * Spectrogram calculation\n    * Noise cancellation (using spectral subtraction)\n* **wavs:** Stores audio files used in the examples.\n\n**Files:**\n\n* **Noise_cancelling.py:** Implements functions for calculating spectrograms, noise cancellation, and audio reconstruction.\n* **speech_segmentation.py:** Implements a basic speech segmentation engine using energy-based detection.\n\n**Noise Cancellation**\n\nThe `Noise_cancelling.py` file provides functions for:\n\n* Spectrogram calculation (`spectrogram` and `spectrogram2wav`) for converting between time and frequency domains.\n* Noise cancellation (`NoiseCancelling`) using spectral subtraction to remove noise from an audio signal.\n\n**Speech Segmentation**\n\nThe `speech_segmentation.py` file demonstrates a simple speech segmentation engine based on energy levels. The `Engine` class implements methods for:\n\n* Calculating energy of the audio signal.\n* Updating a dynamic threshold based on background noise.\n* Detecting speech segments based on energy exceeding the threshold for a minimum duration.\n\n**Running the Examples**\n\nThis repository requires libraries like `numpy`, `matplotlib.pyplot`, `scipy.io.wavfile`, and `IPython.display` (for audio playback). Make sure you have them installed before running the scripts.\n\nThe provided code snippets showcase the functionalities. You can modify them to suit your specific needs.\n\n**Future Work**\n\nThis repository serves as a starting point for speech processing tasks. Here are some potential areas for future development:\n\n* Implementing more sophisticated noise cancellation techniques.\n* Utilizing feature extraction methods for speaker recognition or speech classification.\n* Refining the speech segmentation engine for better accuracy.\n\nFeel free to explore, modify, and contribute to this repository!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnourine-nadir%2Fspeech_processing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnourine-nadir%2Fspeech_processing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnourine-nadir%2Fspeech_processing/lists"}