Here is an example of a bird’s voice generation using the Arduino Nano microcontroller (ATmega328)
The code is taken from http://120.107.171.121/~tywua/sub/ISAR/Chirp.ino, apparently from a professor’s website at National Changhua University of Education, Taiwan.

Here is an example of the resulting sound:
Here’s the signal form in the Audacity app for 1 set of tweets only:

Here’s the source code (from http://120.107.171.121/~tywua/sub/ISAR/Chirp.ino)
int piezopin = 11; Select the PIN for the speaker
int angulo = 0;
int counter = 0;
void Setup () {
pinMode (Piezopin, OUTPUT);
}
void Loop () {
Angulo = random (10.50);
Counter = random (2.6);
highChirp (5, Angulo/10);
Delay (100);
lowChirp (Angulo * 4.2);
Delay (100);
Tweets (counter, 2);
}
void highChirp (int intensity, int chirpsNumber) {
I.
int x;
for (int veces = 0; veces<=chirpsNumber; veces++){
for (i = 100; i > 0; I--)
{
for (x = 0; x<intensity; x++)
{
digitalWrite (Piezopin, HIGH);
delayMicroseconds (i);
digitalWrite (Piezopin, LOW);
delayMicroseconds (i);
}
}
}
}
void lowChirp (int intensity, int chirpsNumber) {
I.
int x;
for (int veces = 0; veces<=chirpsNumber; veces++){
for (i = 0; i<200; i++)
{
digitalWrite (Piezopin, HIGH);
delayMicroseconds (i);
digitalWrite (Piezopin, LOW);
delayMicroseconds (i);
}
for (i = 90; i > 80; I--)
{
for (x = 0; x<5; x++)
{
digitalWrite (Piezopin, HIGH);
delayMicroseconds (i);
digitalWrite (Piezopin, LOW);
delayMicroseconds (i);
}
}
}
}
VOID tweet (int intensity, int chirpsNumber) {
I.
int x;
Normal chirpsNumber 3, normal intensity 5
for (int veces = 0; veces<chirpsNumber; veces++){
for (int i = 80; i > 0; I--)
{
for (int x = 0; x<intensity; x++)
{
digitalWrite (Piezopin, HIGH);
delayMicroseconds (i);
digitalWrite (Piezopin, LOW);
delayMicroseconds (i);
}
}
}
Delay (1000);
}