top of page
Search
  • Writer's pictureIfrim Ciprian

Creating the System Voice Lines

Updated: May 20, 2022

My system needs to "talk", in order to output all the outputs that have been calculated by the device.


So I have went online and checked the best Text to Speech systems. By best I mean the pronounciation, tone and accent. How humane it sounds.


So I found the following article:


And decided to choose what seemed the best 2:

2) Murf


I have made different voice lines (about 10) and sent to different people to get an idea on what they would think sounds more humane/natural.

The MURF TTS had voice lines that were very humane in certain situations, but in many others, the rest, it was quite robotic sounding.


So as the overall vote, and my perspective, was to use Play.ht, I have used it.


Firstly, I needed to make a script to make sure that I know what voice lines to make. The script is as follows:

“HOW IS IT GOING TO BE TODAY?” COMMAND

· Considering your current conditions, the machine learning estimator classifies your weather as:

· Snow/rain/Fair/cloudy/overcast

· In view of the rain classification, I can forecast the precipitation amount to:

· Rainfall numbers milimeters


“WHAT ARE THE ENVIRONMENT CONDITIONS?” COMMAND

TEMPERATURE CHAPTER

· After analysing your surroundings, I can confirm the measured temperature is:

· 0-50 = number MP3 files

· - = negative

· Furthermore, the calculated feels like temperature equals to:

· Additionally, the dew point is

HUMIDITY CHAPTER

· Meanwhile the humidity of your environment stands at:

· With the relative humidity:

· And the absolute humidity at:

· 1-100% audio files

PRESSURE CHAPTER

· In terms of the atmospheric pressure, it stands at:

· Composed out of:

· Water vapor pressure, and:

· Dry air pressure.

· Once converted to the sea-level pressure it is:

· 900 hectopascals – 1100 hectopascals (audio outputs)


“DETAILS ABOUT MY LOCATION?” COMMAND

· Based on your location, the estimated altitude is:

· Numbers meters (0-3000)

· Your magnetic heading at the time of computation is towards:

· Based on the angle of: (0-360 degrees)

· With a compass roll of: (0-90 degrees)

· And a compass pitch of:

· NORTH

· EAST

· SOUTH

· WEST

· NORTH-EAST

· SOUTH-EAST

· SOUTH-WEST

· NORTH-WEST

· NORTH-NORTH-EAST

· EAST-NORTH-EAST

· EAST-SOUTH-EAST

· SOUTH-SOUTH-EAST

· SOUTH-SOUTH-WEST

· WEST-SOUTH-WEST

· WEST-NORTH-WEST

· NORTH-NORTH-WEST


“COUNT THE NUMBER OF STEPS DONE!” COMMAND

· The total aggregate of steps adds up to:

· Since the last command execution, the number of steps performed equals to:

· Considering an average speed of 4.8 kilometres per hour, with the world body average weight of 62 kilograms, and height of 171 centimetres, you have burnt circa:

· Numbers 0-3000 (kilocalories)

· Converting the kilocalories burnt to energy, it results in:

· Numbers 0-3000 (kilojouls)

· In addition, by using the averages aforementioned, you have travelled a total distance of: Numbers 0-3000 (kilometers) + meters


“CURRENT TIME AND DATE” COMMAND

· The current time is:

· And

· Meanwhile, today’s date is:


“PRESENT THE HEALTH REPORT” COMMAND

· Please stand down and relax your arm during the heart rate measurement.

· My sensors are telling me that you are active, please stand still for an accurate reading!

· I can report the heart rate is at:

· 50-150 BMP

· Moreover, the skin temperature is:

· In terms of the effects of the environment on your health. The heat index stands at:

·

· The heat index is within the safe range!

· Caution Advised. High heat!

· Increased Caution Advised. High heat!

· Danger! Only stay outdoor if necessary!

· Extreme Danger! Do not stay in the current environment, migraine and negative skin effects can be caused!


· There is no discomfort with the current conditions!

· With the current conditions under 50% of the population feels discomfort!

· With the current conditions over 50% of the population feels discomfort!

