第三篇【传奇开心果系列】Python的文本和语音相互转换库技术点案例示例:pyttsx3实现语音助手经典案例

传奇开心果短博文系列

  • 系列短博文目录
    • Python的文本和语音相互转换库技术点案例示例系列
  • 短博文目录
    • 一、项目背景和目标
    • 二、雏形示例代码
    • 三、扩展思路介绍
    • 四、与其他库和API集成示例代码
    • 五、自定义语音示例代码
    • 六、多语言支持示例代码
    • 七、语音控制应用程序示例代码
    • 八、文本转语音通知示例代码
    • 九、语音交互界面示例代码
    • 十、实现更复杂交互界面示例代码
    • 十一、归纳总结

系列短博文目录

Python的文本和语音相互转换库技术点案例示例系列

短博文目录

一、项目背景和目标

在这里插入图片描述
在这里插入图片描述当今社会人工智能机器学习在我国方兴未艾,语音助手无处不在大显神威。大到歼20战斗机语音辅助操控,中到家用小汽车语音辅助操控,小到智能家居语音操控、小爱同学操控音响设备等,可以说语音助手已经深入工作、生活和社会的各个方面。

pyttsx是一个Python库,用于实现文本到语音的转换。它提供了一个使用简单的API,可以很方便地让你的Python程序实现生成语音输出的语音助手。

二、雏形示例代码

在这里插入图片描述下面是一个简单的语音助手示例代码:

  1. 安装 pyttsx 库:

    pip install pyttsx
    
  2. 导入 pyttsx

    import pyttsx
    
  3. 创建 pyttsx 的引擎对象:

    engine = pyttsx.init()
    
  4. 设置语音助手的属性(可选):

    engine.setProperty('rate', 150)  # 设置语速(默认为200)
    engine.setProperty('volume', 0.8)  # 设置音量(范围为0.0到1.0)
    
  5. 将文本转换为语音并播放:

    engine.say("你好,我是语音助手")
    engine.runAndWait()
    

    这段代码会将文本 “你好,我是语音助手” 转换为语音并播放出来。

  6. 如果你想将文本保存为音频文件,可以使用 save_to_file 方法:

    engine.save_to_file("你好,我是语音助手", "output.mp3")
    engine.runAndWait()
    

    这段代码会将文本 “你好,我是语音助手” 转换为语音,并保存为名为 “output.mp3” 的音频文件。

这只是一个简单的示例,pyttsx 还提供了其他功能,如设置语言、获取可用的语音引擎等。你可以查看 pyttsx 的官方文档以获取更多详细信息和示例代码:https://pyttsx.readthedocs.io/

三、扩展思路介绍

在这里插入图片描述当你熟悉了基本的 pyttsx 库的用法后,你可以进一步扩展你的语音助手的功能。以下是一些扩展思路:

  1. 与其他库和API集成:将 pyttsx 与其他库和API结合使用,以增强语音助手的功能。例如,你可以使用 speech_recognition 库来实现语音识别,将用户的语音输入转换为文本,并使用 pyttsx 将回应转换为语音输出。

  2. 自定义语音:使用 pyttsxsetProperty 方法来调整语音助手的属性,例如语速、音量和音调,以使语音更加自然和适合用户的喜好。

  3. 多语言支持:pyttsx 支持多种语言和语音引擎。你可以通过设置 pyttsxsetProperty 方法来切换语言,从而实现多语言支持的语音助手。

  4. 语音控制应用程序:结合其他库和框架,你可以创建一个可以通过语音控制的应用程序。例如,你可以使用 pyttsxpyautogui 库来实现语音控制鼠标和键盘,从而实现语音导航和操作。

  5. 文本转语音通知:使用 pyttsx 将文本转换为语音,以实现通知功能。你可以将系统的提醒、日程安排、新闻等文本内容转换为语音,并通过语音播放给用户。

  6. 语音交互界面:创建一个交互式的语音界面,让用户可以通过语音与你的应用程序进行交互。你可以使用 pyttsx 结合其他库和框架,例如 pyaudiospeech_recognition,来实现语音输入和输出的交互式界面。

这些是一些扩展思路,你可以根据你的需求和兴趣进一步探索和扩展你的语音助手的功能。记得查阅相关文档和示例代码,以更好地理解和使用相关库和API。

四、与其他库和API集成示例代码

在这里插入图片描述
在这里插入图片描述当将 pyttsxspeech_recognition 库结合使用时,你可以实现一个能够接收语音输入并以语音回应的语音助手。以下是一个示例代码:

import speech_recognition as sr
import pyttsx3

# 创建语音识别器对象
recognizer = sr.Recognizer()

# 创建语音合成引擎对象
engine = pyttsx3.init()

# 定义语音助手的回应函数
def respond(text):
    print("助手:", text)
    engine.say(text)
    engine.runAndWait()

# 语音助手的主循环
while True:
    try:
        # 使用麦克风录音
        with sr.Microphone() as source:
            print("请说话:")
            audio = recognizer.listen(source)

        # 识别语音输入
        text = recognizer.recognize_google(audio, language="zh-CN")
        print("用户:", text)

        # 根据用户输入作出回应
        if "你好" in text:
            respond("你好!我是语音助手。")
        elif "再见" in text:
            respond("再见!祝你有美好的一天!")
            break
        else:
            respond("抱歉,我不理解你的意思。")

    except sr.UnknownValueError:
        print("抱歉,无法识别你的语音。")
    except sr.RequestError:
        print("抱歉,无法连接到语音识别服务。")

这段代码使用 speech_recognition 库来监听麦克风输入,并使用 Google 语音识别服务将语音转换为文本。然后,根据用户的输入作出相应的回应,使用 pyttsx 将回应转换为语音输出。

在这个示例中,语音助手会回应"你好!我是语音助手。"当用户说"你好"时,回应"再见!祝你有美好的一天!“当用户说"再见"时,然后退出程序。对于其他用户输入,语音助手会回应"抱歉,我不理解你的意思。”

请确保已安装 speech_recognitionpyttsx3 库,并根据需要调整语音助手的回应逻辑。你还可以根据需要添加其他功能,例如语音控制、多语言支持等。

五、自定义语音示例代码

在这里插入图片描述
在这里插入图片描述当使用 pyttsx3setProperty 方法来自定义语音属性时,你可以调整语音助手的语速、音量和音调等属性,以使语音更加自然和符合用户的喜好。以下是一个示例代码:

import pyttsx3

# 创建语音合成引擎对象
engine = pyttsx3.init()

# 获取当前语音属性
rate = engine.getProperty('rate')  # 语速
volume = engine.getProperty('volume')  # 音量
pitch = engine.getProperty('pitch')  # 音调

# 设置新的语音属性
engine.setProperty('rate', 150)  # 设置语速为150
engine.setProperty('volume', 0.8)  # 设置音量为0.8
engine.setProperty('pitch', 1.2)  # 设置音调为1.2

# 定义语音助手的回应函数
def respond(text):
    print("助手:", text)
    engine.say(text)
    engine.runAndWait()

# 测试自定义语音属性
respond("你好!我是语音助手。")

# 恢复默认语音属性
engine.setProperty('rate', rate)  # 恢复默认语速
engine.setProperty('volume', volume)  # 恢复默认音量
engine.setProperty('pitch', pitch)  # 恢复默认音调

# 测试恢复默认语音属性
respond("你好!我是语音助手。")

在这个示例中,我们首先创建了一个 pyttsx3 的语音合成引擎对象。然后,通过 getProperty 方法获取当前的语音属性,包括语速、音量和音调。接下来,使用 setProperty 方法设置新的语音属性,例如将语速设置为150,音量设置为0.8,音调设置为1.2。然后,定义了一个回应函数 respond,该函数会打印回应文本并使用语音合成引擎进行语音输出。

在示例中,我们先测试了使用自定义语音属性的回应,然后恢复了默认的语音属性,并再次进行了回应测试。

你可以根据需要调整语音属性的值,以使语音更加自然和适合用户的喜好。请注意,具体的语音属性值可能因系统和语音引擎而异。你可以尝试不同的值来找到最适合的设置。

六、多语言支持示例代码

在这里插入图片描述
pyttsx3 支持多种语言和语音引擎,你可以通过设置 setProperty 方法来切换语言,从而实现多语言支持的语音助手。以下是一个示例代码:

import pyttsx3

# 创建语音合成引擎对象
engine = pyttsx3.init()

