python使用phonemizer实现获取英文文本句子单词音素

 更新时间:2024年11月13日 15:47:58   作者:DataBall  
这篇文章主要为大家详细介绍了python如何使用phonemizer实现获取英文文本句子单词音素,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解下

使用 phonemizer 获取英文文本句子单词音素。

安装 phonemizer 库。

pip install phonemizer

具体代码实现如下:

# -*-coding:utf-8-*-
# date:2024-11
# Author: DataBall - XIAN
# Function: 获取英文文本句子单词音素
from phonemizer import phonemize
from phonemizer.backend import EspeakBackend
from phonemizer.punctuation import Punctuation
from phonemizer.separator import Separator
 
# en-gb – 英国英语
# en-us – 美国英语
 
language_ = "en-us" # 语言
 
print("语言类型 :{}".format(language_))
backend = EspeakBackend(language_)
print("\n-------------------------------->>")
text = "hello Tom , my name is Lily  !"
# 整句音素
phonemes = phonemize(text, language=language_, backend='espeak', strip=True)
print("整句文本: {}: ".format(text))
print("整句音素:{}".format(phonemes))
 
print("\n-------------------------------->>")
# 按词分割音素
words = [word for word in text.lower().split(' ')]
# 音素之间用空格分割
phonemes_word = Separator(phone=' ', word=None)
dict_ = {word: backend.phonemize([word], separator=phonemes_word, strip=True)[0] for word in words}
 
print("打印音素字典:")
i = 0
for key_ in dict_.keys():
    i += 1
    if len(dict_[key_])>0: # 去除标点符号干扰
        print(" [{}] {} : {}".format(i,key_,dict_[key_]))

选择语言”en-us“执行log如下:

语言类型 :en-us
 
-------------------------------->>
整句文本: hello Tom , my name is Lily  !:
整句音素:həloʊ tɑːm maɪ neɪm ɪz lɪli
 
-------------------------------->>
打印音素字典:
 [1] hello : h ə l oʊ
 [2] tom : t ɑː m
 [4] my : m aɪ
 [5] name : n eɪ m
 [6] is : ɪ z
 [7] lily : l ɪ l i

选择语言”en-gb“执行log如下:

语言类型 :en-gb
 
-------------------------------->>
整句文本: hello Tom , my name is Lily  !:
整句音素:hələʊ tɒm maɪ neɪm ɪz lɪli
 
-------------------------------->>
打印音素字典:
 [1] hello : h ə l əʊ
 [2] tom : t ɒ m
 [4] my : m aɪ
 [5] name : n eɪ m
 [6] is : ɪ z
 [7] lily : l ɪ l i

到此这篇关于python使用phonemizer实现获取英文文本句子单词音素的文章就介绍到这了,更多相关python获取英文文本句子单词音素内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现读取字符串按列分配后按行输出示例

    Python实现读取字符串按列分配后按行输出示例

    这篇文章主要介绍了Python实现读取字符串按列分配后按行输出,涉及Python针对字符串的遍历、判断、运算等相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • Python自动重新加载模块详解(autoreload module)

    Python自动重新加载模块详解(autoreload module)

    这篇文章主要介绍了Python自动重新加载模块详解(autoreload module),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python 模拟贷款卡号生成规则过程解析

    python 模拟贷款卡号生成规则过程解析

    这篇文章主要介绍了python 模拟贷款卡号生成规则过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python中列表的常用操作详解

    Python中列表的常用操作详解

    这篇文章主要为大家详细介绍了python字典的常用操作方法,主要内容包含Python中列表(List)的详解操作方法,包含创建、访问、更新、删除、其它操作等,需要的朋友可以参考下
    2021-09-09
  • python读取oracle函数返回值

    python读取oracle函数返回值

    这篇文章主要介绍了python读取oracle函数返回值的相关资料,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Python通过UDP传输超过64k的信息

    Python通过UDP传输超过64k的信息

    在UDP中,单个数据包的最大尺寸通常受到网络层的限制,这通常被称为最大传输单元(MTU),在以太网环境中,标准的MTU大小通常为1500字节,下面是一个Python示例,展示了如何通过UDP发送和接收超过64KB的数据,需要的朋友可以参考下
    2024-08-08
  • PySide和PyQt加载ui文件的两种方法

    PySide和PyQt加载ui文件的两种方法

    这篇文章主要为大家详细介绍了PySide和PyQt加载ui文件的两种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • Python捕获全局的KeyboardInterrupt异常的方法实现

    Python捕获全局的KeyboardInterrupt异常的方法实现

    KeyboardInterrupt异常是Python中的一个标准异常,它通常发生在用户通过键盘中断了一个正在运行的程序,本文主要介绍了Python捕获全局的KeyboardInterrupt异常的方法实现,感兴趣的可以了解一下
    2024-08-08
  • python实战练习之最新男女颜值打分小系统

    python实战练习之最新男女颜值打分小系统

    前几天不是出过一期Python美颜相机嘛?不知道大家现在还记不记得?这一期的话题还是紧接着那一期颜值方面来走,对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-09-09
  • Python栈的实现方法示例【列表、单链表】

    Python栈的实现方法示例【列表、单链表】

    这篇文章主要介绍了Python栈的实现方法,结合实例形式分析了Python基于列表、单链表定义栈的相关操作技巧,需要的朋友可以参考下
    2020-02-02

最新评论