当前位置: 首页 > news >正文

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

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

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

 版本可用命令 (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:7bollama run qwen2:1.5b

通过终端输入调出大模型:
​
ollama run qwen2:7bollama 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 subprocessdef 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博客

相关文章:

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

今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi) 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 与 python 版本如下: 下载大语言模型,下载中文输入法&#…...

【kubernetes】k8s安全机制

Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介, 也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的。 比如 kubectl 如果想向 API Server…...

Android T(13) The app is granted permissions by default

我的博客 对比Android11,frameworks\base\services\core\java\com\android\server\pm\permission文件夹下,多了个PermissionManagerServiceImpl.java. 有一部分关于权限的处理,移到了这个文件中.比如:restorePermissionState(…) all app granted permissions by default b/fr…...

4 - Linux远程访问及控制

目录 一、SSH远程管理 1. SSH概述 2.SSH的优点 3.配置OpenSSH客户端 4.sshd服务支持的两种验证方式 5. 使用SSH客户端程序 5.1 ssh - 远程登录 5.2 scp - 远程复制 6.配置密钥对验证 二、TCP Wrappers访问控制 1.TCP Wrappers 概述 2. TCP Wrappers 机制的基本原则 …...

如何使用AWS EC2资源?

随着云计算技术的迅速发展,越来越多的企业和个人选择将工作负载迁移到云端,以获取灵活性、可扩展性和成本效益。作为全球领先的云计算服务提供商,AWS为用户提供了丰富的服务,其中最受欢迎的之一是云服务器EC2。本文中九河云将探讨…...

Linux高编-进程的概念(1)

目录 1.ps aux 2.top 3.kill -2 进程pid // fork函数 getpid拿自己的进程号 getppid拿父进程号 fork()&&fork()||fork() 父子进程的关系: 僵尸进程,孤儿进程 僵…...

go语言中new和make的区别

在 Go 语言中,new 函数不能用来创建通道(chan),这是因为 new 只分配内存并返回指向该内存的指针,而不负责初始化内存。 为什么不能使用 new 来创建通道? new 只能分配内存,但不会对内存进行初…...

SpringBoot响应式编程(3)R2DBC

一、概述 1.1简介 R2DBC基于Reactive Streams反应流规范,它是一个开放的规范,为驱动程序供应商和使用方提供接口(r2dbc-spi),与JDBC的阻塞特性不同,它提供了完全反应式的非阻塞API与关系型数据库交互。 …...

什么是私有继承

私有,公有,针对类而言; 私有( private )的成员,自己的,只能在自己内部( 类的定义体内部 )访问,外部( 类的定义体外部 )不能访问/调用; 公有( 或者说公开,public )的成员&#xff0…...

Scratch编程:开启智能硬件控制的大门

标题:“Scratch编程:开启智能硬件控制的大门” 在当今数字化时代,编程不仅仅是与计算机的交互,更是与物理世界的连接。Scratch,这款由麻省理工学院媒体实验室开发的视觉化编程语言,以其易学易用的特性&…...

机器学习第十二章-计算学习理论

目录 12.1基础知识 12.2 PAC学习 12.3有限假设空间 12.3.1可分情形 12.3.2不可分情形 12.4VC维 12.5 Rademacher复杂度 12.1基础知识 计算学习理论研究的是关于通过"计算"来进行"学习"的理论,即关于机器学习的理论基础,其目的…...

Java-自定义注解操作日志记录处理(@Pointcut注解不是必须的)

在Java中,使用自定义注解结合Spring AOP来实现操作日志记录是一种常见的做法。这种方式可 以帮助你轻松地在不修改业务代码的情况下增加日志记录的功能。 下面我将详细介绍如何定义一个自定义注解,并结合Spring AOP来实现操作日志记录的功能。 1. 定义自定义注解 首先,我…...

【c++】深入理解别名机制--引用

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C 目录 前言 一、引用的概念和定义 二、引用的特性 三、引用的实用性 1.引用传参 2.引用做返回值 2.1 引用做返回值的作用 2.2 引用坍缩问题、悬挂引用问…...

简便的qemu img扩容方法

虚拟机用着用着磁盘空间就不够了,那就要想办法增加磁盘空间大小 了。在虚拟机本身磁盘的基础上直接增加空间大小最简便,于是记录一下方法。 首先,在虚拟机关机状态下,使用qemu-img命令给虚拟机的磁盘镜像增加虚拟空间5GB&#xff…...

EPERM: operation not permitted,

这个错误提示 EPERM: operation not permitted, mkdir C:\Program Files\nodejs\node_global\node_modules\pnpm_tmp 通常是因为权限不足导致的。在 Windows 系统中,C:\Program Files\ 目录通常需要管理员权限才能写入。 要解决这个问题,你可以尝试以下…...

将Centos 8 Linux内核版本升级或降级到指定版本

