Skip to content

A Java-based GUI music composition tool for creating multi-track arrangements with programmable notes, instrument mappings, and structured audio playback using object-oriented design.

Notifications You must be signed in to change notification settings

tylertmd/SoundSketcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 

Repository files navigation

🎡 SoundSketcher App

The SoundSketcher App is a Java-based application that allows users to create, edit, and manipulate audio clips in real-time. With an intuitive GUI, users can apply effects, mix tracks, and experiment with sounds, making it a fun and educational tool for learning audio processing and sound design concepts.


βš™οΈ Technologies Used

  • Java – Core programming language for the application
  • Swing – GUI framework for building the interactive interface
  • Java Sound API / javax.sound.sampled – For audio processing and playback

πŸš€ Features

  • Create audio through notes
  • Adjust volume
  • Loop track
  • Copy and paste notes
  • Change Tempo
  • Alter duration
  • Mix multiple audio tracks
  • Save edited audio clips
  • Real-time preview of effects
  • Intuitive GUI for easy navigation

πŸ“ The Process

  1. Planning: Decided on core features and GUI layout for audio manipulation.
  2. Implementation: Wrote Java code to handle audio input/output and apply real-time effects.
  3. Testing: Applied effects on various audio clips to ensure correct playback and responsiveness.
  4. Debugging: Fixed timing, buffer, and format issues to improve stability.

πŸ“š What I Learned

  • How to process audio programmatically in Java
  • Working with the Java Sound API for recording and playback
  • Implementing audio effects and understanding their mathematical basis
  • Handling real-time user interaction and GUI updates
  • Debugging synchronization and buffer-related audio issues

🌱 Overall Growth

Through this project, I strengthened my understanding of Java programming, audio processing, and GUI design. I also developed problem-solving skills by translating audio theory into functional software and managing real-time application constraints.


πŸ’­ How It Can Be Improved

  • Add more audio effects (e.g., distortion, filters, equalizer)
  • Implement multi-track recording and mixing
  • Add undo/redo functionality for edits
  • Support exporting audio in multiple formats (MP3, WAV, FLAC)
  • Improve GUI with drag-and-drop audio files
  • Optimize performance for large audio files

🚦 Running the Project

  1. Clone or download the repository
  2. Copy files into your chosen IDE
  3. Run

▢️ Video Demonstration

Watch a short demo of the Sound Sketcher App in action:

Sounds Sketcher Demo

About

A Java-based GUI music composition tool for creating multi-track arrangements with programmable notes, instrument mappings, and structured audio playback using object-oriented design.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages