Introduction to Shrouk’s Studio!

The image shows Shrouk working intently at their colourful and creative electronics lab. Shrouk has an afro hairstyle and is wearing a brightly coloured dress which is mainly deep oranges and reds with intricate patterns. She is working on a printed circuit board with an oscilloscope, seemingly deeply focused on the detailed electronics work or experiment they are engaged in.

Shrouk's workspace has an artistic, energetic vibe, filled with various bright decorations and objects in oranges, pinks, blues and greens that match Shrouk's expressive and unique style. The photograph captures a moment of concentration as Shrouk applies their skills to an electronics project, with the vibrant atmosphere of the lab reflecting Shrouk's creative personality and approach. The setting suggests Shrouk is bringing an imaginative flair to their electronics work.

Welcome to the Shrouk El-Attar Digital Studio! I am a neurodivergent British-Egyptian artist, engineer, and creative technologist, aiming to create a digital space where cultural heritage meets cutting-edge technology ✨🤖

My studio specialises in creating interactive AI-driven art installations and non-binary belly dancing robots. I am super committed to decolonizing technology and making engineering accessible to underrepresented communities, including refugees and disabled individuals.

Thank you for taking the time to stop by and feel free to leave a comment! Let’s inspire and empower others to explore the fusion of creativity and technology, breaking down barriers and redefining the future of art and tech! 💃🏽💃🏽

View post >

Tuning the Beats! (with AI obvz)

I’m excited to share my challenging experience working on my latest project using Edge Impulse. This time, I was on a mission to train a machine learning model to recognise and respond to two core sounds in Egyptian percussion: “Doom” and “Tak.” Spoiler alert: it was a lot tougher than my “Hey Shrouk” project! 

Step 1: Data Collection I started by collecting data for the “Doom” and “Tak” sounds. This involved recording multiple samples of each sound.

Edge Impulse data collection interface with options to set label, length, and category. A blue 'Start recording' button is centered, with 'Audio captured with current settings: 0s' displayed below.

Step 2: Dataset Overview With 41 seconds of audio data collected, I split it into training and test sets. This step is for validating the model later on. Each sound (“Doom” and “Tak”) had its dedicated samples labelled for effective training. 

Edge Impulse dataset overview showing 41s of collected data, 73% train/27% test split, and a list of 'tak' audio samples with timestamps.
Edge Impulse dataset overview showing 41s of collected data, 73% train/27% test split, and a list of 'doom' audio samples with timestamps.

Step 3: Impulse Design Designing the impulse involved setting up time series data, adding a processing block, and configuring the learning block. This setup is the backbone of how the model will interpret and classify the sounds! 🧩

Edge Impulse interface for configuring impulse design, showing time series data settings for audio input with options to add processing and learning blocks.
Edge Impulse feature extraction options, highlighting Audio (MFCC) and Audio (MFE) methods for processing voice and non-voice audio signals respectively.
Edge Impulse interface showing configured impulse design for audio classification, with time series data, Audio (MFE) processing, and Classification blocks set up to distinguish between 'doom' and 'tak' sounds.
Edge Impulse interface showing feature generation for a machine learning model. Training set contains 30s of data with 2 classes (doom, tak) and 30 training windows. A 'Generate features' button is prominent.

Step 4: Feature Generation Here, I used the Audio (MFE) block to extract Mel-filterbank energy features from the audio signals. These features are essential for distinguishing between “Doom” and “Tak.” This step felt like giving the model its auditory senses 🎧

Console output showing successful feature generation process in Edge Impulse. Steps include dimension reduction, embedding construction, and output file writing, completed in about 9 seconds.

Step 5: Training the Model Next, I trained the model with the collected data. This part was challenging as I had to tweak parameters like sample rate and noise handling. Despite my efforts, the model sometimes detected a “Tak” when there was none and vice versa, though it handled “Doom” better. 🏋️‍♂️

Step 6: Feature Explorer Visualising the features in the explorer gave me insights into how well the model was learning to differentiate the sounds. The scatter plot shows the clusters of “Doom” and “Tak,” albeit with some overlap due to noise issues. 🔍

Screenshot of the Edge Impulse feature explorer showing a scatter plot with clusters of 'Doom' and 'Tak' sound features, with 'Doom' represented by blue dots and 'Tak' by orange dots. Processing time and peak RAM usage statistics are displayed below.

