Skip to content

Commit 22d82b8

Browse files
authored
DMP'25 week 04 by Anvita Prasad (#258)
1 parent 269a901 commit 22d82b8

File tree

2 files changed

+105
-0
lines changed

2 files changed

+105
-0
lines changed
87.2 KB
Loading
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
---
2+
title: "DMP '25 Week 04 Update by Anvita Prasad"
3+
excerpt: "Completion of target pitch mode and implementation of manual cent adjustments pie menu"
4+
category: "DEVELOPER NEWS"
5+
date: "2025-06-29"
6+
slug: "2025-06-29-DMP-25-AnvitaPrasad-week04"
7+
author: "@/constants/MarkdownFiles/authors/anvita-prasad.md"
8+
tags: "dmp25,sugarlabs,week04,AnvitaPrasad"
9+
image: "assets/Images/c4gt_DMP.png"
10+
---
11+
12+
<!-- markdownlint-disable -->
13+
14+
# Week 04 Progress Report by Anvita Prasad
15+
16+
**Project:** [Music Blocks - Improve Synth and Sample Features](https://github.com/sugarlabs/musicblocks/issues/4539)
17+
**Mentors:** [Walter Bender](https://github.com/walterbender)
18+
**Assisting Mentors:** [Devin Ulibarri](https://github.com/pikurasa)
19+
**Reporting Period:** 2025-06-23 - 2025-06-29
20+
21+
---
22+
23+
## Goals for This Week
24+
- Complete and refine target pitch mode implementation
25+
- Implement manual cent adjustment functionality and interface
26+
- Research icons for chromatic and target pitch mode
27+
- Conduct comprehensive testing with various audio sources and instruments
28+
- Research different tuning systems
29+
30+
---
31+
32+
## This Week's Achievements
33+
34+
1. **Dual-Mode Tuner Implementation**
35+
- Completed target pitch mode implementation with enhanced functionality
36+
- Integrated target pitch selector with pie menu interface
37+
- Implemented logic for precise pitch matching and deviation calculation
38+
- Added comprehensive display for octave, semitone, and cent deviations
39+
- Gathered and incorporated feedback for interface refinements
40+
41+
![](assets/Images/tuner-interface-week4.png)
42+
43+
2. **Manual Cents Adjustment Development**
44+
- Designed and implemented an intuitive pie menu for cent adjustments with:
45+
- Center Area (Controls):
46+
* Grey circular area with three buttons
47+
* "+" button for positive values
48+
* "-" button for negative values
49+
* "×" button for menu exit
50+
- Inner Wheel (Fine Adjustments): Numbers 1-10
51+
- Middle Wheel (Medium Adjustments): Numbers 20-50
52+
- Outer Wheel (Large Adjustments): Numbers 60-100
53+
54+
3. **Testing Progress**
55+
- Conducted initial testing with various audio sources
56+
- Identified areas for improvement in pitch detection
57+
- Created a test suite for tuner accuracy verification
58+
59+
---
60+
61+
## Challenges & How I Overcame Them
62+
63+
- **Challenge 1: Event Bubbling in Pie Menu**
64+
The pie menu's nested event listeners for note, accidental, and octave selection were triggering multiple unintended actions due to incorrect event propagation.
65+
**Solution 1:**
66+
Added event.stopPropagation() at the appropriate event handlers and restructured the event listener hierarchy to ensure events were captured at the correct level only.
67+
68+
- **Challenge 2: State Management Complexity**
69+
Managing three interdependent states (note, accidental, octave) in the tuner widget led to synchronization issues and undefined states during updates.
70+
**Solution 2:**
71+
Implemented a centralized state update method that handles all three components atomically and validates the complete state before triggering any dependent calculations.
72+
73+
---
74+
75+
## Key Learnings
76+
77+
- Gained deep understanding of Music Blocks' pitch pie menu interface and its implementation patterns
78+
- Learned about various tuning systems including Equal Temperament, Pythagorean, and Just Intonation
79+
80+
---
81+
82+
## Next Week's Roadmap
83+
84+
- Implement fully functional tuner with comprehensive features
85+
- Complete and refine manual cent adjustment functionality
86+
- Conduct extensive testing with various audio sources and instruments
87+
- Consider implementation of different tuning systems
88+
- Make fine refinements to tuner interface and functionality
89+
- Write blog post for Week 05
90+
91+
---
92+
93+
## Resources & References
94+
95+
- [Web Audio API Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)
96+
- [Different Tuning Systems](https://www.musiccrashcourses.com/lessons/tuning_systems.html)
97+
- [Tuning Systems and Equal Temperament](https://www.earmaster.com/music-theory-online/ch06/chapter-6-2.html)
98+
99+
---
100+
101+
## Acknowledgments
102+
103+
Thank you to my mentors, the Sugar Labs community, and fellow contributors for ongoing support and valuable feedback on the new features.
104+
105+
---

0 commit comments

Comments
 (0)