# 获取当前语音属性
voices = engine.getProperty('voices')

# 打印可用的语音列表
print("可用的语音列表:")
for voice in voices:
    print("名称:", voice.name)
    print("ID:", voice.id)
    print("语言:", voice.languages)
    print("性别:", voice.gender)
    print("")

# 设置新的语音属性(切换语言)
engine.setProperty('voice', voices[1].id)  # 设置语音为第二个可用语音

# 定义语音助手的回应函数
def respond(text):
    print("助手:", text)
    engine.say(text)
    engine.runAndWait()

# 测试多语言支持
respond("Hello! I am a multilingual voice assistant.")
respond("你好!我是一个多语言语音助手。")

# 恢复默认语音属性(切换回默认语言)
engine.setProperty('voice', voices[0].id)  # 设置语音为第一个可用语音

# 测试恢复默认语音属性
respond("Hello! I am a multilingual voice assistant.")
respond("你好!我是一个多语言语音助手。")

在这个示例中,我们首先创建了一个 pyttsx3 的语音合成引擎对象,并使用 getProperty 方法获取当前可用的语音列表。然后,我们打印了每个语音的名称、ID、语言和性别等信息。

接下来,使用 setProperty 方法将语音属性设置为第二个可用语音,以切换语言。你可以根据需要选择其他可用的语音。

然后,定义了一个回应函数 respond,该函数会打印回应文本并使用语音合成引擎进行语音输出。

在示例中,我们先测试了使用第二个可用语音的回应,然后恢复了默认的语音属性,再次进行了回应测试。

你可以根据需要选择合适的语音,以实现多语言支持的语音助手。请注意,可用的语音和语言取决于你的系统和安装的语音引擎。

七、语音控制应用程序示例代码

在这里插入图片描述
在这里插入图片描述要创建一个可以通过语音控制的应用程序,你可以结合使用 pyttsx3 和其他库和框架来实现不同的功能。下面是一个示例代码,演示了如何使用 pyttsx3pyautogui 库来实现语音控制鼠标和键盘:

import pyttsx3
import speech_recognition as sr
import pyautogui

# 创建语音合成引擎对象
engine = pyttsx3.init()

# 创建语音识别器对象
recognizer = sr.Recognizer()

# 定义语音助手的回应函数
def respond(text):
    print("助手:", text)
    engine.say(text)
    engine.runAndWait()

# 定义语音控制函数
def voice_control():
    with sr.Microphone() as source:
        print("请说话...")
        audio = recognizer.listen(source)

        try:
            # 使用语音识别器将语音转换为文本
            text = recognizer.recognize_google(audio, language='zh-CN')
            print("你说:", text)

            # 根据识别到的文本执行相应的操作
            if "向上" in text:
                pyautogui.move(0, -100, duration=0.5)  # 向上移动鼠标
            elif "向下" in text:
                pyautogui.move(0, 100, duration=0.5)  # 向下移动鼠标
            elif "向左" in text:
                pyautogui.move(-100, 0, duration=0.5)  # 向左移动鼠标
            elif "向右" in text:
                pyautogui.move(100, 0, duration=0.5)  # 向右移动鼠标
            elif "点击" in text:
                pyautogui.click()  # 点击鼠标左键
            elif "退出" in text:
                respond("再见!")
                return
            else:
                respond("抱歉,我无法理解你的指令。")

        except sr.UnknownValueError:
            respond("抱歉,无法识别你说的话。")
        except sr.RequestError:
            respond("抱歉,无法连接到语音识别服务。")

    # 继续监听语音输入
    voice_control()

# 启动语音控制
respond("你好!我是语音助手。请告诉我你想要做什么。")
voice_control()

在这个示例中,我们首先创建了一个 pyttsx3 的语音合成引擎对象和一个 speech_recognition 的语音识别器对象。然后,定义了一个回应函数 respond,该函数会打印回应文本并使用语音合成引擎进行语音输出。

接下来,定义了一个语音控制函数 voice_control,该函数使用语音识别器监听麦克风输入,并将语音转换为文本。根据识别到的文本,执行相应的操作,例如移动鼠标、点击鼠标等。

在示例中,我们定义了一些简单的指令,如 “向上”、“向下”、“向左”、“向右”、“点击” 等。你可以根据需要扩展指令和相应的操作。