Step 7: Neural Network Architecture I configured the neural network with several convolutional layers to process the audio features. This architecture aimed to enhance the model’s ability to recognise intricate patterns in the sounds

Screenshot of the Edge Impulse neural network architecture configuration page. The setup includes layers such as reshape, 1D convolution, dropout, flatten, and an output layer for classifying 'Doom' and 'Tak' sounds. A 'Start training' button is visible at the bottom.

Step 8: Model Performance The final model showed an impressive accuracy of 100% on the validation set, but achieving this in real-world conditions proved tricky due to noise and timing issues. The confusion matrix highlights the model’s perfect score on the test data, but it still needs refinement for practical use 🙁

The results from the model training, showing the performance of 100% accuracy from the limited test and training dataset.

Working on the “Doom” and “Tak” project with Edge Impulse is an enlightening experience. It pushed my boundaries and taught me the importance of fine-tuning parameters to handle real-world complexities. I am also struggling with sample rates  and timings for more accurate representation of a beat. While the journey is a little tough, especially dealing with noise and sample rate issues, the process is still rewarding and I’m super excited to figure out how to solve those issues!

Machine learning is as much an art as it is a science, I will keep experimenting! 💪🏽🥳

View post >

Hey Shrouk! Building My AI Voice-Activated Assistant!

In my quest to make my belly dancing robot recognise percussion sounds, I started with a more generic AI sound recognition exercise. And it was super exciting! “Hey Siri”? Nah Uh – Hey Shrouk! 😉Let me take you on a journey through my experience of building a model using Edge Impulse that responds to my voice saying, “Hey Shrouk!”

Step 1: Collecting Data To kick things off, I needed to gather some data. Edge Impulse made this super easy! I recorded myself saying “Hey Shrouk” multiple times. The interface even had a cool progress ring to show when I was collecting samples. With just a few minutes of audio data, I was all set. 🎤

Edge Impulse interface for sound recognition model creation. Screen shows "[3/10] Collecting some data" with instructions to record "Hey Shrouk" samples. A colorful circular progress bar indicates 0 seconds of recording remaining.

Step 2: Data Collection Complete Once I had enough samples, Edge Impulse gave me the green light with a big, friendly checkmark. LEVEL UP! ✔️

Edge Impulse interface showing completion of data collection. A green checkmark in a circle is displayed above the text "Great! We have recorded enough samples." An "OK" button is centered below.

Step 3: Designing the Impulse Next, I moved on to designing the impulse. Edge Impulse takes raw data, applies signal processing, and uses a learning block to classify new data. It sounds complicated, but let’s walk through it together! 🧙‍♂️

Edge Impulse interface showing step 5 of 10: "Designing your impulse". It explains the concept of an 'impulse' for detecting "Hey Shrouk", mentioning MFE signal processing and neural network classifier. Options to quit or proceed to spectrograms are visible.

Step 4: Generating Spectrograms To make sense of the audio data, I converted it into spectrograms. This step highlights interesting frequencies and reduces the amount of data, making it easier for the model to understand my voice 🎨

Edge Impulse interface showing step 6 of 10: "Spectrograms". It explains the role of signal processing in impulse creation, mentioning de-noising, frequency highlighting, and data reduction. Options to quit or proceed to generate features are visible.

Step 5: Raw Data Visualization Here’s a glimpse of the raw audio data I collected. It’s like looking at the heartbeat of my voice representing every “Hey Shrouk” I recorded! 📈

Edge Impulse interface showing raw audio data visualization for "Hey Shrouk.26" sample. The graph displays audio amplitude over time (0-990ms), with significant waveform activity visible between 350-700ms. A playback control is present below the graph.

Step 6: DSP Results The Digital Signal Processing (DSP) results. This step helped the AI model differentiate between my voice and background noise 🔊

This image shows a spectrogram representing the Mel Energies (DSP Output) from audio processing. The spectrogram displays frequencies over time, with colors ranging from blue (low energy) to red (high energy). Vertical patterns indicate distinct sound events, corresponding to utterances of "Hey Shrouk" captured during data collection for the voice recognition model.

Step 7: FFT Bin Weighting Next up was the FFT Bin Weighting. This visual shows how the model processes different frequencies in my voice! 

This image shows the FFT (Fast Fourier Transform) Bin Weighting visualization in Edge Impulse. It displays a curved line graph with colors transitioning from red (low frequencies) to blue (high frequencies). Below is a color scale bar and a snippet of processed feature values. This graph represents how different frequency components are weighted in the audio processing, which is crucial for voice recognition model training.

