|
import numpy as np |
|
import soundfile |
|
import msinference |
|
|
|
|
|
|
|
|
|
def tts_entry(text='»Vom Prof. Friedrich ist noch eine recht schöne große Landschaft hier«, schrieb das Literarische' |
|
'Conversations-Blatt anlässlich der Dresdner Akademieausstellung 1825, »eine einsame' |
|
'Gebirgsgegend. Trefflich sind die verschiedenen Tinten der höhern Bergregionen dargestellt: vorn,' |
|
'zwischen den sich thürmenden Basaltblöcken, drängen sich noch Gras und Bäumchen hervor,' |
|
'»Vom Prof. Friedrich ist noch eine recht schöne große Landschaft hier«, schrieb das Literarische' |
|
'Conversations-Blatt anlässlich der Dresdner Akademieausstellung 1825, »eine einsame' |
|
'Gebirgsgegend. Trefflich sind die verschiedenen Tinten der höhern Bergregionen dargestellt: vorn,' |
|
'zwischen den sich thürmenden Basaltblöcken, drängen sich noch Gras und Bäumchen hervor,' |
|
'A quick brown fox jumps over the lazy dog. Sweet dreams are made of this, I traveled the world and the seven seas.' |
|
'DESCIPTION Bronzezeitlicher Zeremonialhut („Berliner Goldhut“), gefertigt aus einem Stück nahtlos getriebenem Goldblech und mit Kreisornamenten in Repousse-Technik verziert. Kalotte kegelförmig überhöht und mit breiter umlaufender Krempe. Krempe und Kalotte durch flaches Bronzeband verstärkt. An der Krempe außen tordierter Bronzedraht. Die Anordnung der Ornamentik auf Kalotte und Krempe des Zeremonialhutes wird als Darstellung eines Kalendersystems gedeutet, mit dem sich die Verschiebungen zwischen Sonnen- und Mondjahr berechnen und Mondfinsternisse voraussagen lassen.' |
|
'Vorderseite: L IVL AVR SVLP ANTONINVS [LP ligiert]. Panzerbüste des Uranius Antoninus mit Lorbeerkranz in der Brustansicht nach l., Pteryges des r. Armansatzes sind zur Angabe eines erhobenen Armes waagerecht dargestellt. Rückseite: CONSERVATO-R AVG. Der Stein des Baal von Emesa auf einem Viergespann (quadriga) nach l. Auf dem Stein, der von zwei Schirmen gerahmt ist, ist das Relief eines Adlers zu sehen. Kommentar: Baldus (1971) 84 ff. 87 zur Frage der Münzstätte, ebd. 128 ff. zur Pterygesanhebung (Andeutung eines erhobenen Armes), die als alexanderhafter Gestus gilt. - Uranius Antoninus wurde im Sommer 253 n. Chr. im syrischen Emesa zum Kaiser erhoben und bewährte sich bald darauf bei der erfolgreichen Abwehr eines Einfalls der Sasaniden. Uranius Antoninus stammte möglicherweise aus der Familie der Iulia Domna, war Priester des Baals von Emesa, und ist mit dem literarisch überlieferten Sampsigeramus identisch, der als Organisator des Widerstandes gegen die Sasaniden in der Region belegt ist. Nach 254 n. Chr. fehlen Informationen über Uranius Antoninus, möglicherweise trat er nach Bereinigung der Notsituation hinter den Kaiser Valerianus zurück. Zu diesem Stück wurden 2017 im Zuge der Ausstellung Syria Antiqua zwei vergrößerte Reproduktionen (3D-Ausdrucke) erstellt, die bei den Galvanos in Schrank 81/121 liegen. Literatur: A. von Sallet, ZfN 17, 1890, 241 f. Taf. 4,9 (dieses Stück); H. R. Baldus, Uranius Antoninus (1971) 198 Nr. 85 Taf. 7,85; 12,85 (dieses Stück, mit Lit., 253/254 n. Chr. bzw. Stempelgruppe VIII ca. Dez. 253-Anfang 254 n. Chr.); RIC IV-3 Nr. 2 c; RPC IX Nr. 1940,2 Taf. 131 (dieses Stück).', |
|
voice='deu', |
|
speed=1.14, |
|
affect = True |
|
): |
|
'''returns 24kHZ np.array TTS |
|
|
|
voice : 'en_US/vctk_low#p276' # from English voices -> https://audeering.github.io/shift/ |
|
|
|
or |
|
|
|
voice : 'af_ZA_google-nwu_1919' # from english non-native accents -> https://huggingface.co/dkounadis/artificial-styletts2/discussions/1#6783e3b00e7d90facec060c6 |
|
|
|
or |
|
|
|
voice : 'deu' # foreign langs -> https://huggingface.co/dkounadis/artificial-styletts2/blob/main/Utils/all_langs.csv |
|
''' |
|
|
|
|
|
|
|
|
|
|
|
if ('en_US/' in voice) or ('en_UK/' in voice): |
|
a = '' if affect else 'v2/' |
|
style_vector = msinference.compute_style('assets/wavs/style_vector/' + a + voice.replace( |
|
'/', '_').replace('#', '_').replace( |
|
'cmu-arctic', 'cmu_arctic').replace( |
|
'_low', '') + '.wav') |
|
|
|
x = msinference.inference(text, |
|
style_vector) |
|
|
|
|
|
|
|
elif '_' in voice: |
|
style_vector = msinference.compute_style('assets/wavs/mimic3_foreign_4x/' + voice.replace( |
|
'/', '_').replace('#', '_').replace( |
|
'cmu-arctic', 'cmu_arctic').replace( |
|
'_low', '') + '.wav') |
|
|
|
x = msinference.inference(text, |
|
style_vector) |
|
|
|
|
|
|
|
|
|
else: |
|
|
|
|
|
x = msinference.foreign(text=[text], |
|
lang=voice, |
|
speed=speed) |
|
|
|
|
|
|
|
x /= np.abs(x).max() + 1e-7 |
|
print(x.shape, 'TTS OK') |
|
return x |
|
|
|
soundfile.write(f'demo.wav', tts_entry(), 24000) |
|
|