首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

结合SK和ChatGLM3B+whisper+Avalonia实现语音切换城市

{ waveIn.StopRecording(); } }; // 录音结束事件....ImportSemanticFunctionsFromDirectory(pluginsDirectory, "MapPlugin"); // 循环读取管道中的数据...get; set; } public double longitude { get; set; } } } 流程讲解: 用户点击了录制按钮触发了Button_OnClick事件,然后在...Button_OnClick事件中会打开用户的麦克风,打开麦克风进行录制,在录制结束事件中使用录制完成产生的wav文件,然后拿到Whisper进行识别,识别完成以后会将识别结果写入到_channel ReadMessage...完整的操作流程就完成了,当然实际业务会比这个更复杂。 素材 分享总结 讨论总结:在本次会议中,讨论了如何结合SK、ChatGLM3B、Whisper和Avalonia来实现语音切换城市的功能。

23710

结合SK和ChatGLM3B+whisper+Avalonia实现语音切换城市

{ waveIn.StopRecording(); } }; // 录音结束事件....ImportSemanticFunctionsFromDirectory(pluginsDirectory, "MapPlugin"); // 循环读取管道中的数据...get; set; } public double longitude { get; set; } } } 流程讲解: 用户点击了录制按钮触发了Button_OnClick事件,然后在...Button_OnClick事件中会打开用户的麦克风,打开麦克风进行录制,在录制结束事件中使用录制完成产生的wav文件,然后拿到Whisper进行识别,识别完成以后会将识别结果写入到_channel ReadMessage...完整的操作流程就完成了,当然实际业务会比这个更复杂。 素材 分享总结 讨论总结:在本次会议中,讨论了如何结合SK、ChatGLM3B、Whisper和Avalonia来实现语音切换城市的功能。

