Fatemeh Jamshidi

Fatemeh Jamshidi

Assistant Professor , Computer Science, College of Science

Senior Projects

1. Audio Beat Tracking with Recurrent Neural Networks (RNNs)

Description: Audio beat tracking is the process of determining the precise moments in a recording when a human listener would naturally tap their foot to the rhythm. The goal of this project is to create an automatic beat-tracking system that identifies these beat onset times across a collection of sound files. This task, fundamental in music information retrieval, helps analyze tempo and rhythmic patterns. Students will explore the use of onset detection paired with dynamic programming and an ensemble of RNNs combined with dynamic Bayesian networks to enhance tracking accuracy. By working through this project, students will gain hands-on experience in feature extraction, model training, and fine-tuning.

Skills Covered: Audio signal processing, Python programming, the madmom library, RNN implementation, model evaluation.

How You Can Do It: Follow JalFaizy Shaikh’s tutorial, which covers the approaches of dynamic programming and RNNs with dynamic Bayesian networks, using the madmom Python library. Find the source code here.

Potential Application: Useful for developing rhythm-based game mechanics and tools for DJs or music producers to synchronize musical tracks.


2. Music Genre Classification Using Machine Learning

Description: Music genre classification is essential for streaming platforms that personalize user experiences. In this project, students will create a model that categorizes songs into genres by analyzing their audio features. The project involves using machine learning algorithms like support vector machines, k-means clustering, and convolutional neural networks to classify audio files based on extracted frequency and time-domain features. Students will explore how data augmentation techniques can improve model generalization and accuracy.

Skills Covered: Feature extraction with Python libraries, preprocessing, data augmentation, machine learning algorithms, hyperparameter tuning.

How You Can Do It: Use the GTZAN genre collection dataset and follow Raghav Agrawal’s tutorial, which explains how to process and classify audio using machine learning models.

Potential Application: This project can be applied to develop customized game soundtracks, smarter music curation tools, and enhanced music discovery features for streaming services.


3. Automatic Music Generation with Deep Learning

Description: Unlike genre classification, automatic music generation focuses on composing new pieces using deep learning techniques. This project will have students train LSTM models to generate music sequences, mimicking patterns learned from existing MIDI datasets. The outcome will be a model capable of generating MIDI files, producing compositions based on trained notes and chord progressions. Students will learn about input representation, sequence generation, and model architecture.

Skills Covered: Deep learning with LSTM, sequence-to-sequence modeling, music data preprocessing, creative model outputs.

How You Can Do It: Follow Dataflair’s three-step tutorial on input representation (using a classical MIDI dataset), building LSTM model architecture, and sampling to predict notes.

Potential Application: Ideal for dynamic game soundtracks and producing original compositions for digital music platforms.


4. Spotify Wrapped: Data Visualization and Machine Learning on Your Top Songs

Description: This project involves creating visualizations and analyzing data from user playlists over several years (e.g., 2016–2021). The goal is to identify trends such as top artists, most repeated songs, and song release dates. Students will implement different machine learning algorithms to enrich the data analysis.

Skills Covered: Data visualization, machine learning algorithms, using APIs, data analysis.

How You Can Do It: Adam Reevesman’s tutorial walks through using the Spotify API for data collection and employing models like logistic regression and decision trees.

Potential Application: Useful for music analytics platforms and customized user engagement tools.


5. Building a Music Recommendation System Using Spotify API

Description: This project will guide students in creating a music recommendation system that uses both content-based and collaborative filtering methods. Students will connect to Spotify's API to collect user data and audio features, applying machine learning algorithms to build a model that recommends new music based on listening patterns and user preferences.

Skills Covered: API integration, data analysis, machine learning with Python, recommendation algorithms, user profiling.

How You Can Do It: Use Tanmoy Ghosh’s tutorial for implementing content-based filtering with cosine similarity and building a collaborative-filtering engine.

Potential Application: Personalized game soundtracks, adaptive in-game music, and music discovery in streaming services.


6. Million Song Dataset Challenge

Description: This Kaggle challenge aims to create a music recommendation model using the listening history of users. Students will work with the Million Song Dataset and explore user-based and item-based recommendation strategies, applying various algorithms such as k-nearest neighbors.

Skills Covered: Collaborative filtering, recommendation systems, data handling with large datasets.

How You Can Do It: Review Cornell University’s team report or explore Fabio Aiolli’s model-based collaborative filtering approach for inspiration.

Potential Application: Enhancing music streaming services with scalable recommendation models.


7. KKbox’s Music Recommendation Challenge

