Visit http://www.serdashop.com for retro sound cards, video converters, ...
DreamBlaster X2, S2, S2P, HDD Clicker, ... many projects !
New X2GS SE & X16GS sound card : https://www.serdashop.com/X2GS-SE ,
Thanks for your support !
Wenceslao Acosta Carrazco mailed me about his project for his Master's program at the University of Southampton.
Under the guidance of his supervisor, Nicholas Harris, he had the opportunity to recreate a music box using electronic components rather than traditional mechanisms.
He explained to me like below, and agreed I could post this here on vogons :
-----
To achieve this, the first stage of the project involved extracting information from MIDI files, which contain notes and tempos. We then developed a code that could be later interpreted by sensors. As a result, we created a Python script to extract notes and tempos from almost any song. Since all the notes are represented in a MIDI format ranging from 0 to 127, we converted them into binary code. As an additional feature, we encoded this binary information in Gray code format. Subsequently, with this information and the timing of each note (also in Gray code), we represented them as squares. A Logic 1 was depicted as a white square, while a Logic 0 corresponded to a black square. The final result looks something like this:
The attachment sheet distribution.png is no longer available
Later, with the aid of optical sensors capable of distinguishing between black and white surfaces and stepper motors, a 3D structure was designed using CAD tools. In this structure, the paper was also placed. After a series of tests, the final design took on a form similar to this:
The attachment 3D structure V2.jpg is no longer available
As for the reading stage, we opted to utilize a Raspberry Pi Zero W. Once this device receives signals from the sensors, it interprets the information and sends a signal to control the stepper motor for continuous reading.
With the notes and their corresponding tempos decoded on the Raspberry Pi, we established a serial communication link with the Dreamblaster. The notes are then transmitted using Note On and Note Off commands within a Python script:
As an additional feature with the Dreamblaster, I incorporated a button that can alter the program's functionality, allowing for the change of instruments. From a multitude of available options, I selected the following presets: Grand Piano, Bright Piano, Synth Brass 1, Steel String Guitar, Nylon String Guitar, and Violin. It's worth noting that this section can be easily customized by adding or modifying options, as per the capabilities offered by the Dreamblaster. The commands used for this purpose were:
Finally, the Dreamblaster sends the audio signal to an amplifier, ensuring that everyone can hear it clearly.
During my time experimenting with this synthesizer, I had a lot of fun. I even created a drum base, though I couldn't include it in the final project due to the time I had left in order to complete the project. Here is part of the code for the drum base:
As you can see, there are countless possibilities for implementation with the Dreamblaster that could have enhanced my master's project further. I would have loved to experiment with more features, such as incorporating a microphone, voice modulation, multiple speakers, additional drum bases, multiple channels in use instead of just one, and so on.
Visit http://www.serdashop.com for retro sound cards, video converters, ...
DreamBlaster X2, S2, S2P, HDD Clicker, ... many projects !
New X2GS SE & X16GS sound card : https://www.serdashop.com/X2GS-SE ,
Thanks for your support !
a block diagram and a few more photos of his setup
Visit http://www.serdashop.com for retro sound cards, video converters, ...
DreamBlaster X2, S2, S2P, HDD Clicker, ... many projects !
New X2GS SE & X16GS sound card : https://www.serdashop.com/X2GS-SE ,
Thanks for your support !