{"id":20651539,"url":"https://github.com/anuragmishracse/audio_emotion_analysis","last_synced_at":"2025-08-18T07:04:29.133Z","repository":{"id":83053916,"uuid":"62440099","full_name":"anuragmishracse/audio_emotion_analysis","owner":"anuragmishracse","description":"The library is useful for analyzing the emotions present in any audio file(call/music/recordings) into three classes namely positive, negative, neutral.","archived":false,"fork":false,"pushed_at":"2016-07-26T12:32:02.000Z","size":4729,"stargazers_count":31,"open_issues_count":0,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-18T16:10:37.972Z","etag":null,"topics":["audio","audio-emotion-analysis","emotion","emotion-analysis","extract-features","feature-extraction"],"latest_commit_sha":null,"homepage":"","language":"Python","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/anuragmishracse.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":"2016-07-02T07:44:59.000Z","updated_at":"2024-06-23T00:48:11.000Z","dependencies_parsed_at":"2024-01-07T04:45:11.488Z","dependency_job_id":null,"html_url":"https://github.com/anuragmishracse/audio_emotion_analysis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/anuragmishracse/audio_emotion_analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuragmishracse%2Faudio_emotion_analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuragmishracse%2Faudio_emotion_analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuragmishracse%2Faudio_emotion_analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuragmishracse%2Faudio_emotion_analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anuragmishracse","download_url":"https://codeload.github.com/anuragmishracse/audio_emotion_analysis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuragmishracse%2Faudio_emotion_analysis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270956456,"owners_count":24674938,"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","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"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":["audio","audio-emotion-analysis","emotion","emotion-analysis","extract-features","feature-extraction"],"created_at":"2024-11-16T17:28:07.851Z","updated_at":"2025-08-18T07:04:29.093Z","avatar_url":"https://github.com/anuragmishracse.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# audio_emotion_analysis\nThe objective of this project is to predict the emotion present in any audio file/signal.\n\n\u003e Clone the project and move to the directory in shell/command line.\n\n##Requirements:\n1. Anaconda - This installs python along with most popular python libraries including sklearn. If not already installed, install it from https://www.continuum.io/downloads . \n2. python_speech_features - Python library for feature extraction.\n3. pyaudio - Python library for recording and playing of audio samples. \n\nThe requirements 2 and 3 can be installed by executing the following using shell/cmd, in the cloned repository directory:\n```\npip install -r requirements.txt\n```\n\n##Installation:\n\nOnce the requirements are installed, just type the following in shell/cmd\n`python setup.py install`\n\n##Preparing dataset:\n- Put all the unlabelled audio files in a folder named `calls`, or any other folder and update the name of folder in `label_dataset.py`.\n- Run the script `label_dataset.py`. \n\t- It will scan all the audio files, create a set of 30 sec audio chunks.\n\t- It will play each chunk and then ask for a label (positive/neutral/negative).\n\t- Enter `1` for `negative`, `2` for `neutral` and `3` for `positive`.\n\t- Continue until all the chunks are labelled. \n\t- A new dataset will be prepared in a new folder named `data`, with each audio file of the name in the format `\u003clabel\u003e_\u003ccounter\u003e.wav`. For example:\n\t```\n\t\u003e positive_1.wav\n\t\u003e negative_2.wav\n\t```\n\n## Scripts description:\n### feature_extractor.py\nExtracts the features from any audio file or signal and returns a feature vector.\n\n### emotion_analysis.py\nThis is the backbone of the project. It contains modules that \n- extracts features using the `feature_extractor.py`\n- trains the model\n- tests the model\n- evaluates the model on new dataset\n\n##Evaluating a new dataset:\n- Put all the new audio files in a folder named `test_calls`, or any other folder and update the name of the folder in `main_script.py`.\n- Execute the script `main_script.py` by typing the following in shell/cmd, in the containing directory:\n```\npython main_script.py\n```\n- The script will load an existing model or train a new model on the dataset prepared, extract features for each of the new audio files and feed it to the trained model.\n\n###Results\n- For each file, following three things are evaluated:\n\t- Overall emotion\n\t- Emotion transition from first half to second half\n\t- Emotion present in each 20 sec chunk of the file\n- These results for each audio file are written to a `.csv` file, on which further analysis can be done. \n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanuragmishracse%2Faudio_emotion_analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanuragmishracse%2Faudio_emotion_analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanuragmishracse%2Faudio_emotion_analysis/lists"}