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:
1) Play.ht
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:
Comments