音频类型识别方案-audioset_tagging

news2024/9/22 1:18:26

audioset_tagging 

github上开源的音频识别模型,可以识别音频文件的类型并打分给出标签占比,如图

@echo off
set CHECKPOINT_PATH="module/Cnn14_mAP=0.431.pth"
set MODEL_TYPE="Cnn14"
set CUDA_VISIBLE_DEVICES=0
python pytorch\inference.py audio_tagging --model_type=%MODEL_TYPE% --checkpoint_path=%CHECKPOINT_PATH% --audio_path="resources/hansheng.mp3" --cuda
pause
 

[
  "GPU number: 1",
  "Animal: 0.374",
  "Roar: 0.250",
  "Dog: 0.221",
  "Domestic animals, pets: 0.187",
  "Snoring: 0.171",
  "Grunt: 0.157",
  "Growling: 0.111",
  "Speech: 0.084",
  "Music: 0.062",
  "Inside, small room: 0.059",
  "embedding: (2048,)"
]

这里我封装成API了,指定文件路径进行识别,会调用GPU或者CPU进行运算,得出结果,

例如动物得分0.3等等,有兴趣的可以去GITHUB上去获取试试。

 public static List<string> Do(AudioCheckCondition condition) {
            List<string> res = new List<string>();
            // 创建一个进程启动信息
            ProcessStartInfo start = new ProcessStartInfo();
            start.FileName = AppsettingsConfig.PythonSet.ExePath; // Python可执行文件的路径
            start.Arguments = AppsettingsConfig.PythonSet.ScriptContent.Replace("[[audio]]", condition.FilePath); // 你的Python脚本文件路径
            start.UseShellExecute = false;
            start.RedirectStandardOutput = true;
            start.RedirectStandardError = true;
            start.CreateNoWindow = true;
            // 设置工作目录
            start.WorkingDirectory = AppsettingsConfig.PythonSet.WorkingDirectory;
            // 启动Python进程
            using (Process process = new Process())
            {
                process.StartInfo = start;
              
                process.OutputDataReceived += (sender, e) => {
                    if (!string.IsNullOrEmpty(e.Data))
                    {
                        res.Add(e.Data);
                        Console.WriteLine("Output: " + e.Data);
                    }
                };

                process.ErrorDataReceived += (sender, e) => {
                    if (!string.IsNullOrEmpty(e.Data))
                    {
                        Console.WriteLine("Python Error: " + e.Data);
                    }
                };

                process.Start();
                process.BeginOutputReadLine();
                process.BeginErrorReadLine();

                process.WaitForExit();

                // 获取Python程序的返回代码
                int exitCode = process.ExitCode;
                Console.WriteLine("Python Process Exit Code: " + exitCode);
            }
            return res;
        }

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

谈谈多用户商城系统的优缺点

多用户商城系统是一种基于互联网的电子商务平台&#xff0c;可以给多个商家提供在线销售、交易和管理的功能。这种系统的出现&#xff0c;为商家和消费者之间的交流和交易提供了更加便捷和高效的方式。那么&#xff0c;多用户商城系统的优缺点有哪些呢&#xff1f; 一、多用户商…

实在智能受邀参加第14届珠中江数字化应用大会,AI赋能智能制造,共话“湾区经验”

制造业是实体经济的主体&#xff0c;是技术创新的主战场&#xff0c;是供给侧结构性改革的重要领域。抢占新一轮产业竞争制高点&#xff0c;制造业的数字化转型已成为行业升级的必由之路。 10月21日&#xff0c;第14届“珠中江”&#xff08;珠海、中山、江门&#xff09;数字…

Amazon商品详情API接口(标题|主图|SKU|价格|库存)

亚马逊商品详情API接口是亚马逊平台提供的API接口&#xff0c;可以通过程序调用API来获取亚马逊商品的相关数据&#xff0c;包括商品价格、库存、评价等信息。这些信息可以帮助开发者和商家更好地了解商品详情&#xff0c;优化用户体验&#xff0c;支持购买决策&#xff0c;竞品…

软件兼容性测试对软件产品起到什么作用?CMA、CNAS软件测评中心分享

软件兼容性测试是指检查软件之间能否正确地进行交互和共享信息。随着用户对来自各种类型软件之间共享数据能力和充分利用空间同时执行多个程序能力的要求&#xff0c;测试软件之间能否协作变得越来越重要。软件兼容性测试工作的目标是保证软件按照用户期望的方式进行交互。 1、…

哪些车企AEB标配率「不及格」

对于汽车智能化来说&#xff0c;基础安全不分高低配。但实际情况&#xff0c;却是另一番景象。 在全球范围&#xff0c;目前不少国家及地区的监管机构正在考虑将AEB&#xff08;紧急制动系统&#xff09;作为乘用车的标配纳入法规&#xff0c;“这是道路安全向前迈出了重要的一…

21.2 Python 使用Scapy实现端口探测

Scapy 是一款使用纯Python编写的跨平台网络数据包操控工具&#xff0c;它能够处理和嗅探各种网络数据包。能够很容易的创建&#xff0c;发送&#xff0c;捕获&#xff0c;分析和操作网络数据包&#xff0c;包括TCP&#xff0c;UDP&#xff0c;ICMP等协议&#xff0c;此外它还提…

【QT开发(15)】QT在没有桌面的系统中可以使用

在没有桌面的系统中&#xff0c;可以使用QT库。QT库可以在没有图形用户界面&#xff08;GUI&#xff09;的环境中运行&#xff0c;例如在服务器或命令行终端中。 这样就可利用Qt的&#xff1a; 对象模型&#xff0c;信号和槽容器类多线程和多进程网络编程 等

在Linux上实现ECAT主站

在Linux上实现ECAT主站 引言介绍EtherCATSOEM 使用下载ECAT主站编译 引言 EtherCAT由一个主站设备和多个从站设备组成。主站设备使用标准的以太网控制器&#xff0c;具有良好的兼容性&#xff0c;任何具有网络接口卡的计算机和具有以太网控制的嵌入式设备都可以作为EtherCAT的…

使用canvas实现时间轴上滑块的各种常用操作(仅供参考)

一、简介 使用canvas&#xff0c;模拟绘制时间轴区域&#xff0c;有时间刻度标尺&#xff0c;时间轴区域上会有多行&#xff0c;每行都有一个滑块。 1、时间刻度标尺可以拖动&#xff0c;会自动对齐整数点秒数&#xff0c;最小步数为0.1秒。 2、滑块可以自由拖动&#xff0c…

如何将Linux上部署的5.7MySql数据库编码修改utf8(最新版)

如何将Linux&#xff08;服务器&#xff09;上部署的5.7MySql数据库编码修改utf8&#xff08;最新版&#xff09; 一、解决办法步骤1步骤2&#xff08;此处为问题描述吐槽&#xff0c;可以直接跳过该步骤到步骤三&#xff09;步骤3步骤4步骤5 二、结果 # 前言 提示&#xff1a…

【java学习—九】类的成员之四:初始化块(1)

文章目录 1. 初始化块(代码块)的作用2. 静态代码块3. 非静态代码块和静态代码块的特点 1. 初始化块(代码块)的作用 作用&#xff1a;对java对象进行初始化      程序执行的顺序&#xff1a;     ①声明成员变量的默认值 --> ②显式初始化、多个初始化块依次被执行&a…

On Moving Object Segmentation from Monocular Video with Transformers 论文阅读

论文信息 标题&#xff1a;On Moving Object Segmentation from Monocular Video with Transformers 作者&#xff1a; 来源&#xff1a;ICCV 时间&#xff1a;2023 代码地址&#xff1a;暂无 Abstract 通过单个移动摄像机进行移动对象检测和分割是一项具有挑战性的任务&am…

智慧停车视频解决方案:如何让AI助力停车管理升级?

一、项目背景 停车场的管理区域由于面积比较大&#xff0c;进出车辆多&#xff0c;所以在保安方面决不能有任何的麻痹和松懈&#xff0c;继续采用过去保安方式已远远不能满足现代安全防范的需求。为满足停车场的安全和科学系统化管理的需要&#xff0c;以及为了对随时发生的情…

希尔排序和直接插入排序代码对比

两段代码相似的地方也是两个算法一致的地方&#xff1a;即直接插入算法的整体流程和希尔算法的每个组内进行直接插入的流程。 不同点就是希尔算法会依次将整个序列分成…16、8、4、2、1组&#xff0c;每次在每个小组内进行直接插入&#xff0c;以此保证下一次扩大分组内元素数时…

用 Go 访问 MySql 数据库

所有代码样例 package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql" )var db *sql.DB// 初始化连接 func initDB() (err error) {db, err sql.Open("mysql", "root:mm..1213tcp(127.0.0.1:3306)/chapte…

使用python实现http协议的方法

要使用Python编写一个接口&#xff0c;其入参格式为x-www-form-urlencoded&#xff0c;你可以使用requests库。requests库是一个流行的HTTP库&#xff0c;它使得发送HTTP请求变得非常简单。 下面是一个简单的示例&#xff0c;展示如何使用requests库发送一个POST请求&#xff…

苹果IOS系统企业IPA文件签名需要提供APP开源代码吗?

在科技发展日益迅速的今天&#xff0c;我们所生活的世界已变得越来越便捷。而在这个过程中&#xff0c;智能手机、移动应用以及与之相关的技术也在影响着我们日常生活的方方面面。苹果公司&#xff0c;作为行业巨头之一&#xff0c;不仅改变了全球智能手机的发展趋势&#xff0…

酒石酸盐晶体是优质葡萄酒的一个特征?

来自云仓酒庄品牌雷盛红酒分享澄清一下&#xff0c;葡萄酒中的酒石酸盐晶体&#xff0c;在德国被称为“温斯坦”&#xff0c;既无害也不是质量差的标志&#xff0c;相反&#xff0c;它们是富含矿物质的葡萄酒的特征。虽然酒石酸盐可以在年轻的葡萄酒中结晶&#xff0c;但它们最…

iconfont

iconfont-阿里巴巴矢量图标库https://www.iconfont.cn/ UI - 优设网 - 学设计上优设 (uisdc.com)https://www.uisdc.com/category/uiicon TreeNode moveNode (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode"); Point pt; …