最后,启动语音控制,语音助手会打招呼并等待你的指令。你可以说出相应的指令,语音助手会执行对应的操作。

请注意,此示例仅演示了如何结合 pyttsx3pyautogui 库实现语音控制鼠标和键盘的功能。根据你的需求,你可以结合其他库和框架来实现更复杂的语音控制应用程序。

八、文本转语音通知示例代码

在这里插入图片描述
pyttsx3 库可以将文本转换为语音,实现通知功能。下面是一个示例代码,演示了如何使用 pyttsx3 将文本内容转换为语音并进行播放:

import pyttsx3

# 创建语音合成引擎对象
engine = pyttsx3.init()

# 定义文本转语音函数
def text_to_speech(text):
    engine.say(text)
    engine.runAndWait()

# 定义通知函数
def notify(message):
    print("通知:", message)
    text_to_speech(message)

# 示例用法
notify("这是一条通知消息。")
notify("你的日程安排已更新。")
notify("以下是今天的新闻摘要:")
notify("这是一条很长的通知消息,可以包含多个句子和段落。")

# 关闭语音合成引擎
engine.stop()

在这个示例中,我们首先创建了一个 pyttsx3 的语音合成引擎对象。然后,定义了一个文本转语音函数 text_to_speech,该函数使用语音合成引擎将文本转换为语音并进行播放。

接下来,定义了一个通知函数 notify,该函数接受一个文本消息作为参数,并打印通知消息并通过语音播放。

在示例中,我们使用 notify 函数演示了几个通知消息的例子。你可以根据需要调用 notify 函数,将不同的文本内容转换为语音进行通知。

最后,我们通过调用 engine.stop() 来关闭语音合成引擎。

请注意,使用 pyttsx3 进行文本转语音时,可以根据需要设置语音的属性,如语速、音量等。你可以使用 engine.setProperty 方法来设置这些属性。例如,engine.setProperty('rate', 150) 可以设置语速为 150 字符每分钟。

九、语音交互界面示例代码

在这里插入图片描述要创建一个交互式的语音界面,可以结合使用 pyttsx3pyaudiospeech_recognition 等库来实现语音输入和输出的功能。下面是一个示例代码,演示了如何创建一个简单的语音交互界面:

import pyttsx3
import speech_recognition as sr

# 创建语音合成引擎对象
engine = pyttsx3.init()

# 创建语音识别器对象
recognizer = sr.Recognizer()

# 定义语音助手的回应函数
def respond(text):
    print("助手:", text)
    engine.say(text)
    engine.runAndWait()

# 定义语音交互函数
def voice_interaction():
    with sr.Microphone() as source:
        print("请说话...")
        audio = recognizer.listen(source)

        try:
            # 使用语音识别器将语音转换为文本
            text = recognizer.recognize_google(audio, language='zh-CN')
            print("你说:", text)

            # 根据用户输入的文本进行相应的回应
            if "你好" in text:
                respond("你好!有什么我可以帮助你的吗?")
            elif "时间" in text:
                # 这里可以调用其他库或函数获取当前时间并进行回应
                respond("现在是晚上8点。")
            elif "退出" in text:
                respond("再见!")
                return
            else:
                respond("抱歉,我无法理解你的指令。")

        except sr.UnknownValueError:
            respond("抱歉,无法识别你说的话。")
        except sr.RequestError:
            respond("抱歉,无法连接到语音识别服务。")

    # 继续语音交互
    voice_interaction()

# 启动语音交互
respond("你好!我是语音助手。有什么我可以帮助你的吗?")
voice_interaction()

在这个示例中,我们首先创建了一个 pyttsx3 的语音合成引擎对象和一个 speech_recognition 的语音识别器对象。然后,定义了一个回应函数 respond,该函数会打印回应文本并使用语音合成引擎进行语音输出。

接下来,定义了一个语音交互函数 voice_interaction,该函数使用语音识别器监听麦克风输入,并将语音转换为文本。根据用户输入的文本,执行相应的回应。

在示例中,我们定义了一些简单的指令,如 “你好” 和 “时间”。根据用户的指令,语音助手会进行相应的回应。你可以根据需要扩展指令和相应的操作。

最后,启动语音交互,语音助手会打招呼并等待用户的指令。你可以通过语音与语音助手进行交互。