· With the current conditions most of the population suffers discomfort!

· The Discomfort Index is High! The environment will cause severe stress!

· Discomfort Index Extremely High! This is a state of medical emergency! Please leave environment!


· Based on the current pressure there are no negative effects as it is within the expected range!

· Caution! My sensors have identified high pressure, which pushes against the body and limits how much the tissue can expand. Potential of joint pain!

· Caution! Low pressure allowing the body's tissues to expand, affecting the nerves, which can cause migraines!


· The air quality of your environment resides at: (0-350 numbers)

· Which means the air is:

· Pure. No measures needed

· Great. No irritation or impact on well-being. No health measures need to be taken!

· Lightly polluted! Influence on the well-being possible! Fresh air or ventilation suggested!

· Moderately polluted. Adverse effects on your well-being possible! Increase ventilation with clean air!

· Heavily polluted. Continuous exposure might lead to migraines! Immediately increase ventilation or leave the environment!

· Severely polluted. Severe health issues can be caused by the current environment! Contamination is recommended! Maximise ventilation or leave environment

· Extremely polluted! Neurotoxic adverse effects possible! The substance must be identified and contaminated! Avoid the environment!


· In terms of Carbon Dioxide I have detected:

· Normal CO2 concentration in outdoor ambient air!

· Excellent air! CO2 concentrations typical of occupied indoor spaces with good air exchange!

· Good air! CO2 concentrations typical of occupied indoor spaces with decent air exchange!

· Fair air! CO2 concentrations typical of occupied indoor spaces with no air exchange!

· Mediocre air! High CO2 concentrations! Increase ventilation or leave environment!

· Bad air! High CO2 concentrations! Ventilation necessary! Leave environment!

· Very bad air! Headaches, sleepiness, increased heart rate and slight nausea can be caused by your surroundings. Leave environment immediately!

· Environment exposure may lead to oxygen deprivation resulting in adverse health effects. Leave environment immediately!

· Environment exposure may lead to oxygen deprivation resulting in permanent brain damage and coma! Leave environment urgently!



· In addition, I have also detected: (0-50 parts per million Volatile Organic Compounds)

· The Air is clean with values within the expected ranges!

· My sensors have detected the presence of Ethane Alkane.

· Isoprene/Methyl/Butadiene/Ethanol Detected!

· A high concentration of Carbon Monoxide has been identified in your surroundings!

· My sensors have detected the presence of Acetone in your environment!


“AURI DESCRIBE YOURSELF” COMMAND

My name is AURI, I am the assistant that will always be here for you. I am able to continuously monitor your health and the effect of the environment on it. If you ever wonder about the conditions of your surroundings, just ask, I’ll be glad to answer!


“DO YOU KNOW ANYTHING ABOUT THE CLOUDS?” COMMAND

· The cloud base forms at a computed altitude of: (number meters)

· Furthermore, the approximated cloud temperature is: (numbers temperature)


“THANKS FOR THE INFO PROVIDED?” COMMAND

· You are most welcome!

· You are, as always, very welcome!

· A pleasure to help!

· My job is to assist you!

· Cheers!

· Always here to help!


“WHAT IS THE BATTERY LEVEL?” COMMAND

· The battery level stands at: (insert percentage)



Then, I have created all the voice lines using the Play.ht website, which is a paid service:

Thankfully they do provide a 20% discount for students.


After I made all the voice lines, I placed all of them in different folders specif to the subject.

And I had created an Excel table having all the voice lines:

With the file structure representing the actual file name:

