Skip to content

Commit 23b824a

Browse files
authored
Merge branch 'main' into fix/copy-code-console-error
2 parents b3368bc + 28bbb6e commit 23b824a

File tree

7 files changed

+263
-7
lines changed

7 files changed

+263
-7
lines changed

src/components/AboutUs/HeroSection.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,12 @@ const HeroSection = () => {
106106
animate="visible"
107107
transition={{ delay: 0.5, duration: 0.8 }}
108108
>
109+
A{' '}
109110
<motion.span
110111
className="relative inline-block"
111112
variants={heroAnimations.hoverText}
112113
whileHover="hover"
113114
>
114-
A
115115
<span className="text-rose-500 dark:text-rose-400 font-semibold">
116116
{' '}
117117
Community

src/components/Info.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -228,11 +228,11 @@ const Info: React.FC = () => {
228228
{/* Card on Top Left */}
229229
{windowWidth >= 270 && (
230230
<motion.div
231-
className="absolute top-2 left-2 bg-black/60
231+
className="absolute top-1 left-2 bg-black/60
232232
backdrop-blur-sm rounded-lg sm:rounded-xl p-2.5 sm:p-4 md:p-6 shadow-lg
233233
max-w-[180px] sm:max-w-[220px] md:max-w-xs transform hover:scale-105
234234
transition-all duration-300 ease-out z-10 border border-white/50"
235-
whileHover={{ scale: 1.05 }}
235+
whileHover={{ scale: 1 }}
236236
>
237237
{windowWidth >= 355 && (
238238
<>
@@ -257,11 +257,11 @@ const Info: React.FC = () => {
257257
{/* Card on Bottom Right */}
258258
{windowWidth >= 270 && (
259259
<motion.div
260-
className="absolute bottom-2 right-2 bg-black/60
260+
className="absolute bottom-1 right-2 bg-black/60
261261
backdrop-blur-sm rounded-lg sm:rounded-xl p-2.5 sm:p-4 md:p-6 shadow-lg
262262
max-w-[180px] sm:max-w-[220px] md:max-w-xs transform hover:scale-105
263263
transition-all duration-300 ease-out z-10 border border-white/50"
264-
whileHover={{ scale: 1.05 }}
264+
whileHover={{ scale: 1 }}
265265
>
266266
{windowWidth >= 355 && (
267267
<>
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
title: "DMP '25 Week 10 Update by Anvita Prasad"
3+
excerpt: "Improve Synth and Sample Feature for Music Blocks"
4+
category: "DEVELOPER NEWS"
5+
date: "2025-08-10"
6+
slug: "2025-08-10-DMP-25-AnvitaPrasad-week10"
7+
author: "@/constants/MarkdownFiles/authors/anvita-prasad.md"
8+
tags: "dmp25,sugarlabs,week10,AnvitaPrasad"
9+
image: "assets/Images/c4gt_DMP.webp"
10+
---
11+
12+
<!-- markdownlint-disable -->
13+
14+
# Week 10 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-08-04 - 2025-08-10
20+
21+
---
22+
23+
## Goals for This Week
24+
- **Goal 1:** Implement multi-sample support for guitar and electric guitar instruments
25+
- **Goal 2:** Expand piano multi-sample coverage with additional samples
26+
- **Goal 3:** Establish consistent sample configuration structure across instruments
27+
- **Goal 4:** Test audio quality and range coverage for both instruments
28+
- **Goal 5:** Create testing framework for the respective instruments
29+
30+
---
31+
32+
## This Week's Achievements
33+
34+
1. **Guitar Multi-Sample Implementation**
35+
- Successfully created multi-sample configurations for both acoustic guitar and electric guitar with 10 samples each (A2, A4, B3, C5, D3, D4, E2, E5, F#3, F4)
36+
- Implemented instrument-specific sampling strategies optimized for string characteristics
37+
38+
2. **Enhanced Piano Coverage**
39+
- Expanded piano multi-sample system from basic coverage to comprehensive 13-sample configuration (A1, A2, A3, A4, A5, A6, A7, C#2, C#3, C#4, C#5, C#6, C#8) covering nearly 8 octaves
40+
41+
3. **Configuration Standardization**
42+
- Established consistent metadata structure including sample names, center notes, frequency mappings, and MIDI number associations
43+
- Created unified framework for multi-sample instrument integration
44+
45+
4. **Testing Framework Development**
46+
- Built comprehensive testing framework for guitar and electric guitar sample validation
47+
- Implemented quality assurance protocols for audio sample consistency
48+
49+
---
50+
51+
## Challenges & How I Overcame Them
52+
53+
- **Challenge:** Initial samples had varying bit depths and sample rates causing audio artifacts
54+
**Solution:** Listened to each sample and edited them using Audacity to remove silence and normalize the samples for consistent quality
55+
56+
- **Challenge:** Large File Size Issues - Base64 encoded samples were causing memory issues in the browser
57+
**Solution:** Optimized sample length to 2-3 seconds and implemented lazy loading patterns to load samples only when needed
58+
59+
---
60+
61+
## Key Learnings
62+
- Gained experience with audio format conversion and optimization for JavaScript applications
63+
- Enhanced understanding of string instrument timbre characteristics and optimal sampling strategies
64+
- Learned importance of audio normalization and preprocessing for web-based audio applications
65+
66+
---
67+
68+
## Next Week's Roadmap
69+
- Implement multi-sample support for wind instruments (flute, clarinet, oboe)
70+
- Develop cello multi-sample configuration for string section representation
71+
- Create automated testing suite for sample selection algorithm
72+
- Optimize performance and memory usage for large multi-sample libraries
73+
- Write week 11 blog post
74+
75+
---
76+
77+
## Resources & References
78+
- **[Web Audio API Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)**
79+
- **[Audacity Audio Editor](https://www.audacityteam.org/)**
80+
- **Sample Sources:** [Philharmonia Orchestra](https://philharmonia.co.uk/resources/sound-samples/)
81+
- **Additional Samples:** [Freesound MTG Collection](https://freesound.org/people/MTG/)
82+
83+
---
84+
85+
## Acknowledgments
86+
Thank you to my mentors, the Sugar Labs community, and fellow contributors for ongoing support.
87+
88+
---
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
title: "DMP '25 Week 11 Update by Anvita Prasad"
3+
excerpt: "Improve Synth and Sample Feature for Music Blocks"
4+
category: "DEVELOPER NEWS"
5+
date: "2025-08-17"
6+
slug: "2025-08-17-DMP-25-AnvitaPrasad-week11"
7+
author: "@/constants/MarkdownFiles/authors/anvita-prasad.md"
8+
tags: "dmp25,sugarlabs,week11,AnvitaPrasad"
9+
image: "assets/Images/c4gt_DMP.webp"
10+
---
11+
12+
<!-- markdownlint-disable -->
13+
14+
# Week 11 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-08-11 - 2025-08-17
20+
21+
---
22+
23+
## Goals for This Week
24+
- **Goal 1:** Implement multi-sample support for flute with comprehensive range coverage
25+
- **Goal 2:** Create cello multi-sample system for orchestral string representation
26+
- **Goal 3:** Refactor codebase architecture by moving sampling logic from synthutils.js to individual sample files
27+
28+
---
29+
30+
## This Week's Achievements
31+
32+
1. **Flute Multi-Sample System**
33+
- Implemented comprehensive 11-sample flute configuration (A5, B4, B6, C4, C6, D5, D7, E4, E6, F5, G4, G6) covering nearly 4 octaves with optimized breath articulation
34+
35+
2. **Cello Implementation**
36+
- Created 4-sample cello configuration (A3, C2, D3, G2) focusing on string resonance and bow articulation characteristics
37+
38+
3. **Major Architecture Refactoring**
39+
- Successfully moved sampling logic from centralized synthutils.js to individual instrument sample files (piano_multi.js, guitar_multi.js, etc.)
40+
- Implemented modular sample selection functions that account for unique timbral characteristics
41+
42+
4. **Enhanced Code Structure**
43+
- Established instrument-specific sample selection functions
44+
- Created maintainable and extensible codebase architecture
45+
46+
---
47+
48+
## Challenges & How I Overcame Them
49+
50+
- **Challenge:** Code Refactoring Complexity - Moving logic from synthutils.js while maintaining backward compatibility
51+
**Solution:** Implemented gradual migration strategy with wrapper functions and extensive testing to ensure no functionality was broken
52+
53+
- **Challenge:** Finding high-quality samples with varying bit depths and sample rates causing audio artifacts
54+
**Solution:** Listened to each sample and edited them using Audacity to remove silence and normalize the samples for consistent quality
55+
56+
---
57+
58+
## Key Learnings
59+
- Lazy loading patterns are crucial for web applications with large audio assets
60+
- Enhanced understanding of wind and string instrument characteristics and their unique sampling requirements
61+
- Gained experience in large-scale code refactoring while maintaining system stability
62+
63+
---
64+
65+
## Next Week's Roadmap
66+
- Complete final week with remaining instruments (clarinet, oboe, viola)
67+
- Implement volume normalization system across all multi-sample instruments
68+
- Create/update unit tests for all instrument implementations
69+
- Develop user documentation and integration guides
70+
- Plan future extensibility features for custom sample uploads
71+
72+
---
73+
74+
## Resources & References
75+
- **[Web Audio API Performance Best Practices](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Best_practices)**
76+
- **Sample Sources:** [Philharmonia Orchestra](https://philharmonia.co.uk/resources/sound-samples/)
77+
- **Additional Samples:** [Freesound MTG Collection](https://freesound.org/people/MTG/)
78+
79+
---
80+
81+
## Acknowledgments
82+
Thank you to my mentors, the Sugar Labs community, and fellow contributors for ongoing support.
83+
84+
---
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
title: "DMP '25 Week 12 Update by Anvita Prasad"
3+
excerpt: "Improve Synth and Sample Feature for Music Blocks"
4+
category: "DEVELOPER NEWS"
5+
date: "2025-08-24"
6+
slug: "2025-08-24-DMP-25-AnvitaPrasad-week12"
7+
author: "@/constants/MarkdownFiles/authors/anvita-prasad.md"
8+
tags: "dmp25,sugarlabs,week12,AnvitaPrasad"
9+
image: "assets/Images/c4gt_DMP.webp"
10+
---
11+
12+
<!-- markdownlint-disable -->
13+
14+
# Week 12 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-08-18 - 2025-08-24
20+
21+
---
22+
23+
## Goals for This Week
24+
- **Goal 1:** Implement multi-sample support for remaining instruments (clarinet, oboe, viola)
25+
- **Goal 2:** Implement comprehensive volume normalization system across all instruments
26+
- **Goal 3:** Finalize multi-sample implementation for complete instrument coverage
27+
- **Goal 4:** Ensure consistent audio levels across all multi-sample instruments
28+
29+
---
30+
31+
## This Week's Achievements
32+
33+
1. **Clarinet Multi-Sample System**
34+
- Successfully implemented 9-sample clarinet configuration (A3, A6, B5, B6, D4, E3, E6, F#5, G4) with register-specific timbral characteristics
35+
36+
2. **Oboe Implementation**
37+
- Created 8-sample oboe configuration (A5, A6, B3, C5, D4, D6, F5, G4) capturing the instrument's distinctive nasal timbre and dynamic range
38+
39+
3. **Viola Multi-Sample System**
40+
- Implemented 5-sample viola configuration (A4, C3, C7, D4, E5, G3) with emphasis on the instrument's darker, warmer tone compared to violin
41+
42+
4. **Advanced Volume Normalization**
43+
- Developed sophisticated pre-processing volume normalization system with RMS analysis and automatic level matching to 1.0 standard Music Blocks volume
44+
45+
5. **Cross-Instrument Consistency**
46+
- Standardized targetVolume across all 8 multi-sample instruments, ensuring consistent playback levels
47+
48+
---
49+
50+
## Challenges & How I Overcame Them
51+
52+
- **Challenge:** Volume Inconsistency Across Instruments - Each instrument required different multiplier for volume normalization
53+
**Solution:** Developed instrument-specific volume normalization algorithms with RMS analysis to achieve consistent 1.0 standard across all instruments
54+
55+
---
56+
57+
## Key Learnings
58+
- Advanced understanding of audio normalization techniques and RMS analysis
59+
- Enhanced knowledge of woodwind and string instrument characteristics
60+
- Gained experience in creating comprehensive audio processing pipelines for web applications
61+
- Learned importance of consistent volume standards in multi-instrument systems
62+
63+
---
64+
65+
## Next Week's Roadmap
66+
- Complete project documentation and user guides
67+
- Conduct final testing across all implemented instruments
68+
- Prepare comprehensive project summary and future enhancement recommendations
69+
- Submit final deliverables and project wrap-up
70+
71+
---
72+
73+
## Resources & References
74+
- **[Web Audio API Performance Best Practices](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Best_practices)**
75+
- **[RMS Analysis and Audio Normalization Techniques](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Visualizations_with_Web_Audio_API)**
76+
- **Sample Sources:** [Philharmonia Orchestra](https://philharmonia.co.uk/resources/sound-samples/)
77+
- **Additional Samples:** [Freesound MTG Collection](https://freesound.org/people/MTG/)
78+
79+
---
80+
81+
## Acknowledgments
82+
Thank you to my mentors, the Sugar Labs community, and fellow contributors for ongoing support.
83+
84+
---

src/sections/NavDropdown.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const NavDropdown: React.FC<NavDropdownProps> = ({
5454
animate={{ opacity: 1, y: 0 }}
5555
exit={{ opacity: 0, y: 10 }}
5656
transition={{ duration: 0.2 }}
57-
className="absolute left-0 mt-2 w-56 rounded-xl bg-white dark:bg-gray-800 shadow-xl ring-1 ring-black dark:ring-white ring-opacity-5 dark:ring-opacity-10 overflow-hidden"
57+
className="absolute left-0 mt-[0.074rem] w-56 rounded-xl bg-white dark:bg-gray-800 shadow-xl ring-1 ring-black dark:ring-white ring-opacity-5 dark:ring-opacity-10 overflow-hidden"
5858
>
5959
<div className="py-2">
6060
{items.map((item) => (

src/styles/Animations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ export const item = {
322322
y: 0,
323323
opacity: 1,
324324
transition: {
325-
duration: 0.8,
325+
duration: 0.1,
326326
ease: easeOut,
327327
},
328328
},

0 commit comments

Comments
 (0)