请注意,这个示例代码只是一个简单的交互式语音界面的演示。你可以根据自己的需求和应用场景,扩展和定制这个代码,结合其他库和框架实现更复杂的语音交互功能。

十、实现更复杂交互界面示例代码

在这里插入图片描述当扩展和定制语音交互功能时,你可以根据自己的需求和应用场景,结合其他库和框架来实现更复杂的功能。以下是一个示例代码,展示了如何使用 pyttsx3speech_recognitionwikipedia 库来创建一个语音交互的维基百科助手:

import pyttsx3
import speech_recognition as sr
import wikipedia

# 创建语音合成引擎对象
engine = pyttsx3.init()

# 创建语音识别器对象
recognizer = sr.Recognizer()

# 定义语音助手的回应函数
def respond(text):
    print("助手:", text)
    engine.say(text)
    engine.runAndWait()

# 定义语音交互函数
def voice_interaction():
    with sr.Microphone() as source:
        print("请说话...")
        audio = recognizer.listen(source)

        try:
            # 使用语音识别器将语音转换为文本
            text = recognizer.recognize_google(audio, language='zh-CN')
            print("你说:", text)

            # 根据用户输入的文本进行相应的回应
            if "你好" in text:
                respond("你好!有什么我可以帮助你的吗?")
            elif "维基百科" in text:
                query = text.replace("维基百科", "").strip()
                try:
                    # 使用维基百科库获取相关信息
                    summary = wikipedia.summary(query, sentences=2)
                    respond(summary)
                except wikipedia.exceptions.DisambiguationError as e:
                    respond("请提供更具体的查询内容。")
                except wikipedia.exceptions.PageError as e:
                    respond("抱歉,找不到相关信息。")
            elif "退出" in text:
                respond("再见!")
                return
            else:
                respond("抱歉,我无法理解你的指令。")

        except sr.UnknownValueError:
            respond("抱歉,无法识别你说的话。")
        except sr.RequestError:
            respond("抱歉,无法连接到语音识别服务。")

    # 继续语音交互
    voice_interaction()

# 启动语音交互
respond("你好!我是维基百科助手。有什么我可以帮助你的吗?")
voice_interaction()

在这个示例中,我们引入了 wikipedia 库,以便通过维基百科获取相关信息。当用户输入包含 “维基百科” 的指令时,我们使用 wikipedia.summary 函数来获取相关信息的摘要,并将其作为回应进行语音输出。

你可以根据自己的需求和应用场景,扩展和定制这个代码。例如,你可以使用其他库来获取天气信息、新闻摘要等,并根据用户的指令进行相应的回应。

请注意,使用维基百科库时,可能会遇到一些异常情况,如歧义性错误或页面错误。在示例中,我们使用了 try-except 块来处理这些异常情况,并作出相应的回应。

希望这个示例代码能够帮助你扩展和定制语音交互功能!

十一、归纳总结

在这里插入图片描述当使用 pyttsx3 库实现语音助手时,以下是一些关键的知识点:

  1. 安装 pyttsx3 库:可以使用 pip 命令来安装 pyttsx3 库,例如 pip install pyttsx3

  2. 初始化语音合成引擎:使用 pyttsx3.init() 函数来创建一个语音合成引擎对象。可以通过调用该对象的方法来进行语音合成。

  3. 设置语音合成属性:可以使用 engine.setProperty(property, value) 方法来设置语音合成的属性。例如,可以设置语速、音量等属性。

  4. 语音合成和播放:使用 engine.say(text) 方法将文本转换为语音。然后,使用 engine.runAndWait() 方法来播放语音。

  5. 支持多种语音引擎:pyttsx3 支持多种语音合成引擎,如 SAPI5、nsss、espeak 等。可以通过 pyttsx3.init(driverName) 指定要使用的语音引擎。

  6. 获取可用的语音引擎列表:可以使用 pyttsx3.init() 函数的 engine.getProperty('voices') 方法来获取可用的语音引擎列表。可以根据需要选择合适的语音引擎。

  7. 设置语音引擎:可以使用 engine.setProperty('voice', voice_id) 方法来设置要使用的语音引擎。可以将 voice_id 设置为语音引擎列表中的一个元素。

  8. 控制语音合成的事件和回调:pyttsx3 提供了一些事件和回调函数,可以用于控制语音合成的过程。例如,可以使用 engine.connect('started', callback_function) 方法来注册一个回调函数,在语音合成开始时触发。

  9. 异步语音合成:pyttsx3 支持异步语音合成,可以使用 engine.startLoop()engine.endLoop() 方法来控制异步合成的循环。

  10. 关闭语音合成引擎:在程序结束时,可以使用 engine.stop()engine.shutdown() 方法来关闭语音合成引擎。
    在这里插入图片描述