39610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python实现超级玛丽游戏

    pygame 的初始化工作,然后创建时间对象用于更新窗体中的画面,再创建窗体实例并设置窗体的标题文字,最后通过循环实现窗体的显示与刷新。...玛丽跳跃功能的业务流程如图导入选代工具,创建一个名称为 Marie 的玛丽类,然后在该类的初始化方法中,首先定义玛丽跳跃时所需要的变量,然后加载玛丽跑动的三张图片,最后加载玛丽跳跃时的音效并设置玛丽默认显示的坐标位置...point_y x and in_ymainGame方法中障碍物对象列表代码的下面,创建背景音乐按钮对象,然后设置按钮默认图片,最后循环播放背景音乐...在 Obstacle 类中,draw obstacle0方法的下面创建getScore0 方法用于获取分数并播放加分音效,然后创建 showScore() 方法用于在窗体顶部右侧的位置显示分数def getSocre...game over()方法,在该方法中首先需要加载与播放撞击的音效,然后获取窗体的宽度与高度,最后加载游戏结束的图片并将该图片显示在窗体的中间位置def game_over(): # 播放碰撞音效

    63430

    WPF桌面端开发-音视频录制(使用ffmpeg.exe实现)

    录制桌面使用GDI方式的时候如果系统缩放不是100%,在多屏录制的时候录制不全。这些问题我们一一解决:前两个问题是无法解决的。...audio_sniffer.dll"); ZDllUtils.LoadDll("screen-capture-recorder.dll"); }项目中使用在项目的根目录添加Libs文件夹,复制DLL到该文件夹下属性...安装依赖Nuget添加依赖 Install-Package NAudio.Core -Version 2.1.0 Install-Package NAudio.Wasapi -Version 2.1.0...其中NAudio.Wasapi的作用:用来获取默认麦克风设备。...获取到的名称是完整的,导致传入完整的设备名称进行录制的时候,反而ffmpwg找不到设备,必须传被截取后的名称,所以稳妥的方式就是使用ffmpeg获取设备名称。

    75220

    Unity基础教程系列(新)(二)——构建视图(Visualizing Math)

    让我们在Graph组件唤醒时执行此操作。 ? 什么是MonoBehaviour的完整继承链?...之后,程序将循环回到while语句。如果此时表达式再次求值为true,则将再次执行代码块。重复此操作,直到表达式的值为假。然后程序跳过while语句之后的代码块,并在其下面继续。...但是它们最终都在相同的位置。沿着X轴把它们排成一行用i乘以正确的向量。 ? ? (10个立方体沿着X轴排成一排) 注意,当前第一个立方体以X坐标为1结束,最后一个立方体以10结束。...相反,我们可以在循环之前计算一次,将其存储在scale变量中,然后在循环中使用它。 ? 我们还可以在循环之前的位置定义一个变量。当沿着X轴创建一条线时,只需要调整循环内位置的X坐标即可。...4.3 展示正弦波 从现在开始,在播放模式下,视图的点在每一帧中都被定位。我们还没有注意到这一点,因为它们总是在相同的位置结束。我们需要在函数中加入时间来改变它。

    2.6K50

    操纵杆控制-使用控制器移动玩家

    在本节中,我们将播放器连接到操纵杆,这样我们就可以用旋钮移动它。我们还将了解触摸,将旋钮重置为其初始状态以及如何控制播放器的位置,以便他始终在X轴上朝向正确的方向。...spritekit操纵杆,pitagore touchesEnded 如果您尝试运行模拟器并使用操纵杆进行游戏,您会注意到您可以移动旋钮但旋钮不会返回其初始位置。...让我们转到文档的底部,并在最后一个结束括号后立即创建一个新函数。 对于x和y坐标,我们首先将旋钮的初始位置设置为0。然后,我们正在创建一个动作,将旋钮移回其初始位置,这将需要0.1秒。...如果您运行模拟器,您将看到旋钮现在返回其初始位置。 在X轴上移动我们的玩家 由于我们的旋钮正常工作并连接到我们的播放器,因此下一步,我们需要让我们的播放器在其X轴上移动。...游戏循环 为了制作游戏循环,让我们在文档的底部创建一个新的扩展,让我们称之为GameLoop并声明其变量。 在游戏开发中,增量时间是两帧更新之间经过的时间。这是当前时间和前一时间间隔之间的差异。

    1.3K10

    .NET周刊【1月第3期 2025-01-19】

    涉及到的关键方法包括Thread.Sleep、Thread.Join、QueueUserWorkItem和Task.Run,并讨论了如何有效管理线程及其执行结果。...C# Winform 通过 NAudio 获取控制电脑操作系统音量 https://www.cnblogs.com/vipsoft/p/18674944 NAudio是一个开源.NET音频库,支持多种音频操作...针对系统音量控制,NAudio允许用户获取及设置系统音量,提供了WaveIn、WaveOut、WaveStream等类用于音频处理,IWaveProvider和ISampleProvider为音频播放提供接口...测试通过循环读取10000次,确保数据准确性。结果显示,多数设备通信速率均在10ms以内,且上位机在百万次交互中未发生失败。...主线程在Main()方法中执行,后台线程和前台线程的主要差异在于执行持续时间。C#中可以通过Thread.IsBackground属性判断并设置线程类型。

    6410

    pyautogui库简单实现的python刷课程序

    y),这行代码的作用是鼠标移动到给定的坐标并点击,我这里就是运行代码后鼠标点击右上方缩小化我的编辑器 那么怎样获取鼠标位置呢,pyautogui库有一个函数pyautogui.position(),这个函数可以返回当前鼠标所在位置...,程序运行结束就能知道相应位置了。...获取其他位置的方法,如视频播放,视频跳转按钮方法类似,我们只需要先缩小编辑器,然后移动鼠标到相应位置,等一下之后回到编辑器就能得到相应坐标了: import pyautogui import time...,结束后我们还要跳转到下一个视频,怎么实现呢,这几步的关键是pyautogui.locateOnScreen()函数,它会识别某图像是否在屏幕上,如果在,返回它的位置,注意,该函数的返回值不是标准类型,...补充:time.sleep()函数是做缓冲用,防止程序点击切换太快导致出错(亲身经历) 于是下列代码实现了:1.点击播放 2.播放结束后跳转 3.继续播放 如此就实现了循环功能,晚上挂着,早上就刷完啦(

    25410

    .NET周刊【2月第3期 2025-02-16】

    在Visual Studio中创建项目和引用Tinyfox非常简单,用户需配置路由和服务参数。完整开发手册可在其官网查阅。...作者回顾了自己在 .NET 生态系统中的经历,从 Windows Forms 到 ASP.NET MVC,再到嵌入式系统,技术债务随着每种技术的演变而不同,但根本原因如短视决策和赶工仍然存在。...C# Winform 当音频播放完成后,播放下一个音频,怎么知道音频有没有播放完成 https://www.cnblogs.com/vipsoft/p/18711375 本文讨论了在C#中如何处理音频播放的问题...,重点在于SoundPlayer和NAudio库的使用。...SoundPlayer阻塞主线程,可能导致UI卡顿,而NAudio提供了更灵活的音频控制,支持事件处理和连续播放。文章还提醒在使用WaveOutEvent时需要注意释放资源,以避免系统错误。

    8000

    Audio Unit录音(播放伴奏+耳返)

    点播实现(H.264和AAC码流) HLS推流的实现(iOS和OS X系统) iOS在线音频流播放 Audio Unit播放PCM文件 前文介绍了如何用Audio Unit播放PCM文件,这次在原来的基础上添加录音的功能...,同时要开启AudioUnit的Record功能,同时要设置RecordCallback函数; 2、加载并打开伴奏文件,在PlayCallback的回调中,读取伴奏数据并塞给AudioUnit; 3...解决方案是每次多读一倍的声音数据,然后取一半,这样就能以正常的速度播放声音。 4、伴奏播放结束后Crash 在伴奏播放完毕后,会产生一个crash,来自系统的AudioConvert。...思考一番,觉得应该是左右声道的数据不一致导致,左声道因为录制人声一直有数据,右声道因为伴奏播放结束没有数据,在转码的时候出现一些异常。...解决方案是把左声道和右声道的数据长度对齐,在伴奏播放结束后,同时调整播放的人声数据。 思考题 怎么把左唱右伴的声音改成混合(每个声道都有伴奏和耳返效果)的方式?

    3.1K60

    Android样式的开发:View Animation篇

    坐标的值可以有三种格式:从-100到100,以”%”结束,表示相对于View本身的百分比位置;如果以”%p”结束,表示相对于View的父View的百分比位置;如果没有任何后缀,表示相对于View本身具体的像素值...主要的属性如下: android:duration 动画从开始到结束持续的时长,单位为毫秒 android:fromXDelta 起始位置的X坐标的偏移量 android:toXDelta 结束位置的X...动画开始的时候向后然后向前抛,会抛超过目标值后再返回到最后的值 BounceInterpolator @android:anim/bounce_interpolator 动画结束的时候会弹跳 CycleInterpolator...在动画开始时速率改变比较快,然后开始减速 LinearInterpolator @android:anim/decelerate_interpolator 动画匀速播放 OvershootInterpolator...有一个属性设置循环次数 android:cycles* 整数值,循环的次数,默认为1 在动画开始时速率改变比较快,然后开始减速。

    1K20

    不可不知的WPF动画(Animation)

    动画是快速循环播放一系列图像(其中每个图像与下一个图像略微不同)给人造成的一种幻觉。当图像播放速度超过了人眼识别的速度,就会感觉这些图像形成了一个连贯的变化的场景。...如果要实现一个Rectangle元素从视野中逐渐消失,然后再次出现,并循环播放,应该怎么实现呢?...若要使UI元素从不透明到透明的完整过渡,可以设置DoubleAnimation的From值为1.0,To设置为0。...设置动画反向执行:动画完成后,是否恢复初始状态,可以通过设置AutoReverse属性来完成,其中true表示恢复到初始状态,false表示停留在结束状态。...将每一个目标值创建一个相应类型的关键帧,并设置值和KeyTime,然后将关键帧添加到KeyFrames集合。 将关键帧动画添加到Storyboard,并指定动画对象和属性。

    16310

    强大的动画插件——DOTween介绍(Unity3D)

    实例: // 在1秒内将一个叫做myVector的向量补间到(3,4,8) DOTween.To(()=> myVector, x=> myVector = x, new Vector3(...3,4,8), 1); // 在1秒内将一个名为myFloat的浮点数补间到52 DOTween.To(()=> myFloat, x=> myFloat = x, 52,...此外,如果动画在序列中,无限循环也不会被应用。 设置loops到-1会使吐温循环无限。 LoopType.Restart: 当循环结束时,它将从一开始就重新启动。...LoopType.Yoyo: 当一个循环结束时,它将向后播放,直到它完成另一个循环,然后再向前,然后再向后,等等。...10.2 实例方法 float fullPosition 获取并设置渐变的时间位置(包括循环,不包括延迟)。

    11.8K22

    【CSS3】CSS3 动画 ③ ( 动画属性 | CSS3 常见动画属性简介 | 动画属性简写方式 | 动画属性简写语法 | 代码示例 )

    : none 不改变元素样式 forwards 保持动画结束时的样式 backwards 保持动画开始时的样式 , 回到起始点 ; div { /* 设置动画执行完毕后的状态...回到起始状态 */ animation-fill-mode: backwards; } animation-play-state 属性 : 设置 动画 播放状态...、CSS3 动画属性简写方式 ---- 1、CSS3 动画属性简写语法 CSS3 动画属性简写 语法 : animation: 动画名称 持续时间 运动曲线 开始时间 播放次数 播放方向 结束状态; animation...: animation-iteration-count , 动画播放次数 , 默认 1 , 无限循环播放 infinite ; 播放方向 : animation-direction , 动画播放方向..., 如果没有记住顺序 , 可以在 输入 anim 之后 , 发现下面的提示 , 然后在第一个提示位置 , 敲回车 , 即可生成如下代码 : animation: name duration timing-function

    45430

    【干货】Cocos Creator制作一个微信小游戏(下)

    在层级管理器中,找到startBtn,并拖动到上面箭头所指的位置,就实现了startBtn组件和代码中的startBtn属性的绑定,接下来可以在代码中调用这个按钮了。...可以开始写主逻辑了,在Game.js的onLoad函数中写入游戏初始化代码,并创建几个待调用的方法,此步骤完整代码如下: var {AStar, Grid, Node} = require("AStar...我们需要一个可以全局调用的播放器,然后把需要播放的音频资源都绑定到这个播放器内,代码如下: cc.Class({        extends: cc.Component,    properties...我的办法是在开始菜单场场景,创建一个空节点,并绑定播放器代码,然后注册到全局。  ?...在Menu的onload方法里面,把播放器注册到全局: cc.game.addPersistRootNode(this.AudioClip); 然后在需要调用播放器的场景,获取播放器并调用其中的方法:

    5.8K51

    说lottie谁是lottie?

    其提供从 AE 到各终端的完整工具流程。设计师可以通过 AE 的 Bodymovin 插件将动画导出为 json 文件,然后通过 Lottie 实现动画效果,确保动画的还原度。...: 名称 描述 animation.play 播放该动画,从目前停止的帧开始播放 stop 停止播放该动画,回到第 0 帧 pause 暂停该动画,在当前帧停止并保持 goToAndStop animation.goToAndStop...(value, isFrame);跳到某个时刻/帧并停止。...在 unmount 的时候,需要调用该方法 监听事件: 名称 描述 data_ready 加载完 json 动画 complete 播放完成(循环播放下不会触发) loopComplete 当前循环下播放...(循环播放/非循环播放)结束时触发 enterFrame 每进入一帧就会触发,播放时每一帧都会触发一次,stop 方法也会触发 segmentStart 每进入一帧就会触发,播放时每一帧都会触发一次,stop

    40420

    C#开发可播放摄像头及任意格式视频的播放器

    安装完成后,我们找到安装的具体位置并打开,如下图: ? 在文件夹内我们找到文件libvlc.dll,libvlccore.dll和文件夹plugins,然后将他们复制出来。...现在我们回到我们刚刚创建的项目WpfVLC,进入文件目录,打开debug文件夹,然后我们在其目录下创建一个文件夹libvlc,如下: ?...然后,在在liblic下建立一个文件夹win-x64,如下: ? 再然后,我们将刚刚复制的vlc的三个文件,放到这个文件夹下,如下: ? 到此,我们的准备工作就完成了,现在开始编码。..."win-x86" : "win-x64")); this.VlcControl.SourceProvider.CreatePlayer(libDirectory); }...播放其他视频源 播放RTSP 通过上面的代码编写,我们了解到了,在C#里使用VLC播放视频的代码非常简单,只要在Play函数中写入地址即可。

    3K30

    Unity基础教程系列(新)(三)——数学表面(Sculpting with Numbers)

    甚至可以在Unity编辑器处于播放模式时执行此操作。执行将暂停,保存当前游戏状态,然后再次编译脚本,最后重新加载游戏状态并恢复播放。这称为热重载。并非所有内容都能承受热重载,但我们的视图可以。...它将切换到为新功能并添加动画效果,Unity不会意识到它们更改过。 虽然在播放模式下更改代码很方便,但在多种功能之间来回切换并不是一种方便的方法。如果我们可以通过视图的配置选项更改功能,那样更简单。...(绝对值X) 回到FunctionLibrary.Ripple,我们用距离作为正弦函数的输入,并使其成为结果。...每次完成一行时,我们都必须将x重置为零。当x等于分辨率时,一行就结束了,因此我们可以在循环的顶部使用if块来解决这一问题。然后使用x代替i来计算X坐标。 ?...若要快速选择一个好的摄像机位置,你可以在处于播放模式的场景窗口中找到一个好的视点,退出播放模式,然后使游戏的摄像机与该视点匹配。

    1.5K40
    领券