Skip to content

Sound & Entertainment System to visualize audio input from a microphone and display the signals interactively in different visualizations

Notifications You must be signed in to change notification settings

Riyas97/Real-Time-Audio-Visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Real-Time-Audio-Visualizer

Project Description

This project consists of a Sound & Entertainment System to visualize audio input from a microphone and display the signals interactively in different visualizations. The project was built with Verilog, Digilent Basys 3 Board, Pmod OLEDrgb 96 x 64 RGB OLED Display and Pmod MIC3. The notable features include pong game (where audio signals are used to control the pedals), ability to select colour schemes for background, graph & font colour, interactive displays & graphs of voice signals and etc. The frequency detector algorithm implemented was able to achieve an accuracy of over 95%.

For more details, please refer to the Final Report.pdf.

Feature List

No. Features Description
1 Menu Page User will be be directed to a menu page displaying two options, ‘Graphs’ and ‘Pong’ respectively. User will have to press up or down button to toggle between the options and press the centre button to access the option that the user wants
2 Pong Game Upon clicking the ‘Pong’ option in the menu display, user will be directed to the game. User needs to flip SW[2] to ‘on’ to start playing the pong game.To restart the game, player can flip SW[2] off then on. Player 1(P1) uses SW[15] while Player 2(P2) uses SW[3]. The game is a ordinary pong game with a twist: the ball size is tied to the mic input, therefore, to “kill” your opponent, you need to clap when the ball reaches the player paddle. The opponent can defend by clapping right before it reaches the paddle to deflect the ball. If one is unable to clap and defend, he/she can let the computer take over by flipping SW[4] and SW[14] for P1 and P2 respectively. However, note that the paddle moves faster when controlled by player.Game ends when one of the player’s score reaches 30. The user can flip SW[2] at this point to reset the game.
3 Side Menu When BTNC is pressed, a side menu will pop up, allowing the user to exit whichever option they are currently in and directing them back to the menu display stated above in (1). This side menu is in both pong game and graph. For graph there is an additional option for color select and the current graph selected.
4 Basic Voice Visualizer Upon clicking the ‘Graphs’ option in the menu display, user will be directed to the page displaying the real time voice waveform. When SW[0] = 1, the VGA displays the test wave. To display other visual representations of the input waveform(which will be discussed in greater details below, user will have to press either the BTNU or BTND button to toggle between the different visual representations of the input signal until he/she has reach the desired visual representation that he/she wants.
5 Volume Indicator The LEDs from LD0 to LD11 light up with respect to the intensity of the input audio sample.
6 Seven Segment Display The last two segments (AN1 & AN0) will display a numeric value between 0 and 12 with respect to the intensity of the input audio sample.
7 VGA SW[7] hides axis
SW[8] hides ticks
SW[9] hides grid
SW[10] hides waveform
Pressing left and right on the main waveform 8ould scroll through the 5 default color schemes.
8 Colour Select In the unlikely event that the users do not like the color scheme, they are able to change it. SW[13:11] determines which part of the graph is changed. 0 - bg, 1 - grid, 2 - waveform, 3 - axis,4 - ticks.

To change the color, press the BTNC to open up the side menu and select color sel. Once inside, you can preview the selected color on the box next to the side menu, the user can then press the BTNC to confirm the change.
9 Voice Indicator Display Upon pushing the BTND button, user will be directed from the display page to the page which displays the waveform together with the volume indicator boxes which increases in sizes and changes in colour with respect to the input voice waveform. Pushing the BTNU button will direct to the display page.
10 Amplify Voice Signal 10a) Upon pushing the BTND button, user will be directed from the page in (9) to the page displaying the same voice waveform depicted in (4) but now with input signal and grids amplified 2 times to give users a ‘zoom in’ view of the waveform. Pushing the BTNU button will direct to the page in (9).

10b) Pushing the BTND button again displays the same voice waveform in (4) with the input signal amplified 4 times instead. Pushing the BTNU button will direct back to the earlier version of ‘zoom in’ view in (10a).
11 Bar Graph 11a) Upon pushing the BTND button, user will be directed from the page in (10b) to the page displaying a bar graph representation of the input audio sample (see Fig 10). Pushing the BTNU button will direct to the page in (10b).

11b) Pushing the BTND button again will lead to the page representing the same bar graph with different configuration (see Fig 11). Pushing the Fig. 10 & 11 BTNU button will direct to the earlier version of bar graph in (11a).
12 Circular Graph Upon pushing the BTND button, user will be directed from the page in (11b) to the page displaying a circle which increases in size with respect to the input audio sample. Pushing the BTNU button will direct to the page in (11b).
13 Line Graph 13a) Upon pushing the BTND button from the page displayed in (12), user will be directed to the page displaying a line graph representation of the input audio sample. Pushing the BTNU button will direct to the page in (12).

13b) Pushing the BTND button again will lead to the page representing the same line graph with different configuration. Pushing the BTNU button will direct to earlier version of line graph in (13a).
14 Slow Waveform 14a) Upon pushing the BTND button, user will be directed from the page in (13b) to the page displaying the same waveform in (4) but now with the input signal fluctuating and changing slowly. Pushing the BTNU button will direct to the page in (13b).

14b) Pushing the BTND button again displays another variation of the same slow waveform. Pushing the BTNU button will direct to the earlier version of slow waveform in (14a).
15 2 Graphs Display 15a) Pushing the BTND button from the page in (14b) displays the normal waveform in (4) and line-graph representation of the waveform in (13) side by side. Pushing the BTNU button will direct to the page in (14b).

15b) Pressing the BTND button again displays the normal waveform in (4) and bar-graph representation of the waveform in (11) side by side. Pushing the BTNU button will direct to the earlier version of 2 graphs in (15a).
16 4 Graphs Display 16a) Pressing the BTND button from the page in (15b) displays the normal waveform in (4), line-graph representation of waveform in (13), bar-graph representation of waveform in (11) and circle representation of the waveform in (12) side by side. Pushing the BTNU button will direct to the page in (15b).

16b) Pressing the BTND button displays the normal waveform in (4), line-graph representation of waveform in (13), bar-graph representation of waveform in (11) and volume indicator of the waveform in side by side. Pushing the BTNU button will direct to the page in (16a).

About

Sound & Entertainment System to visualize audio input from a microphone and display the signals interactively in different visualizations

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published