Technical Challenges

Combining algorithmic rigor with musical performance to preserve the Somali tradition.

This page details the technical coding challenge for my application. The task was to demonstrate proficiency in algorithmic problem-solving and DSP concepts without using external audio libraries.

My solution uses Python (NumPy) to synthesize a "Qaraami melody"—a stylistic homage to traditional Somali music. This merges my engineering expertise with my cultural heritage.

The Algorithmic Core

Writing robust Python code to manage digital audio synthesis, custom envelopes, and musical structures.

Illustrative Python Code

Python Script for Audio Generation

Generated Audio Results

Basic Melody Generation
FM Synthesis with Swing
Full Studio Mix (Python)
Real Oud String Extraction

Portfolio Submission

This performance demonstrates my current musical ability. It represents my ongoing effort to preserve the Somali Qaraami repertoire through structured musical interpretation.
Recording Date: 07, 2023 | Instrument: Oud

Oud Improvisation (Othaman)

Piano Composition

Somali Rhythmic Study

Somali_Pentatonic_Logic

Built from Scratch (Pure NumPy)

To demonstrate my grasp of Digital Signal Processing, I built this synthesis engine using zero external audio libraries.

1. The Physics (Karplus-Strong)

engine.py
1def oud_string(freq, duration):
2    """
3    Simulates a plucked string using 
4    Ring Buffer + Low Pass Filter.
5    No samples. Pure math.
6    """
7    N = int(SAMPLE_RATE / freq)
8    pluck = np.random.uniform(-1, 1, N)
9    output = np.zeros(samples)
10    current = 0
11    
12    for i in range(samples):
13        output[i] = pluck[current]
14        avg = 0.994 * 0.5 * (pluck[current] + pluck[(current + 1) % N])
15        pluck[current] = avg
16        current = (current + 1) % N
17        
18    return output

2. The "Camel Gait" Rhythm

sequencer.py
1# The Dhaanto "Gallop"
2# We don't use a 4/4 grid. 
3# We use Swing Quantization.
4
5SWING_DELAY = 0.02 # 20ms offset
6
7if step % 2 != 0:
8   # Delay the off-beat to create
9   # the "limping" feel of a camel
10   time += SWING_DELAY
11   
12play_note(freq, time)

"This challenge solidified my commitment to exploring how computational methods can not only innovate in music creation but also profoundly connect with and enrich cultural expressions."