Started, Worked on, and Completed my test plan tonight. This
assignment took A LOT longer than expected. I hadn't really put the
thought into what this assignment would require until I started
writing it out. There are a lot of little things that the
application
will need to be tested for that I'm not sure I compeltely covered
enough with the test plan. I really like the format that I made with
the test plan and believe it will be very easy to use for someone to
print out and take notes on when they are testing.
Hi Jason,
I'm attaching your unformatted design review feedback. Dr. Bhatnagar
is swamped with multiple deadlines right now and he hasn't been able
to type up the manual comments or format the electronic ones from
surveymonkey yet. What I'm including below is the dump I get from
surveymonkey. You'll get a clean copy from Dr. Bhatnagar soon.
In the meantime, I thought I would share this with you so can at least
start thinking about your responses.
Dr. Davis
----
ECE/CS Senior Design: Winter 2010
Feedback on Design Review
team: Smart Player Piano
name: Pawlak
action items/comments/questions:
Dr. Davis:
*****
Dr. Ferendeci:
*****
Dr. Bhatnagar:
*****
1. Can you import an image to the application and play music that way
rather than "drawing" your own?
Will there be a vertical limit to the picture or will it "scroll" and
let you play a 4 hour song as opposed to the 30seconds it would take
play through the visible image on screen.
How will the program deal with the user specifying, for instance, a
horizontal line corresponding to a huge number of notes at once,
without a clear identifiable chord?
When you say that the algorithm is to modify the image as little as
possible to achieve something that follows a chord progression, what
is your distance metric between a modified image and the original
image?
Perhaps for getting general images, consider something like lowpass
filter + resampling to 88 pixels + posterization/thresholding. Wed,
Jan 27, 2010 1:44 PM findFind...
2. Considering how to import images to fit 88-pixel limit...maybe have
a small program with 88 segments that they can move around to fit
image and crop. How does the auto-fix change the image created by the
user? Wed, Jan 27, 2010 1:44 PM findFind...
3. You said you didn't know how you would handle importing a picture
that is wider than 88px. Would it be possible to just split the
picture into multiple 88px wide pictures and have the application run
multiple pictures at once? I guess it would be kind of like running 2
or more instances of the application at once for each image and just
playing the music generated at the same time. Wed, Jan 27, 2010 1:44
PM findFind...
4. -Why did you choose Java?
-Can the user determine the colors mean? (i.e. make blue one
instrument or red mean a specific beat)
-Will it accept more file types than just MIDIs?
-Are there any similar, pre-existing projects out there?
-What MIDI libraries are you using?
-One thing you could do to get an image 88pixels wide is to resize
(scale) it down or up such that its width is 88, a la image resizing
in Photoshop. You'd loose details and image quality, but that isn't a
big deal since you're not displaying the image visually...
-The scrolling music playback screen could have been better explained
(e.g. label the time axis vs key axis) Wed, Jan 27, 2010 1:42 PM
findFind...
5. Very creative project, more in-depth than I though from autumn
presentation. Sill confused about what will qualify as successful
software - what level of coherence in the musical output is necessary?
Wed, Jan 27, 2010 1:42 PM findFind...
6. Do you need to have any special hardware/sound card? Can you import
an image instead of draw a picture? Wed, Jan 27, 2010 1:42 PM
findFind...
7. This one is me! Wed, Jan 27, 2010 1:42 PM findFind...
8. A little background on music notes/theory would have been nice.
Felt the presentation was pretty broad and didn't give details about
the road blocks and future plans for project. Wed, Jan 27, 2010 1:42
PM findFind...
9. Are there plans to be able to load pictures to play? If you can
load pictures, do you plan on supporting all formates of pictures?
Does the format of the picture matter?
Does your program run only on Macs or only on PCs? Or is it online?
Do you plan on deploying your program anywhere?
Can you have 2 colors on top of another on the picture? How would that
show on the picture itself? Wed, Jan 27, 2010 1:42 PM findFind...
10. Will there be an option for alternative Autofix settings for
different sounding music? Are there any ideas to incorporate more
advanced music theory like modes? Customized chord progressions if a
knowledgeable musician wants to customize the output? Wed, Jan 27,
2010 1:41 PM findFind...
11. Maybe keeping the original image. Map the image spatial or color
frequencies to sounds. One way to handle larger than 84 pixels wide
images is to divide the image into 84 segments. For each segments do
some statistics on the pixels to combine each group of pixels into a
single value that you can map to a sound. Mean, median, mode or mix of
them should work. Good luck. Wed, Jan 27, 2010 1:41 PM findFind...
12. from Dr. Davis:
What part of the midi player (if any) did you write? It seemed like
you were saying you wrote it, but I'm not sure if it was from scratch
or not.
Can you give more explanation about the autofix algorithm and goals in
your design report? What you explained in class was helpful, but the
picture seems to need a lot of explanation (especially for non-musical
people.)
Was finally able to continue working with the code of the project. I
had a lot of time to think about the various ideas people had given me
to handle certain aspects of the software. I'm not really sure how to
account for time that I spend walking to and from class where I am
thinking about the project, but not actually getting any physical work
done.
Recently, however, I have been able to print out all the note names
that are within a MIDI file. This functionality is crucial to me
mapping the MIDI to a sheet.
tick 23040: [94 39 00] channel 5: note On A3 velocity: 0
tick 23040: [94 3C 00] channel 5: note On C4 velocity: 0
tick 23040: [94 41 00] channel 5: note On F4 velocity: 0
tick 23040: End of Track
---------------------------------------------------------------------------
Track 6:
-----------------------
tick 0: Sequence/Track Name: Organ
tick 0: Instrument Name: Left
tick 0: [B5 79 00] channel 6: control change 121 value: 0
tick 0: [A5 41 40] channel 6: polyphonic key pressure F4 pressure: 64
tick 60: [C5 13] channel 6: program change 19
tick 120: [B5 07 5A] channel 6: control change 7 value: 90
tick 240: [B5 0A 40] channel 6: control change 10 value: 64
tick 360: [95 35 5A] channel 6: note On F3 velocity: 90
tick 479: [95 35 00] channel 6: note On F3 velocity: 0
tick 480: [95 35 5A] channel 6: note On F3 velocity: 90
tick 480: [95 29 5A] channel 6: note On F2 velocity: 90