Python 关于 Mac 丹麦语发音错误的文字转语音
Python Text to Speech on Mac Pronouncing Danish Words Wrong
我有以下程序试图读出一行丹麦语文本。我不明白为什么它发音错误。它应该听起来像 "po so mo fo po",但它听起来根本不像那样。听起来更像 "p n s n m n f n p n"。我使用的是丹麦语 "Magnus" 所以它应该知道如何发音。此外,当我使用 OSX 画外音来发音时,它听起来很正确。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from AppKit import NSSpeechSynthesizer
import time
import sys
nssp = NSSpeechSynthesizer
ve = nssp.alloc().init()
from_voice = "com.apple.speech.synthesis.voice.magnus.premium"
line = "på så må få på"
ve.setVoice_(from_voice)
ve.startSpeakingString_(line)
time.sleep(1)
while ve.isSpeaking():
time.sleep(1)
您需要传入一个 unicode
对象,而不是 UTF-8 字节串:
ve.startSpeakingString_(line.decode('utf8'))
您可以将 line
值定义为 Unicode 文字而不是解码:
line = u"på så må få på"
我有以下程序试图读出一行丹麦语文本。我不明白为什么它发音错误。它应该听起来像 "po so mo fo po",但它听起来根本不像那样。听起来更像 "p n s n m n f n p n"。我使用的是丹麦语 "Magnus" 所以它应该知道如何发音。此外,当我使用 OSX 画外音来发音时,它听起来很正确。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from AppKit import NSSpeechSynthesizer
import time
import sys
nssp = NSSpeechSynthesizer
ve = nssp.alloc().init()
from_voice = "com.apple.speech.synthesis.voice.magnus.premium"
line = "på så må få på"
ve.setVoice_(from_voice)
ve.startSpeakingString_(line)
time.sleep(1)
while ve.isSpeaking():
time.sleep(1)
您需要传入一个 unicode
对象,而不是 UTF-8 字节串:
ve.startSpeakingString_(line.decode('utf8'))
您可以将 line
值定义为 Unicode 文字而不是解码:
line = u"på så må få på"