Brief Description: Java musical instruments GUI Swing app.
This is an application made to play instruments on a desktop environment.
In this application, you start at a Main Menu, that look like this, this takes you to the instruments or exits the application:
If you select the piano, you'll be sent to this view:
In the piano view, I limited it to a full octave. In musical terms, you start at the middle C (Do), often called C4 and then you go up a whole octave, called C5.
In the top right hand corner, you can see the option to select two types of intruments, Electronic Piano and Steel Drum. As well as an option to select and play a backing track.
Choosing the Drum, we'll be taken here:
If we choose the Acoustic drum kit, we'll be taken to a page rendered like so:
This layout is made to look like an actual live drum kit. The samples used in this view reflect that.
Now from the Drum Kit Selection Menu, if we choose the Electronic Drum Kit, it will take us to this page:
This view is made to emulate the electronic drum kits/pads that you often see DJ's or electronic producers use.
This view allows you to record and playback a microphone recording.
This is what you'll see when you want to select files to view.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See build executable for notes on how to build the application locally.
A version of NetBeans. Recommended 11.2 or higher.
Make sure to use latest version of UTF encoding to get the proper emojis for the Main Menu view, Return Home and Change Kit buttons.
Make sure to use the latest version of Java and have it installed on your machine.
To first run this program, we must first open the project with NetBeans. The reason why NetBeans is recommended is because it has the strongest Swing Application editor for the visual GUI design.
When adding a new view, make sure to say NEW -> JPanel Form or NEW -> JFrame Form, depending on your preference.
When the project is built, make sure to choose MainMenu as the main class. This will allow you to start from the main menu rather than any other view.
When using the Voice Recording module, make sure to create a file called Recording_Files in the source folder in order to begin recording.
Perform a clean build and run from /dist folder. Should be a file of .jar format.
In addition, the folder that has the executable should have the following folders in it as well:
- AcousticDrum_Samples
- Drum_Images
- Drum_Samples
- Recording_Files
- Z_Music_Notes
This is because of the way the file paths in the program are set up.
- Java Swing - GUI library, also used ImageIcon and JButton from this package.
- Maven - Dependency Management
- Java Sound - Used the AudioInputStream, AudioSystem and Clip libraries from the sampled package.
- Java io - Used for accessing sound samples
- Java AWT - Used for formatting the Window
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Version 3.0.0 - Stable Release, added File Chooser tool and UI.
Release Version 1.0.0 - First Release for Executable
-
Andre Bhaseen - Initial work, all instruments and UI navigation - abhaseen
-
Royce Ayroso-Ong who participated in this project. - Responsible for developing the Voice Recording Module, as well as developing the file chooser and the file selection UI on each instrument
This project is licensed under the MIT License - see the LICENSE.md file for details
- Initial Piano tutorial and sound samples taken from this video by DJ Oamen on YouTube
- All other samples used in this project are from:
- Images used for the Acoustic Drum Kit are from:
- Fur Elise Sample Recording based on an existing MIDI, original song by Beethoven