Step 8: Tuning Feature Parameters I fine-tuned parameters like frame length, frame stride, and filter number. These settings ensure that the model accurately captures the nuances of my voice by changing the size of the sample (i.e. recording!) and how much time we skip forward in the audio recording in each pass!

This image shows the parameter settings for audio processing in Edge Impulse. It displays raw feature values labeled as "hey_shrouk" and various adjustable parameters for Mel-filterbank energy features. These include frame length, frame stride, filter number, FFT length, frequency ranges, and noise floor. The interface allows for manual adjustment or autotuning of these parameters, which are crucial for optimizing the voice recognition model's performance.

Step 9: Exploring Features The Feature Explorer gave me a visual representation of all the data features. Seeing the clusters of “Hey Shrouk” data separated from noise was like finding order in chaos! No model is 100% accurate though and we can see a few “Hey Shrouk” outliers that have snuck into the noise and unknown data cluster. 🌌

The Feature Explorer shows a scatter plot of audio samples. Most "hey_shrouk" samples (blue dots) are clustered separately from noise and unknown samples (orange and green dots), which are intermixed. This visual separation indicates the model is distinguishing the target phrase from other sounds, though some overlap exists.

Step 10: Training the Model Finally, it was time to train the neural network. Edge Impulse showed me the performance metrics, including accuracy, loss, and a confusion matrix. I was excited to see a high accuracy rate of 95.9%! 🚀

This image shows the model's performance metrics after training. The overall accuracy is 95.9% with a loss of 0.15. A confusion matrix displays the classification results for "hey_shrouk", noise, and unknown categories. The model correctly identifies "hey_shrouk" 93.3% of the time, noise 97.2%, and unknown sounds 95.2%. F1 scores for each category are also provided, all above 0.93, indicating strong performance across all classes.

Creating a voice-activated assistant with Edge Impulse was an amazing experience! The platform’s user-friendly interface and powerful tools made it easy and fun to bring my project to life. If you’re into AI, machine learning, or just love tinkering with tech, I highly recommend giving Edge Impulse a try. Who knows what awesome projects you’ll come up with next? 😍🧠✨

View post >

Dancing for Freedom: Honouring Sarah Hegazi

A photo of Sarah Hegazi smiling widely and holding a rainbow flag aloft at a crowded nighttime outdoor event, with stadium lights visible in the background.

When I dance, I always dance with a rainbow flag. The same flag that Sarah Hegazi was imprisoned, tortured, and eventually died for. When I dance, I dance as a protest. I dance in all my queerness. I dance in all my Egyptianess. I will not apologise for who I am. I will not apologise for existing.

The Bellydancing Robot: A Blend of Art and Technology

As a neurodivergent, British-Egyptian queer refugee woman in engineering, I am vastly underrepresented in this field. The engineering industry can be incredibly challenging and often feels unwelcoming for people like me. Despite my love for engineering, the lack of diversity and representation makes it a difficult environment. 

Representation is crucial. When people see someone like me succeeding in engineering and combining it with art, it opens doors and inspires others. It challenges the stereotypes and norms that have long dominated this field. It is important to showcase that diversity in engineering leads to innovation and richer, more inclusive technological advancements.

The bellydancing robot project began as a way to explore how robotics could be used in art as a form of resistance against the systemic barriers that exist in my industry. Using my engineering skills and love for dance, I designed a robot that can perform bellydancing moves. It celebrates my cultural heritage.

However, the term “belly dance” is a Western name that has colonised a rich and diverse tradition. The dance I integrate into my robot’s performances is rooted in Egyptian culture, not the often exoticised version seen in Western media. This project is my way of reclaiming and decolonising this art form, highlighting its true origins and cultural significance.

Sarah Hegazi: A Symbol of Courage and Resistance

Sarah Hegazi was an Egyptian LGBTQ+ activist who became a symbol of courage and defiance. In 2017, she was arrested and tortured for raising a rainbow flag at a concert in Cairo. Despite her suffering, Sarah continued to fight for LGBTQ+ rights until her death in 2020. Her story is one of bravery and a strong commitment to justice and equality. Sarah was also my friend.

Combining Technology and Advocacy