这些是使用 pyttsx3 库实现语音助手时的一些重要知识点。通过了解和掌握这些知识点,你可以更好地使用 pyttsx3 库来实现语音合成的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/394677.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WouoUI-PageVersion 一个用于快速构建具有丝滑OLED_UI动画的项目

WouoUI-PageVersion 写在前面 简介&致谢 Air001的TestUI例子的b站的演示视频 Air001的LittleClock例子的b站演示视频: https://www.bilibili.com/video/BV1J6421g7H1/ Stm32的TestUI例子的b站演示视频: https://www.bilibili.com/video/BV1mS421P7CZ/ 所有演示的工程文…

黑马程序员微信小程序学习总结9.插槽(slot)、父子组件中的通信的3种方式和自定义组件behaviors

目录 自定义组件中:插槽(slot)自定义组件中:父子组件中的通信的3种方式属性绑定(总结7讲过)事件绑定(子向父传参)获取组件实例 自定义组件behaviors同名字段的覆盖和组合规则&#x…

Kotlin基础——泛型

泛型类型参数 编译器一般可以推导出类型实参 若创建空的list&#xff0c;则需要显示指定类型实参&#xff0c;可以用如下两种方式 val name: MutableList<String> mutableListOf()val name2 mutableListOf<String>()泛型函数 public fun <T> List<T&…

宝塔安装MySQL、设置MySQL密码、设置navicat连接

1、登录宝塔面板进行安装 2、设置MySQL连接密码 3、安装好了设置navicat连接 登录MySQL [roothecs-394544 ~]# mysql -uroot -p Enter password: 切换到MySQL数据 mysql> use mysql Database changed mysql> 查询用户信息 mysql> select host,user from user; ---…

生信学院|02月23日《ECAD数据到MCAD模型》

课程主题&#xff1a;ECAD数据到MCAD模型 课程时间&#xff1a;2024年02月23日 14:00-14:30 主讲人&#xff1a;陈冬冬 生信科技 售后服务工程师 CircuitWorks概述CircuitWorks工具栏&#xff1b;零部件库和属性信息&#xff1b;对ECAD数据的基本操作&#xff1b;将装配体输…

绝地求生:pubg全年活动整理

2023年整理&#xff0c;2024展望。2023年1月是4神兽&#xff0c;24年2月是西游&#xff0c;25年1月呢&#xff1f; 2023新3月4神兽结束后是AUG黑箱和6周年。 2024年3月也会出成长型武器黑箱和7周年。 4月&#xff1a;新通行证、战队联名、服装套装。 5月&#xff1a;是一些套装…

学习Android的第十六天

目录 Android 自定义 Adapter Adapter 接口 SpinnerAdapter ListAdapter BaseAdapter 自定义 BaseAdapter 参考文档 Android ListView 列表控件 ListView 的属性和方法 表头表尾分割线的设置 列表从底部开始显示 android:stackFromBottom 设置点击颜色 cacheColorH…

基于Java SSM框架实现精准扶贫管理系统项目【项目源码】计算机毕业设计

基于java的SSM框架实现精准扶贫管理系统演示 JSP技术介绍 JSP技术本身是一种脚本语言&#xff0c;但它的功能是十分强大的&#xff0c;因为它可以使用所有的JAVA类。当它与JavaBeans 类进行结合时&#xff0c;它可以使显示逻辑和内容分开&#xff0c;这就极大的方便了用户的需…

【HarmonyOS】鸿蒙开发之Slider组件——第3.5章

组件应用场景: 设备音量大小&#xff0c;调节屏幕亮度等需求 slider组件内options属性简介 value&#xff1a;滑动条当前进度值。 min&#xff1a;设置滑动条设置最小值。 max&#xff1a;设置滑动条设置最大值&#xff0c;默认为 100 。 step&#xff1a;设置滑动条滑动跳动…