本文以centos 8.0为例,内核版本为4.18.0-80.el8.x86_64,升级到内核版本为4.18.0-80.4.2.el8_0.x86_64。 1.查看当前系统版本信息 [rootcentos80-1905 ~]# uname -sr Linux 4.18.0-80.el8.x86_642.在网站:https://vault.centos.org/里面下载…...

小程序商城被盗刷,使用SCDN安全加速有用吗?

在电子商务蓬勃发展的今天,小程序商城因其便捷性和灵活性成为商家和消费者的新宠。然而,随着其普及,小程序商城的安全问题也日益凸显,尤其是盗刷现象频发,给商家和用户带来了巨大损失。面对这一挑战,是否可…...

nginx的基本使用与其日志

文章目录 1.nginx编译安装脚本2.nginx平滑升级,以及其步骤3.nginx核心配置,及实现nginx多虚拟主机4.nginx日志格式定制5.nginx反向代理及https安全加密6.基于LNMP和Redis的phpmyadmin的会话保持,以及其完整步骤 1.nginx编译安装脚本 #编译安…...

linux | 苹果OpenCL(提高应用软件如游戏、娱乐以及科研和医疗软件的运行速度和响应)

点击上方"蓝字"关注我们 01、引言 >>> OpenCL 1.0 于 2008 年 11 月发布。 OpenCL 是为个人电脑、服务器、移动设备以及嵌入式设备的多核系统提供并行编程开发的底层 API。OpenCL 的编程语言类似于 C 语言。其可以用于包含 CPU、GPU 以及来自主流制造商如 …...

算法-UKF中Sigma点生成

void UKF::MakeSigmaPoints() {Eigen::VectorXd x_aug_ Eigen::VectorXd(n_x_);x_aug_.head(n_x_) x_;Eigen::MatrixXd P_aug Eigen::MatrixXd::Zero(n_x_, n_x_);// 转成正定矩阵P_aug pdefinite_svd(P_);// LLT分解Eigen::MatrixXd L P_aug.llt().matrixL();sigma_point…...

精选五款热门骨传导耳机分享,让你避免踩坑的陷阱

因为骨传导耳机独特的佩戴方式和声音的传播方式,受到了小耳、油耳以及运动爱好者的的喜爱,但也由于市面上的骨传导耳机品牌越来越多,很多朋友不知道该怎么选择,今天我挑选出市面上体验感较好,各方面比较出色的骨传导给…...

「字符串」前缀函数|KMP匹配:规范化next数组 / LeetCode 28(C++)

概述 为什么大家总觉得KMP难?难的根本就不是这个算法本身。 在互联网上你可以见到八十种KMP算法的next数组定义和模式串回滚策略,把一切都懂得特别混乱。很多时候初学者的难点根本不在于这个算法本身,而是它令人痛苦的百花齐放的定义。 有…...

python人工智能002:jupyter基本使用

小知识:将jupyter修改为中文,修改用户变量, 注意是用户变量,不是系统变量 新增用户变量 变量名:LANG 变量值:zh_CN.UTF8 然后重启jupyter 上一章的软件安装完成之后,就可以创建文件夹来学习写…...

Linux使用 firewalld管理防火墙命令

Linux 发行版中使用的动态防火墙管理工具。使用 firewalld,你可以查看防火墙状态、当前配置的规则以及开放的端口。以下是一些常用的 firewalld 命令来管理和查看防火墙状态及端口配置。 1. 查看防火墙状态 检查 firewalld 是否正在运行 sudo systemctl status f…...

二叉树(三)

一、二叉树的遍历 二叉树遍历是按照某种特定的规则,依次对二叉树中的结点进行相应的操作,并且每个结点只操作一次。 1.前序遍历(先根遍历) 前序遍历(Preorder Traversal也叫先序遍历)——根、左子树、右…...

05--kubernetes组件与安装

前言:终于写到kubernetes(k8s),容器编排工具不止k8s一个,它的优势在于搭建集群,也是传统运维和云计算运维的第一道门槛,这里会列出两种安装方式,详细步骤会在下文列出,文…...

EmguCV学习笔记 VB.Net和C# 下的OpenCv开发 C# 目录

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…...

探索TensorFlow:深度学习的未来

标题:探索TensorFlow:深度学习的未来 在当今快速发展的人工智能领域,TensorFlow无疑是最耀眼的明珠之一。TensorFlow是由Google Brain团队开发的一个开源机器学习框架,它以其强大的灵活性、易用性和高效的性能,迅速成…...

探索地理空间分析的新世界:Geopandas的魔力

文章目录 探索地理空间分析的新世界:Geopandas的魔力背景:为何选择Geopandas?这个库是什么?如何安装这个库?五个简单的库函数使用方法场景应用:Geopandas在实际工作中的应用常见bug及解决方案总结 探索地理…...

如何为网站申请免费SSL证书?

一、准备阶段 确定证书类型: 对于大多数个人博客和小型企业网站,DV(域名验证)SSL证书已足够使用,因为它仅验证域名所有权,成本较低且验证快速。准备域名: 确保你拥有一个有效的域名&#xff0c…...