1. Introduction
Arduino is an open-source electronic platform that permits customers to create interactive tasks and prototypes based on hardware and software programs. It consists of various microcontroller boards and a development environment allowing users to control a large variety of electronic devices. The heart part of Arduino is the microcontroller, a compact built-in circuit (IC) that carries a Central Processing Unit (CPU), memory parts, input and output external devices, clock source, and so forth, all within a single chip. It is a miniature computer designed to handle specific tasks and functions, usually being used in embedded systems and electronic devices, controlling and managing the operation of devices and systems where real-time processing and interaction with the outside world are required. Besides, Arduino also has software of itself, the Arduino IDE (Integrated Development Environment), which can be used to edit, compile, and input codes to the Arduino board. The Arduino’s programming language is based on C or C++ and also includes a set of functions and libraries that can simplify common tasks when working with microcontrollers. Audio signal processing includes manipulation, analysis, and modification of audio signals, which are electronic representations of sound waves and encompasses a wide range of techniques and technologies used to alter or enhance audio signals for various purposes. Audio signal processing includes analog and digital techniques. Because of the flexibility and ability to achieve complex processing tasks with precision, digital signal processing (DSP) is more widely used in today’s society. The important application of this technology includes Analog to Digital Conversion (ADC), which involves sampling the continuous analog signal at discrete intervals to create a digital representation; digital effects, which can shape the sound of music, enhance recordings, and create unique sonic environments; filtering, which is used to modify the frequency content of audio signals; audio analysis, which are used to analyze audio signals for various purposes, including speech recognition, music analysis, and identifying specific features within the audio data; voice processing, which are used in applications like virtual assistants, voice-over, and telecommunication systems; and so forth. Audio signal processing has applications in a wide variety of industries, including music production, film and TV production, telecommunications, home automation, medical devices, etc. It performs a sizeable position in enhancing the quality and richness of audio experiences in our daily lives. This paper reviews the combination of Arduino and audio signal processing and examples of applications in practice are also analyzed. By understanding the working principles, software and hardware, advantages and disadvantages, and future research directions, this paper summarizes their important points and further development paths.
2. Application of Audio Signal Processing in Arduino
Raiyan designed a voice-controlled automated wheelchair, allowing people to control the wheelchair by voice commands with functions including obstacle detection devices to make the moving trajectory safe and a navigation system based on GMS for tracking paths and sending notifications. The circuits of this project include Arduino Mega2560, Easy VR3 speech recognition module, SIM900A GSM module, and relay-based motor controller circuits. The system's basic workflow is that the voice is first detected and transformed into an electrical signal and then dispatched to the voice consciousness gadget made up of an Easy VR3 module and Arduino. The instructions are recorded, stored, and trained, then the next step is Arduino Mega checks information from Easy VR3 and other sensors, if the commands are correct, it will active and control the wheel’s motors. Raiyan used Proteus to stimulate the control system’s software and then test the wheelchair in different environments. The result is that the wheelchair can work relatively smoothly in quiet places but was easily to be influenced by noise in noisy environments. So future direction of work is enhancing its noise removal and sound classification technology in noisy environments [1].
Raj combined Matlab and Arduino to illustrate a new method to process audios: Speech recognition includes extracting and decoding sounds with specific features from the audio signals and decoding them. Next, making use of FFT to manner voice detection by using checking the closest cost of pitch of the given voice samples and then recording the samples. The motors then start to work according to the set values and codes. An earphone provides the voice samples with a MIC. Then the voice will be checked in Matlab and then if it can match the recorded and trained voices in the database, Arduino will control the motor driver and then turn the lock on and off. Then Raj demonstrated the figures of the input waveform of the given test sample. The future research is on how to process the voice signals with wireless communication methods and operate the hardware part with Arduino [2].
Because of the development of technology, home automation has become increasingly popular. So Chattoraj propose to implement a low-cost integrated home automation and security system with Arduino to control sensors and actuators and Visual Basic to allow users to control this system with voice commands. Because both the Arduino and the Visual are Free Open-Source Software, the cost of this system will be relatively low. The main hardware of this system includes: the computer running Matlab; Visual Basic; the Arduino Uno microcontroller board; the sensors for light, temperature, humidity, LPG, and smoke; web cameras, and motors. The PC server can control the Matlab platform and Arduino can control the devices at home and allow the voice commands to control them. The hardware connects to consist of the whole home automation system. Ultimately, Chattoraj built a complete circuit to demonstrate and simulate the work of this system [3]. Fig. 1 is the block diagram that can represent how the circuit is developed.
Figure 1. Block diagram representing the circuit developed
This paper aims to create a musical fountain that can be controlled by users connected to the internet and users just need to select the music tracks. The signal is dispatched via the web to the Ethernet protect board and manipulated in the pc the usage of FFT for the discretization of track after making use of a DSP to achieve a sign dispatched serially for lamps and electro-valves. This project used Python with simplified examples furnished for MATLAB whose supply code is General Public License. The main significance of this work is developing a low-cost, but effective LEDRGB controller based on Arduino, DMX-512 communication protocol, and open-source software that can real-time process and automatically control the fountain. This system can reproduce tune tracks or audio of an internet site developed or from exterior media devices. The system consists of serval modules including signal processing modules and users controlling interfaces. Finally, Mario demonstrated results in the form of figures [4].
The main work of this project is to build a secure speech-controlled robot by setting a 6-digit password. The speech identification system can compare speech signals from speaker to the voice database, identify the speaker, and then control the robot. This project mainly uses Arduino and Matlab. The application of Matlab to pick out the speaker's voice and grant safety gadgets for robots the use of string matching can make it easy to control the using position of the templates of the whole commands. The ARDUINO UNO controller is chosen to meet the requirement of the microcontroller to control the robot. Speech Identification characteristic is realized by means of the usage of Fast Fourier seriously change algorithm and normalization regarding the zeros approach in MATLAB and then checking whether the voice can match the database, if so, the controlling signal will be delivered to Arduino to control the robot. The main methods to complete this project include FFT, normalization, and Discrete Cosine Transform (DCT), and the Matlab GUI is used to let users input their commands. Finally, Chhatbar tested the robot in different sound conditions and using different methods [5]. Figure 2 shows the voice-controlled robot.
Figure 2. The voice-controlled robot
This paper aims to build a security and attendance system that can provide information about authorized and unauthorized persons, which has not only RFID detection and punch the attendance of authorized entry but also a feature that when a card has been detected, the system can check whether the information of this card can match the authorized database and if the ID of the card can match the saved code, GATE will be opened and greet the person by playing audios and save the users’ attendance to an EXCEL sheet, if not, gate will stay closed and alert the protection character by means of playing the audio file pronouncing entry is unauthorized. The hardware of this system mainly includes Arduino Uno Microcontroller (Atmega328) to control the circuits, RFID reader and tags to read the user’s information, Micro SD card to store employee information, LCD, power supply unit, speakers and motors. Then Mishra demonstrates the working circuit diagram, schematic of RFID based security system using Arduino, the stored information and RFID code as the results of this project [6].
3. The appication of arduino in audio signal processing
Because the built-in ADC/DAC parts of Arduinos can capture and emit original audio signals with concrete restrictions and Arduino itself is a platform that can be a wireless and versatile audio signal processor, Arduino is widely used in audio processing. To assess the performances of some common DSP algorithms and explore the disadvantages and possibilities of using Arduino, Bianchi use the basic functions of Arduino Duemilanove with an ATmega328P microcontroller from Atmel to conduct this research. To put all the elements of this investigation together, the input—ADC, and the output—PWM parameters must be correctly chosen. Bianchi chose an 8-bit conversion ADC with a prescaler value of 8 and a measured conversion time of 19.76 µs. After three experiments to clarify the number of oscillators that can be used to perform real time additive, the biggest size of FIR filter that can be used to an input signal, and the maximum length of an FFT that can be calculated in real time respectively. The results showed that the experiment details are important to the amount and quality of computation and will guide future related work [7].
To avoid being hurt by the plenty of noises in today’s society, Lauretis built a device that can collect sounds through a condenser microphone, detect the noises by applying Fast Fourier Transform (FFT) to the sounds and then a buzzer on the device would start buzzing if dangerous noises are detected. Because of Arduino's advantages, including cheap, multifunctional, and allowing C++, Lauretis use Arduino to control this device. The algorithm in Arduino firstly declares the two parameters: sampling maximum frequency, which need to be high enough to make device catch audio with enough frequencies, the number of samples, which need to be big enough to get sufficient audios signals. And then the algorithm declares global variables to describe the samples’ list of data and the initialization of the algorithm variables. Then it is a loop that firstly use FFT to the collected data and then identifies the signal's spectrum characteristic to decide the danger level and then judge whether to turn on the alert. This algorithm needs to be iterated every second to realize real-time continuous monitoring. After testing, this device can work correctly and implement preset functions [8].
Sound energy will be wasted in the transmission process because the audience is usually in specific directions and distances. This phenomenon makes the focusing technology, which can transmit sound energy to the target audience area with a certain direction and distance that can make energy loss as little as possible. Gaviola created a sound strength guiding gadget from 4 loudspeaker sequences through segment distinction or phased array. The loudspeaker design is calculated with formulas related to the wavelength, direction angle, and frequency. Delay is calculated with the basic geometry formulas. The Graphical User Interface is designed with Processing Foundation software. The loudspeaker system series system and loudspeaker combination allow users to access this system. Gaviola then tested audio using a microcontroller and audio beam steering for the audience in this system. The outcomes confirmed that the sound itensity generated by way of this gadget is larger at the chosen or goal angle, so the system is useful [9].
This project aims to build a system that can wirelessly transmit audio signals from a computer to a set of speakers through Wi‐Fi. This system can allow people to play audio with computers and out of all the media devices in the wireless network range. The important elements of this system are the Arduino microcontroller receiver module, whose essential thing is an ATMega 328p, and the PC application that sends the audio sign data. The workflow of this system is: The PC first transmits the audio over 802.11 protocols, then the wireless LAN receives the signals being transmitted and then passes signal to the Arduino controller. The Arduino controller passes the data to the speaker via the audio codec, making it play the audio. Fig. 3 presents the workflow of the system. Considering the limitations in the hardware of the project, the result of this project turns out to be well. The quality of the played audio is relatively good, and the system is robust enough to recover from seconds of lost packets [10].
Figure 3. Block Diagram of the Proposed System
Because robots are increasingly used in different fields, improving the link between users and robots is important. This study aims to provide the fieldwork findings into the requirement gathering of a speech conversational automation utilizing an Arduino Uno smartphone. The system will be built based on a microcontroller which is connected to a smartphone through Bluetooth module to receive voice commands. Then an application on the smartphone will translate the voice commands into text commands. Then the text commands and related information will be transmitted to the Arduino module to control the robot. After receiving the commands, the robot will work as the commands. In this project, users can say commands to the application in the smartphone to directly control the robot to make it go ahead, reverse, rightward, turn left, and stop. The application plays the role of processing audio signals [11].
This project aims to cancel the noises in cars with an Arduino processor because of the low-cost feature. This project considers three levels of noise: low, medium, and high. Each of the levels is analyzed and given specific solutions. There are two methods to cancel noise: operational amplifier and Arduino, which are analog and digital methods respectively. The operational amplifier circuit consists of a microphone to capture the actual signal, two operational amplifier LM358 circuits, and two speakers. The digital method needs a program that reads the signal at the input, then inverts it, and finally sends it to the output port. Next Hamza texts the cancellations of noise in different environments as the results. It turns out that the Arduino method is more useful in noise cancellation than the analog method [12].
4. Conclusion
This paper reviews some of the projects that can embody the application of audio signal processing in Arduino controlling and using Arduino technology to process digital audio signals to explore the current characteristics of the combination of these two technologies and the future trends of its development accordingly.
The Arduino controlling is widely used today in many fields. Audio signal processing is also an important technology in both industry and life. Audio signal processing can allow users to control devices by voice commands, which makes devices convenient for people to use and lowers the threshold of use. This is usually realized by transforming the voice commands into text and then inputting them to Arduino. Arduino then works accordingly because of the specific Arduino codes. Besides, Arduino can also be widely used in audio signal processing because it is a flexible and open-source controlling system and is also low-cost relatively compared with other controllers. In the future, the link between these two technologies will be closer and closer and the product of the combination of them will also be improved in stability, reliability, accuracy, response speed, and so forth. Among them, accuracy is an important aspect that can be improved. Because in the process of researching a new project that can be controlled by the user’s voice and testing the results, it is frequently found that the surrounding noises impact the control. To improve this, a database that stores the specific users’ voices may be needed to allow devices to check whether the input signals match the users, and then decide whether to work according to the commands, in which a sensitive voice recognition system is necessary. This system may carefully check the voice by the frequency, tonality, and tone color to correctly distinguish. Besides, Bluetooth is also a developing trend in the combination of them, allowing users to control in a relatively long distance. This can be realized by installing a Bluetooth application on the smartphone. This application can also process the voice commands into text codes and then transmit them to the microcontroller to control the devices. There will be more and more new methods to promote the effectiveness of the two fields and make audio signal processing more and more significant in Arduino controlling.