遨博I20协作臂关节逆解组Matlab可视化

AUBO I20协作臂关节逆解组Matlab可视化 前言1、RTB使用注意点2、代码与效果2.1、完整代码2.2、运行效果 总结 前言 注意&#xff1a;请预先配置好Matlab和RTB机器人工具箱环境&#xff0c;本文使用matlab2022b和RTB10.04版本 工作需要&#xff0c;使用matlab实现对六轴机械臂…

初识 Rust 语言

目录 前言一、Rust 的背景二、Rust的特性三、部署开发环境&#xff0c;编写一个简单demo1、在ubuntu 20.04部署环境2、编写demo测试 四、如何看待Linux内核引入Rust 前言 自Linux 6.1起&#xff0c;初始的Rust基础设施被添加到Linux内核中。此后为了使内核驱动程序能够用Rust编…

Vue3+vite搭建基础架构(6)--- 使用vue-router

Vue3vite搭建基础架构&#xff08;6&#xff09;--- 使用vue-router 说明官方文档安装vue-router使用vue-router测试vue-router 说明 这里记录下自己在Vue3vite的项目使用vue-router的过程&#xff0c;不使用ts语法&#xff0c;方便以后直接使用。这里承接自己的博客Vue3vite搭…

在SpringBoot中@PathVariable与@RequestParam的区别

PathVariable GetMapping("/{userId}")public R<User> getUserById(PathVariable Long userId) {return userService.getUserById(userId);} // 根据id获取一条数据 function getStudentDataByIdAndDisplayInput(id) {// 发送 AJAX 请求$.ajax({url: /dorm/st…

基于JavaWeb开发的小区车辆登记系统计算机毕设[附源码]

基于JavaWeb开发的小区车辆登记系统计算机毕设[附源码] &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统…

Linux环境安装Maven(详细图文)

目录 摘要 一、准备工作 1.检查当前环境是否安装maven 2.下载maven ​3.上传maven压缩包 4.解压maven包 5.移动到/usr/local目录下方便管理 6.配置maven环境变量 7.刷新配置文件 8.配置maven镜像仓库 9.验证是否成功 摘要 笔者Linux环境为&#xff1a;Ubuntu 22.04 …

安装部署k8s集群

系统&#xff1a; CentOS Linux release 7.9.2009 (Core) 准备3台主机 192.168.44.148k8s-master92.168.44.154k8s-worker01192.168.44.155k8s-worker02 3台主机准备工作 关闭防火墙和selinux systemctl disable firewalld --nowsetenforce 0sed -i s/SELINUXenforcing/SELI…

MySQL进阶45讲【22】MySQL是怎么保证数据不丢的?

1 前言 今天这篇文章&#xff0c;继续介绍在业务高峰期临时提升性能的方法。从文章标题“MySQL是怎么保证数据不丢的&#xff1f;”&#xff0c;就可以看出来&#xff0c;今天介绍的方法&#xff0c;跟数据的可靠性有关。 在专栏前面文章中&#xff0c;着重介绍了WAL机制&…

软考学习--计算机组成原理与体系结构

计算机组成原理与体系结构 数据的表示 进制转换 R 进制转换为 10 进制–按权展开法 10进制转换为2进制 原码 反码 补码 移码 原码 &#xff1a;数字的二进制表示反码 &#xff1a; 正数的反码等于原码&#xff0c;负数的反码等于原码取反补码&#xff1a; 正数的补码等…

python使用工厂模式和策略模式实现读文件、分析内容功能

当涉及到在 Python 中创建类以及使用设计模式来实现读取文件和分析内容的功能时&#xff0c;我们可以考虑使用工厂模式和策略模式的结合。下面是一个简单的示例&#xff0c;演示如何通过创建类和使用设计模式来实现这一功能&#xff1a; # 工厂模式&#xff1a;根据不同的分析…

qwen1.5 chat vllm推理使用案例

参考:https://github.com/QwenLM/Qwen1.5 下载:https://huggingface.co/collections/Qwen/qwen15-65c0a2f577b1ecb76d786524 下载可以参考huggingface-cli 命令下载使用:https://blog.csdn.net/weixin_42357472/article/details/1326636931、vllm运行 显卡驱动:NVIDIA-S…