Ich hatte immer noch ein kleines Problem und hatte vergessen, eine Antwort zu geben, als ich es reparierte. Danke und ich hoffe, jemand kann es nützlich finden:
Spricht Interpret + Album + Titelname, bereinigt den Text, damit er nicht unnötiges Zeug spricht:
function replace_it(str) { str = str.replace(",","(") str = str.replace("-","(") str = str.replace(")","(") str = str.replace("[","(") str = str.replace("]","(") str = str.replace("\\","(") str = str.replace("/","(") str = str.replace(":","(") var str_index = str.indexOf("(") if (str_index != -1) { str = str.substring(0,str_index) } return str } function on_playback_new_track(metadb) { WSH = new ActiveXObject("WScript.Shell"); var artist = fb.TitleFormat("%artist%").Eval(true) var album = fb.TitleFormat("%album%").Eval(true) var track_name = fb.TitleFormat("%Title%").Eval(true); artist = replace_it(artist) album = replace_it(album) track_name = replace_it(track_name) track_path="Artist "+artist+" Album " +album+" track name "+ track_name fb.Pause() WSH.run("powershell.exe -nologo -NonInteractive -ExecutionPolicy ByPass -WindowStyle Hidden -f c:\\users\\jrg26\\documents\\windowspowershell\\text2speech.ps1 \"" + track_path + "\"",0,true); fb.play() }
Und das Powershell-Skript, falls jemand diese Lösung möchte:
if ($args.count -gt 0) { echo $args[0] Add-Type -AssemblyName System.speech $speak = New-Object System.Speech.Synthesis.SpeechSynthesizer $speak.Speak($args[0]) }
Sie können auch die Rate der Stimme erhöhen und verringern. Geben Sie $ speak | get-member ein, um eine Liste von Eigenschaften und Methoden zu erhalten, nachdem Sie den Typ hinzugefügt und das Objekt erstellt haben:
Rate Property int Rate Voice Property System.Speech.Synthesis.VoiceInfo Voice Volume Property int Volume SelectVoice Method void SelectVoice(string name) SelectVoiceByHints Method void SelectVoiceByHints(System.Speech.Synthesis.VoiceGender gender), $speak.rate = -5
ändert die Rate auf -5 und geht von -10 bis 10.
$speak.selectvoicebyhints("female")
wechselt zur amerikanischen Frauenstimme.