The bellydancing robot is a way for me to honour Sarah Hegazi’s legacy. Just as Sarah used her voice to fight for the marginalised, the robot uses dance to promote messages of inclusivity and resilience. By including LGBTQ+ themes in the performances, I aim to raise awareness and create a sense of solidarity within the community.

A Tribute to Sarah Hegazi

Sarah died for my right to wave this flag. I will exercise this right every single chance I get. It’s been almost four years since Sarah died, and at times, it still doesn’t feel real. I met Sarah in 2016 through a mutual friend. We were part of a secret LGBT+ Egyptian group. Sarah always encouraged me to visit Egypt again, saying it was getting safer for LGBTQ+ people.

Then, one night in 2017, at a Mashrou3 Leila concert in Cairo, she waved a rainbow flag. For a few hours, I thought she was right—Egypt was getting safer. But soon, terror swept through our community. People disappeared, and Sarah was taken by the Egyptian secret services.

We later found out she was held in solitary confinement under terrorism charges. She was tortured with electric shocks, beaten, and sexually assaulted. When she was released, activists helped her escape to Canada. Despite the trauma, Sarah continued to support our community.

Why Vital Capacities Is So Important

Vital Capacities is crucial because it merges accessibility with artistic innovation. It provides a unique platform where I can grow and contribute. The residency’s commitment to breaking down barriers and fostering diverse artistic expressions aligns perfectly with my goals to decolonise technology and make engineering more inclusive.

Integrating AI into the Bellydancing Robot

My residency with Vital Capacities is about enhancing my ongoing project by integrating Artificial Intelligence into the bellydancing robot. The aim is to create a dynamic installation that not only performs Egyptian dance but interacts with audiences through AI. It will recognise and respond to a mix of ‘doom’ and ‘tak,’ the core sounds of Egyptian percussion, and choreograph dance movements in real-time.

Integrating AI into my work with the bellydancing robot will be transformative. It will elevate my artistic practice from static performances to interactive, responsive shows where each audience interaction is unique. This technology not only broadens the scope of my performances but also deepens my engagement with audiences, creating a truly immersive experience.

Forever

Sarah’s life and activism have greatly influenced my work. Through the bellydancing robot, I continue her legacy by creating a platform that entertains, educates, and inspires. Each performance is a reminder of the courage needed to stand up against injustice and a tribute to those who fight for equality and human rights.

Next time you wave a rainbow flag, please remember that Sarah Hegazi died for your right to do so. Wear that flag as a badge of honour. Pride is a protest. Our mere existence is an act of defiance. Forever, in your name, Sarah. 🖤✊🏽🏳️‍🌈

View post >

Making posts accessible with AI 🦾

As part of my artist residency exploring AI and inclusivity, I’ve been utilising the AI assistant Claude to make my visual content more accessible. One simple yet impactful way I’m doing this is by having Claude generate alt-text for the images I share. 🏗️


Alt-text is a written description of an image that gets read aloud by screen readers, enabling people with sight and vision impairments to understand the content of visual media. It’s an important part of making the web more accessible and inclusive. ✨


To create the alt-text, I simply upload an image to my conversation with Claude and ask it to provide a detailed description of what the image depicts. For example, for the photo of me in the Welcome the the Studio post, Claude created the text below (with a tiny few tweaks and edits from me first!):


“The image shows Shrouk working intently at their colourful and creative electronics lab. Shrouk has an afro hairstyle and is wearing a brightly coloured dress which is mainly deep oranges and reds with intricate patterns. She is working on a printed circuit board with an oscilloscope, seemingly deeply focused on the detailed electronics work or experiment they are engaged in.

Shrouk’s workspace has an artistic, energetic vibe, filled with various bright decorations and objects in oranges, pinks, blues and greens that match Shrouk’s expressive and unique style. The photograph captures a moment of concentration as Shrouk applies their skills to an electronics project, with the vibrant atmosphere of the lab reflecting Shrouk’s creative personality and approach. The setting suggests Shrouk is bringing an imaginative flair to their electronics work.”


Descriptions like this capture the key details in a clear, concise manner. Using an AI assistant to quickly produce high-quality alt-text at scale can make the process of adding this important accessibility element much easier. What used to be a time-consuming manual task can now be largely automated. 🤖


This is just one example of how AI tools can be harnessed to make content more inclusive. I encourage other creators to explore using AI to generate alt-text and to continue to come up with innovative ways to leverage emerging technologies in service of accessibility. Together, we can make strides toward a more inclusive digital world. 🌈 🗺️ 💖

View post >