-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_text_to_speech.py
executable file
·109 lines (83 loc) · 12.4 KB
/
test_text_to_speech.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# coding=utf-8
import os
from google.oauth2 import service_account
from google.cloud import speech_v1 as speech
from google.cloud.speech import enums
from google.cloud import texttospeech_v1 as texttospeech
from play_sound import *
from subprocess import Popen
import time
def text_to_speech(text,output_file):
SCOPES = ['https://www.googleapis.com/auth/cloud-platform']
cred = service_account.Credentials.from_service_account_file('solid-scope-361216-f63934ecc11d.json', scopes=SCOPES)
client=texttospeech.TextToSpeechClient(credentials=cred)
#output of: print(client.list_voices())
#voices {
#language_codes: "el-GR"
#name: "el-GR-Wavenet-A"
#ssml_gender: FEMALE
#natural_sample_rate_hertz: 24000
#}
#voices {
#language_codes: "el-GR"
#name: "el-GR-Standard-A"
#ssml_gender: FEMALE
#natural_sample_rate_hertz: 24000
#}
input=texttospeech.types.SynthesisInput(text=text)
voice = texttospeech.types.VoiceSelectionParams(
language_code='el-GR',
ssml_gender=texttospeech.enums.SsmlVoiceGender.FEMALE,
name='el-GR-Wavenet-A' # Better than el-GR-Standard-A
)
audio_config=texttospeech.types.AudioConfig(
audio_encoding=texttospeech.enums.AudioEncoding.LINEAR16,
#speaking_rate=0.5,
#pitch=2,
#effects_profile_id=[effects_profile_id]
)
# https://stackoverflow.com/questions/55291174/error-in-python-cryptography-module-rsaprivatekey-object-has-no-attribute-si
print('Converting text to speech...')
response=client.synthesize_speech(
input_=input,
voice=voice,
audio_config=audio_config
)
print('Done')
# The response's audio_content is binary.
with open(output_file, "wb") as out:
out.write(response.audio_content)
print('Audio content written to file')
if __name__ == "__main__":
# text = "Ο Δισκοβόλος. Ο Δισκοβόλος είναι φημισμένο χάλκινο έργο του αρχαίου Έλληνα καλλιτέχνη Μύρωνα, που χρονολογείται γύρω στο 450 π.Χ.. Απεικονίζει ένα νεαρής ηλικίας δισκοβόλο λίγο πριν ρίξει τον δίσκο κατά την διάρκεια του ολυμπιακού αγωνίσματος της δισκοβολίας. Οι αρχαίοι ολυμπιακοί αγώνες διεξάγονταν κάθε 4 χρόνια στον ιερό τόπο της Ολυμπίας, στη δυτική Πελοπόννησο. Ο πρώτος καταγεγραμμένος εορτασμός των Ολυμπιακών Αγώνων ήταν το 776 π.Χ.. Οι Ολυμπιακοί Αγώνες είχαν θρησκευτική σημασία, αφού γίνονταν προς τιμή του θεού Δία, το άγαλμα του οποίου στεκόταν στην Ολυμπία. Αρχικά οι Αγώνες ήταν μόνο τοπικοί και διεξαγόταν μόνο ένα αγώνισμα, η κούρσα του σταδίου. Κατά την πάροδο του χρόνου, προστέθηκαν και άλλα αγωνίσματα, φτάνοντας τα 18 στον αριθμό, τα οποία διεξάγονταν σε σύνολο πέντε ημερών. Μερικά από αυτά ήταν η πυγμαχία, το πένταθλον, η πάλη και το παγκράτιον. Το έπαθλο για τους νικητές ήταν ένα στεφάνι από κλαδιά άγριας ελιάς."
# text = "Η Θεά Αθηνά. Η Αθηνά, κατά την Ελληνική μυθολογία, ήταν η θεά της σοφίας, της ελιάς, της στρατηγικής και του πολέμου. Ήταν η αγαπημένη κόρη του Δία. Μητέρα της ήταν η Μήτις. Ο Δίας ύστερα από προφητεία έμαθε ότι η Μήτις θα γεννούσε το παιδί το οποίο θα τον ανέτρεπε από την εξουσία. Οπότε την κατάπιε ενώ ήταν έγκυος στην Αθηνά. Αργότερα, ο Δίας άρχισε να υποφέρει από πονοκεφάλους. Τότε, ο Ήφαιστος με ένα μεγάλο σφυρί χτύπησε το κεφάλι του Δία και μέσα από αυτό πετάχτηκε η Αθηνά πάνοπλη. Η Αθηνά πέταξε τα όπλα της στα πόδια του Δία, δείγμα αναγνώρισής του ως υπέρτατου θεού και πατέρα της. Η Ακρόπολη στην Αθήνα ήταν ο σημαντικότερος λατρευτικός χώρος της θεάς Αθηνάς στην αρχαία Ελλάδα. Μέσα στον Παρθενώνα δέσποζε το χρυσελεφάντινο άγαλμα της Αθηνάς, ένα γλυπτό έργο τέχνης του γλύπτη Φειδία."
# text = "Ο Ιπποκράτης. Ο Ιπποκράτης ήταν αρχαίος Έλληνας ιατρός και θεωρείται μία από τις πιο εξέχουσες προσωπικότητες στην ιστορία της ιατρικής. Γεννήθηκε το 460 π.Χ., και σύμφωνα με την παράδοση, καταγόταν εκ μητρός από τον ήρωα της Ελληνικής Μυθολογίας Ηρακλή. Ο Ιπποκράτης αναφέρεται ως ο πατέρας της σύγχρονης ιατρικής σε αναγνώριση της συνεισφοράς του στο πεδίο της ιατρικής επιστήμης. Είναι ο θεμελιωτής της ορθολογικής ιατρικής που κατόρθωσε να την απαλλάξει από τα μεταφυσικά στοιχεία, τις προλήψεις, και τις δεισιδαιμονίες της εποχής. Τον 4ο αιώνα π.Χ. λέγεται πως έγραψε τον όρκο που λαμβάνεται από τους ιατρούς σχετικά με την ηθική εξάσκηση της ιατρικής. Έμεινε γνωστός έως σήμερα ως ο όρκος του Ιπποκράτη."
# text = "Ο Αχιλλέας. Στην ελληνική μυθολογία, ο Αχιλλέας ήταν ο γενναιότερος ήρωας της Ιλιάδας του Ομήρου. Σύμφωνα με το μύθο, η μητέρα του Θέτις προσπάθησε να τον κάνει άτρωτο, βουτώντας τον σε αθάνατα νερά. Κρατώντας τον όμως από τη φτέρνα, τον άφησε τρωτό σ' αυτό το σημείο. Κατά την εκστρατεία στην Τροία, ο Αχιλλέας παύει να συμμετέχει στις μάχες εξαιτίας της προσβολής του από τον Αγαμέμνονα. Ο φίλος του Πάτροκλος φοράει στην μάχη την πανοπλία του, όμως σκοτώνεται από τον Έκτορα που τον πέρασε για τον Αχιλλέα. Αμέσως μετά, ακολουθεί η οργή του Αχιλλέα, που ξαναμπαίνει στη μάχη και δολοφονεί τον Έκτορα. Κατά την εισβολή των Ελλήνων στην Τροία με τον Δούρειο Ίππο, ένα δηλητηριώδες βέλος του Πάρη πετυχαίνει τον Αχιλλέα στην πτέρνα, το μόνο τρωτό του σημείο, και τον σκοτώνει. Το άγαλμα Αχχιλέας Θνήσκων βρίσκεται στο Αχίλλειο μέγαρο στην Κέρκυρα."
# text = "Γεια σας. Είμαι το ρομπότ του Αρχαιολογικού Μουσείου Θεσσαλονίκης. Σας προσκαλώ να με γνωρίσετε στην Διεθνή Έκθεση Θεσσαλονίκης. Θα είμαι ο ξεναγός σας. Μπορώ να σας δώσω πληροφορίες για την έκθεση. Ελάτε να παίξουμε παιχνίδια ανακάλυψης θαμμένων θησαυρών. Μπορεί να είσαι εσύ ο καλύτερος εξερευνητής της πόλης. Σας περιμένω από τις 10 μέχρι τις 18 Σεπτεμβρίου στο περίπτερο 14."
# text = "Hello. I am the robot of the Archaeological Museum of Thessaloniki. I invite you to meet me at the Thessaloniki International Fair. I will be your tour guide. I can give you information about the exhibition. Let's play buried treasure discovery games. Are you the best explorer in town? I am waiting for you from September 10 to 18 at stand 14."
# text_file = "audio_files\discobolus.txt"
# A1 = ["Ποιο από τα παρακάτω πρόσωπα έθαψε τον Εγκέλαδο κάτω από τη σημερινή Σικελία κατά τη Γιγαντομαχία;", "Ποιος από τους παρακάτω δεν είναι παιδί του Δία;", "Σύμφωνα με τη μυθολογία, ποιος Θεός απελευθέρωσε από τα Τάρταρα τους Κύκλωπες και τους Εκατόγχειρες για να νικήσει τους Τιτάνες;", "Σύμφωνα με τη μυθολογία, ποιος απελευθέρωσε τον Προμηθέα από τον Καύκασο, μετά από 30 χρόνια;"]
# A2 = ["Ψάξε και φέρε μου τον Θεό της Αστραπής.",
# "Ψάξε και φέρε μου την Θεά της Σοφίας.",
# "Ψάξε και φέρε μου τον Θεό της Φωτιάς.",
# "Ψάξε και φέρε μου τον Θεό της Θάλασσας.",
# "Ψάξε και φέρε μου τον Θεό του Πολέμου.",
# "Ψάξε και φέρε μου αυτόν που νίκησε τη Λερναία Ύδρα.",
# "Ψάξε και φέρε μου τον βασιλιά της Ιθάκης από το ποίημα του Ομήρου."]
# Intro = ["Παρακαλώ επιλέξτε γρίφο.",
# "Προσπαθήστε ξανά.",
# "Παρακαλώ απομακρυνθείτε.",
# "Παρακαλώ ελάτε μαζί μου"]
# for i in range(0,len(Intro)):
# text=Intro[i]
# output_file=str(i) + ".mp3"
# text_to_speech(text,output_file)
# text = "Στην αρχαία Ελλάδα η βασική εκπαίδευση των νέων διαρκούσε 4 χρόνια από την ηλικία των 7 έως την ηλικία των 11 ετών. Συμπεριλάμβανε ανάγνωση, γραφή, αριθμητική, μουσική και γυμναστική. Τα παιδιά πλουσίων οικογενειών συνοδεύονταν στο σχολείο από έναν έμπιστο δούλο, τον παιδαγωγό που τα βοηθούσε και στη μελέτη τους στο σπίτι."
# text = "Χρησιμοποιήστε τον βοηθό μου και βρείτε την προθήκη με τα σύνεργα γραφής. Παρατηρήστε προσεκτικά τα αντικείμενα της προθήκης. Ποιο από αυτά που βρίσκονται στην προθήκη βλέπετε να υπάρχει στην εικόνα που σας δείχνω"
# text = "Στην προθήκη 3 υπάρχουν δύο τμήματα μικρών αγγείων στα οποία έγραψαν κάποιοι μαθητές της αρχαιότητας. Μπορείτε να τα εντοπίσετε και να βρείτε από τι υλικό είναι φτιαγμένα;"
# text = "Σε σχέση με τα σύγχρονα γράμματα, τι παρατηρείτε;"
# text = "Χρησιμοποιήστε τον βοηθό μου και βρείτε τις λίθινες στήλες. Τι παρατηρείτε σχετικά με τα γράμματα;"
text = "Κοιτάξτε τις λίθινες στήλες δίπλα και απέναντι από την προθήκη 3."
print(text)
output_file="part_B_5.mp3"
text_to_speech(text,output_file)