Description: This project allows students to predict whether users will re-listen to songs using data from KKbox, a major Asian streaming service. The project emphasizes converting music data into a classification problem and comparing algorithms to find the best-performing model.

Skills Covered: Feature engineering, classification models, data exploration.

How You Can Do It: Follow Khushali Vaghani’s tutorial on processing and feature engineering for KKbox’s dataset.

Potential Application: Improved predictive algorithms for user retention in streaming platforms.


8. Speech Emotion Recognition with Librosa

Description: Students will develop a system that detects emotions from speech using the RAVDESS dataset and librosa for feature extraction. This project focuses on audio data analysis and emotion classification through machine learning models.

Skills Covered: Speech processing, feature extraction with librosa, model training, cross-validation.

How You Can Do It: Use Analytics Vidhya’s guide on building models with MLPClassifier or CNNs for emotion detection.

Potential Application: Adaptive game dialogue systems, emotion-aware virtual assistants.


9. Music Transcription with Python

Description: This project deals with converting user-provided audio into musical notation through machine learning. Students will implement algorithms to recognize and segment music into notated form.

Skills Covered: Audio preprocessing (STFT), LSTM/BiLSTM model building, peak detection.

How You Can Do It: Refer to Yue Hu’s tutorial on using librosa and deep learning for transcription tasks.

Potential Application: Music notation tools, educational music software.


10. Chord Recognition Using Librosa

Description: Chord recognition involves identifying chords within a piece of music. This project will utilize the Isophonics dataset and the librosa library for analyzing chord progressions.

Skills Covered: Chord detection, deep learning, feature engineering.

How You Can Do It: Follow relevant Medium tutorials that guide through dataset use and building chord models.

Potential Application: Enhancing music learning tools, songwriting software, and game soundtracks.

 

 


11. Immersive Music Education Platform

Description: Students will design an immersive VR platform where users can engage in music practice, learning scales, chords, and theory within an interactive virtual space. The goal is to simulate real-life learning experiences with instant feedback and visual cues. This project will cover user interface design, audio integration in VR, and creating interactive lessons that adapt to user performance.

Skills Covered: VR development in Unity or Unreal Engine, audio integration, user interaction design, gamification strategies.

Potential Application: Enhanced music education, virtual rehearsals, and interactive training for music students at all levels.


12. Surgical Training Programs with Extended Reality

Description: This project involves creating a VR-based surgical training module that offers medical students and professionals an interactive learning environment with real-time performance feedback. The platform will feature detailed anatomical models and precision-based tasks to develop and refine surgical techniques.

Skills Covered: XR development, real-time feedback systems, medical simulation design, 3D modeling.

Potential Application: Medical education, hands-on surgical training, and improved pre-surgery practice routines.


13. Smart Manufacturing Simulations

Description: This project allows students to develop XR-based training simulations for smart manufacturing processes. The simulation will replicate assembly line tasks and integrate IoT sensors for real-time feedback, enabling learners to practice and understand production workflows in a risk-free virtual environment. Students will learn to create realistic virtual environments, simulate process flows, and incorporate sensor data for interactive training.

Skills Covered: XR development, industrial IoT integration, simulation modeling, data analytics, real-time feedback mechanisms.

How You Can Do It: Utilize Unity or Unreal Engine for VR development and connect IoT sensors via APIs for data integration. Develop interactive models that simulate real-world manufacturing scenarios.

Potential Application: Workforce training, improved process efficiency, and enhanced collaboration in manufacturing training programs.

 

14. Adaptive Music Therapy with EEG-Connected Immersive Environment

Description: This innovative project combines the use of EEG sensors to monitor brain activity with an immersive VR environment that adapts music in real-time based on the user's neural responses. By leveraging EEG data, the system tailors music selections and ambient sounds to promote relaxation, focus, or stimulation, depending on the user’s current brainwave patterns. The VR environment enhances the experience through visual feedback, creating a multi-sensory therapeutic setting. This project aims to study how adaptive music can impact emotional and cognitive states and assess user reactions to different auditory and visual stimuli.

Skills Covered: EEG signal processing, real-time data integration, VR development with Unity or Unreal Engine, adaptive music algorithms, data analysis of neural responses, user experience design.

How You Can Do It: Start by integrating an EEG headset (such as the Muse or OpenBCI) with Python-based libraries for real-time brainwave data acquisition. Develop an adaptive music engine using audio libraries and connect it to a VR environment that reacts to user feedback. Use Unity or Unreal Engine to create immersive scenes that respond dynamically to changes in music.

Potential Application: Therapeutic tools for stress management, cognitive training, and enhanced mental wellness. This approach could also extend to educational applications where adaptive soundscapes improve focus and retention.