首页 > Python资料 博客日记

树莓派5 笔记26:ollama大型语言模型_中文输入法_Python_espeak文字转语音

2024-10-18 11:00:06Python资料围观47

Python资料网推荐树莓派5 笔记26:ollama大型语言模型_中文输入法_Python_espeak文字转语音这篇文章给大家,欢迎收藏Python资料网享受知识的乐趣

 今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi)

 本人所用树莓派5 装载的系统与版本如下:

 版本可用命令 (lsb_release -a) 查询:

Opencv 与 python 版本如下:

下载大语言模型,下载中文输入法,Python_espeak文字转语音

目录

大型语言模型与ollama:

ollama主要功能与特点: 

下载与验证ollama:

验证下载:

安装中文输入法:

​编辑

切换输入法:

下载语言模型:

文字转语音:

下载espeak:

测试espeak:

关键列说明:

在Python中使用espeak:

网上查阅资料贴出:


大型语言模型与ollama:

大型语言模型(Large Language Models,简称LLM)是一类基于人工智能技术的高级文本生成系统, 其主要特点是能够通过大规模的训练数据来学习和理解人类语言,并能够生成自然流畅的文本。

ollama主要功能与特点: 

  1. 简化部署:Ollama旨在简化在Docker容器中部署LLM的过程,使得管理和运行这些模型变得更加容易。
  2. 捆绑模型组件:它将模型权重、配置和数据捆绑到一个包中,称为Modelfile,这有助于优化设置和配置细节,包括GPU使用情况。
  3. 支持多种模型:Ollama支持多种大型语言模型,如Llama 2、Code Llama、Mistral、Gemma等,并允许用户根据特定需求定制和创建自己的模型。
  4. 跨平台支持:支持macOS和Linux平台,Windows平台的预览版也已发布。用户可以通过简单的安装过程,在各自平台上运行Ollama。
  5. 命令行操作:安装完成后,用户可以通过简单的命令行操作启动和运行大型语言模型。例如,要运行Gemma 2B模型,只需执行命令ollama run gemma:2b
  6. 资源要求:为了顺畅运行大模型,需要一定的内存或显存。例如,至少需要8GB的内存/显存来运行7B模型,至少需要16GB来运行13B模型,至少需要32GB来运行34B的模型。

下载与验证ollama:

curl -fsSL https://ollama.com/install.sh | sh

验证下载:

安装中文输入法:

sudo apt-get update
sudo apt-get install -y fcitx fcitx-googlepinyin

安装完后重启系统,添加输入法:

先取消 Only Show Current Language选项勾选,然后输入方式列表内容选择 Google PinYin,最后点击 OK 选项,关闭这个界面

切换输入法:

Ctrl + 空格

下载语言模型:

这里我下了俩个阿里的语言模型:

阿里的通义千问:

ollama pull qwen2:7b

ollama run qwen2:1.5b

通过终端输入调出大模型:
​
ollama run qwen2:7b

ollama run qwen2:1.5b

​
它们都是能离线运行的对话模型,但注意只有树莓派5能够运行这俩大模型,而且树莓派5的8G版本才能运行7b的大模型,4G版本只能运行1.5b

文字转语音:

下载espeak:

sudo apt-get install espeak

测试espeak:

在终端输入:

espeak -vzh “世界你好”

这句中文能正常播放,但有报错,这行报错意味着句子其实是没法正常播放的

可以在此时输入以下句子测试一下,你会发现句子只发音了一半Hello:

 espeak -vzh “hello world”

这是因为命令中使用了中文引号(),在大多数 Unix/Linux 系统中可能不被识别。应使用英文引号("'),或者不使用引号,因为 "hello world" 作为一个简单的字符串,通常不需要引号。

复制以下代码即可正常读出hello world:

espeak -vzh "hello world"

对于发音声音的选择:

可以在终端输入来查询语言,发音:

espeak --voices

关键列说明:

  1. Language: 这一列列出了每种声音支持的语言或方言。
  2. VoiceName: 这一列包含了用于引用该声音的特定名称或代码。然而,请注意,这个列并不总是直接对应于espeak命令中用于指定声音的参数。
  3. File: 在某些情况下,这一列可能包含了一个更具体的文件名或路径,但这通常不是直接用于espeak命令的参数。不过,它可以帮助您了解声音文件的位置或命名模式。
  4. Other Languages: 这一列提供了额外支持的语言或方言的备注,这些信息有助于理解声音的适用性。

以下是使用美式英语发音的示例:

espeak -v en-us "hello world"

在Python中使用espeak:

替换'-v', 'en+f1'中的en+f1以选择不同的语音。espeak支持多种语言和声音。

你可以调整语速(-s)和音调(-p)参数,以找到最适合你需求的设置。

import subprocess


def speak(text):
    # 构造espeak命令
    # -v 是设置语音(例如,en+f1 是英语女性声音1)
    # -s 是设置语速(例如,150 是正常语速)
    # -p 是设置音调(例如,50 是正常音调)
    # 文本作为最后一个参数传入
    #command = ['espeak', '-v', 'zh+f2', '-s', '100', '-p', '50', text]#中文女
    #command = ['espeak', '-v', 'zh', '-s', '100', '-p', '50', text]#中文男   
    command = ['espeak', '-v', 'en+f1', '-s', '150', '-p', '50', text] #英文女
    
    # 使用subprocess.run运行命令
    subprocess.run(command)


# 使用函数

speak("Hello, this is espeak speaking through Python.")
#speak("你好世界")

网上查阅资料贴出:

基于树莓派的语音识别和语音合成_树莓派python离线语音识别-CSDN博客

python linux 中文语音合成,树莓派-6-中文语音合成和智能对话-CSDN博客


版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