#define SND_01_001		1 /* 01/001.wav */
#define SND_01_002		2 /* 01/002.wav */
#define SND_01_003		3 /* 01/003.wav */
#define SND_01_004		4 /* 01/004.wav */
#define SND_01_005		5 /* 01/005.wav */
#define SND_01_006		6 /* 01/006.wav */
#define SND_01_007		7 /* 01/007.wav */
#define SND_01_008		8 /* 01/008.wav */
#define SND_01_009		9 /* 01/009.wav */
#define SND_01_010		10 /* 01/010.wav */
#define SND_01_011		11 /* 01/011.wav */
#define SND_01_012		12 /* 01/012.wav */
#define SND_01_013		13 /* 01/013.wav */
#define SND_01_014		14 /* 01/014.wav */
#define SND_01_015		15 /* 01/015.wav */
#define SND_01_016		16 /* 01/016.wav */
#define SND_01_017		17 /* 01/017.wav */
#define SND_01_018		18 /* 01/018.wav */
#define SND_01_019		19 /* 01/019.wav */
#define SND_01_020		20 /* 01/020.wav */
#define SND_01_021		21 /* 01/021.wav */
#define SND_01_022		22 /* 01/022.wav */
#define SND_01_023		23 /* 01/023.wav */
#define SND_01_024		24 /* 01/024.wav */
#define SND_01_025		25 /* 01/025.wav */
#define SND_01_026		26 /* 01/026.wav */
#define SND_01_027		27 /* 01/027.wav */
#define SND_01_028		28 /* 01/028.wav */
#define SND_01_029		29 /* 01/029.wav */
#define SND_01_030		30 /* 01/030.wav */
#define SND_01_031		31 /* 01/031.wav */
#define SND_01_032		32 /* 01/032.wav */
#define SND_01_033		33 /* 01/033.wav */
#define SND_01_034		34 /* 01/034.wav */
#define SND_01_035		35 /* 01/035.wav */
#define SND_01_036		36 /* 01/036.wav */
#define SND_01_037		37 /* 01/037.wav */
#define SND_01_038		38 /* 01/038.wav */
#define SND_01_039		39 /* 01/039.wav */
#define SND_01_040		40 /* 01/040.wav */
#define SND_01_041		41 /* 01/041.wav */
#define SND_01_042		42 /* 01/042.wav */
#define SND_01_043		43 /* 01/043.wav */
#define SND_01_044		44 /* 01/044.wav */
#define SND_01_045		45 /* 01/045.wav */
#define SND_01_046		46 /* 01/046.wav */
#define SND_01_047		47 /* 01/047.wav */
#define SND_01_048		48 /* 01/048.wav */
#define SND_01_049		49 /* 01/049.wav */
#define SND_01_050		50 /* 01/050.wav */
#define SND_01_051		51 /* 01/051.wav */
#define SND_01_052		52 /* 01/052.wav */
#define SND_01_053		53 /* 01/053.wav */
#define SND_01_054		54 /* 01/054.wav */
#define SND_01_055		55 /* 01/055.wav */
#define SND_01_056		56 /* 01/056.wav */
#define SND_01_057		57 /* 01/057.wav */
#define SND_01_058		58 /* 01/058.wav */
#define SND_01_059		59 /* 01/059.wav */
#define SND_01_060		60 /* 01/060.wav */
#define SND_01_061		61 /* 01/061.wav */
#define SND_01_062		62 /* 01/062.wav */
#define SND_01_063		63 /* 01/063.wav */
#define SND_02_001		64 /* 02/001.wav */
#define SND_02_002		65 /* 02/002.wav */
#define SND_02_003		66 /* 02/003.wav */
#define SND_02_004		67 /* 02/004.wav */
#define SND_02_005		68 /* 02/005.wav */
#define SND_02_006		69 /* 02/006.wav */
(...) ETC. 

The voice lines were generate by some code I wrote in Python:



Moreover, all files have been modified through software.

Firstly, the volume was increased using the "Amplify" function by 3.5 decibells. I have tested 2db, 4db, 6db and 8db, in order to get the perfect volume increase without clipping.


Moreover the "Trucate Silence" function has been used to remove the silence before and after the actual keyphrase, to make the voice lines sound more "gapless" and smooth.

The perfect setting was for silence lower than 70 decibels with 0.01 seconds for minimum length of silence and to silence:

And then I just batch exported every folder:


Then I used FreeCommader XP, a program that can be used to batch rename files based on rules, in my case a couter:



6 views0 comments

Recent Posts

See All
bottom of page