In the old black box version of this project, potentiometer failures were rampant so the hardware was abandoned and the second build has finally caught up to where I left off. The range and lower limit inputs used reliable potentiometer readings, but a third was asking too much. Screen feedback for the existing controls was not difficult since the data was already adequately handled. The tempo was programmed next and the way it affected the sound surprised me.
This whole project could have used a single screen, or even a serial terminal and no screen but each module and the main got its own so that lots of data could be displayed at once and it would be intuitive to change settings. Putting the most useful data meant that saying something like "Scale 001" would not be helpful but describing it as "Major Scale," or "Blues Minor" would be best.
I wanted to get sound out of the project right away, and I prioritized that order according to things that would get the worst hurdles out of the way quickly. The central control was functional enough to think about the modules for a bit, and work turned to individual modules. An overhaul of the way notes were played involved making an array where all the notes to be played would be stored until they came on, and went off. This was a wildly different methodology of playing than the old way where a note was played, there was a delay, the note would be turned off, then everything started over.
After the shift to an array with all the notes playing, there was an unmistakable bug where some soundS were cut abruptly short. The issue was that two identical notes played one after the other, could turn off the second note a couple of milliseconds after it started rather than waiting for it to run its course.
The most rewarding thing to display on the screen was the instrument names. Up until now, the three-digit display on the sound module showed the corresponding number, but that required a reference table. This also eliminated some confusion between zero-justified lists from the internet.
The chord names followed the instrument names but there were fewer names and they were not as important. One of them was even called, "No chords."
The rest of the summary posts have been arranged by date.
First time here?
Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6
Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com
This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.
All information on this blog, or linked by this blog, is not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property or similar, is the responsibility of those involved in the replication.
All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.
Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.
This blog, including pictures and text, is copyright to Brian McEvoy.
(1:09) Limit, range, and tempo displayed and controlled
This whole project could have used a single screen, or even a serial terminal and no screen but each module and the main got its own so that lots of data could be displayed at once and it would be intuitive to change settings. Putting the most useful data meant that saying something like "Scale 001" would not be helpful but describing it as "Major Scale," or "Blues Minor" would be best.
Scale names changing on screen
I wanted to get sound out of the project right away, and I prioritized that order according to things that would get the worst hurdles out of the way quickly. The central control was functional enough to think about the modules for a bit, and work turned to individual modules. An overhaul of the way notes were played involved making an array where all the notes to be played would be stored until they came on, and went off. This was a wildly different methodology of playing than the old way where a note was played, there was a delay, the note would be turned off, then everything started over.
Module one displaying input information
After the shift to an array with all the notes playing, there was an unmistakable bug where some soundS were cut abruptly short. The issue was that two identical notes played one after the other, could turn off the second note a couple of milliseconds after it started rather than waiting for it to run its course.
(1:09) Explaining why some notes were short
The most rewarding thing to display on the screen was the instrument names. Up until now, the three-digit display on the sound module showed the corresponding number, but that required a reference table. This also eliminated some confusion between zero-justified lists from the internet.
Instrument names right on the screen
The chord names followed the instrument names but there were fewer names and they were not as important. One of them was even called, "No chords."
Chord names
The rest of the summary posts have been arranged by date.
First time here?
Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6
Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com
This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.
All information on this blog, or linked by this blog, is not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property or similar, is the responsibility of those involved in the replication.
All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.
Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.
This blog, including pictures and text, is copyright to Brian McEvoy.
Comments
Post a Comment