We perceive sound with the auditory system, but that is not the only way. We can also perceive it visually, but the sound must be first visualized. In the following diploma thesis we present the implementation of a program that visualizes sound in real time. First we introduce the development board STMDISCO-F746NG, which runs the program. We describe its specifications and explain its shortcomings, which we had to take into account (memory, CPU clock speed). Then we describe the development environment (Mbed studio), which we used in the development of the program. We look over functions, used libraries, code sharing, code saving and we mention a problem when using outdated libraries (version mismatch) and we offer a solution. We describe sampling and explain the important Nyquist-Shannon theorem, which we had to follow. We also show the consequences of not following it (aliasing). Then we describe two ways of connecting the audio source and the board (analog input on the board and 3.5 mm audio jack) and explain which one we chose. We introduce the discrete Fourier transform which is used to analyze sound and we show its implementation in the program. We go through all the visualization techniques (graphical, circular, columns, balls,3D). For each implemented technique we explain the algorithm, problems we encountered, and, with the help of pseudocode, show its implementation in the program. At the end we talk about the user interface and how it was implemented.
|