[python]python利用pyaudio录制系统声音没有立体声混音怎么录制系统音频

当电脑没有立体声混音导致Python写代码无法使用pyaudio进行录制系统声音怎么办?查阅资料和安装驱动等方法都不行,难道没办法了吗?那为什么电脑其他软件可以做到呢?因此研究了一下pyaudio在没有立体声混音情况下确实无法录制声音,而且其他比较流行的录制声音模块都试过不行,比如scikit声音模块,因此找到一个模块能录制系统声音,尤其speaker声音很重要,否则python编程没法录制系统声音岂不是表明自己编程太烂了?最终发现一个模块十分好用而且可以录制系统声音不需要设置什么立体声混音操作。我的电脑是暗影精灵6plus结果根本没有立体声混音如下:

 

正常情况下人家是这样的

 

但是我尝试了很多方法甚至重装声卡驱动都没用,据说是主板不支持。难道python就没法用系统录音了吗,如果有立体声混音一般用下面代码即可录制

import numpy as np
from PIL import ImageGrab
import cv2
import pyaudio
import threading
import wave
import time
import ffmpeg
import getpass
import subprocess
import os# 录音类
class Recorder():def __init__(self, chunk=1024, channels=2, rate=44100):self.CHUNK = chunkself.FORMAT = pyaudio.paInt16self.CHANNELS = channelsself.RATE = rateself._running = Trueself._frames = []# 获取内录设备序号,在windows操作系统上测试通过,hostAPI = 0 表明是MME设备def findInternalRecordingDevice(self, p):# 要找查的设备名称中的关键字target = '立体声混音'# 逐一查找声音设备for i in range(p.get_device_count()):devInfo = p.get_device_info_by_index(i)if devInfo['name'].find(target) >= 0 and devInfo['hostApi'] == 0:# print('已找到内录设备,序号是 ',i)return iprint('无法找到内录设备!')return -1# 开始录音,开启一个新线程进行录音操作def start(self):threading._start_new_thread(self.__record, ())# 执行录音的线程函数def __record(self):self._running = Trueself._frames = []p = pyaudio.PyAudio()# 查找内录设备dev_idx = self.findInternalRecordingDevice(p)if dev_idx < 0:return# 在打开输入流时指定输入设备stream = p.open(input_device_index=dev_idx,format=self.FORMAT,channels=self.CHANNELS,rate=self.RATE,input=True,frames_per_buffer=self.CHUNK)# 循环读取输入流while (self._running):data = stream.read(self.CHUNK)self._frames.append(data)# 停止读取输入流stream.stop_stream()# 关闭输入流stream.close()# 结束pyaudiop.terminate()return# 停止录音def stop(self):self._running = False# 保存到文件def save(self, fileName):# 创建pyAudio对象p = pyaudio.PyAudio()# 打开用于保存数据的文件wf = wave.open(fileName, 'wb')# 设置音频参数wf.setnchannels(self.CHANNELS)wf.setsampwidth(p.get_sample_size(self.FORMAT))wf.setframerate(self.RATE)# 写入数据wf.writeframes(b''.join(self._frames))# 关闭文件wf.close()# 结束pyaudiop.terminate()# ffmpeg将音视频合并
def comband_av(AUDIO, VIDEO):  # 音频视频合并os.getcwd()user_name = getpass.getuser()str_txt = 'C:/Users/' + user_name + '/Desktop/'os.chdir(str_txt)cmd = f"ffmpeg -i {AUDIO} -i {VIDEO} comband_va.mp4 -y"subprocess.call(cmd, shell=True)if __name__ == "__main__":os.getcwd()user_name = getpass.getuser()str_txt = 'C:/Users/' + user_name + '/Desktop/'os.chdir(str_txt)# 设置录制参数SCREEN_SIZE = (2560, 1600)FILENAME = 'recorded_video.avi'FPS = 30.0# 开始录制画面fourcc = cv2.VideoWriter_fourcc(*"XVID")out = cv2.VideoWriter(FILENAME, fourcc, FPS, SCREEN_SIZE)# 开始录制音频rec = Recorder()begin = time.time()rec.start()cnt = 0print('recording..')while True:# 获取屏幕截图# img = pyautogui.screenshot()img = ImageGrab.grab(bbox=(0, 0, 2560, 1600))# 转换为OpenCV格式frame = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR)# 写入视频文件out.write(frame)# cv2.imshow('Frame', frame)# cv2.resizeWindow('Frame', 1920, 1080)# # 检测按键# if cv2.waitKey(1) == ord('q'):#     breakcnt = cnt + 1if cnt == 300:rec.stop()t = time.time() - beginprint('录制时间为%ds' % t)rec.save("recorded_audio.wav")break# 停止录制out.release()cv2.destroyAllWindows()comband_av("recorded_audio.wav", "recorded_video.avi")  # 音频文件名,视频文件名自定义

 但是立体声混音,在声音设备根本没有,因此找到一个模块可以很好解决录制系统声音问题,视频演示如下:

python利用pyaudio录制系统声音没有立体声混音怎么录制系统音频_哔哩哔哩_bilibili当电脑没有立体声混音导致Python写代码无法使用pyaudio进行录制系统声音怎么办?查阅资料和安装驱动等方法都不行,难道没办法了吗?那为什么电脑其他软件可以做到呢?因此研究了一下pyaudio在没有立体声混音情况下确实无法录制声音,而且其他录制声音模块都试过不行,因此找到一个模块能录制系统声音,尤其speaker声音很重要,否则python编程没法录制系统声音岂不是表明自己编程太烂了?最终发现, 视频播放量 5、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 未来自主研究中心, 作者简介 未来自主研究中心,相关视频:地表最强模糊图片变清晰软件Topaz Photo AI2.2.2去升级集成全部离线模型完整版 ,最新版本解压即用,超强超稳定,一键抠图,无损放大,附赠模型,基于yolov8+bytetrack实现目标追踪视频演示,用opencv和onnxruntime去部署yolov5-7-8,C#opencvsharp进行图片拼接图像的stitch拼接,基于yolov8+deepsort实现目标追踪视频演示,yolov3 yolov4 yolov7训练助手2.1支持yolov7一键训练全程不用写代码傻瓜式操作,使用C++部署yolov8的onnx和bytetrack实现目标追踪,基于yolov3口罩检测识别系统训练和测试,使用C#的winform部署yolov8的onnx实例分割模型,将yolov5-6.2封装成一个类几行代码完成语义分割任务icon-default.png?t=N7T8https://www.bilibili.com/video/BV1qc411k7En/?vd_source=989ae2b903ea1b5acebbe2c4c4a635ee

 源码下载地址:

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

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

相关文章

SpringBoot发布项目到docker

Dockerfile FROM openjdk:11 # 作者 MAINTAINER chenxiaodong<2774398338qq.com># 安装 vim # RUN yum -y install vim# 环境变量 # 进入容器后的默认工作目录 ENV WORKPATH /usr/local/webapp ENV EXECFILE Docker2Application-0.0.1-SNAPSHOT.jarRUN mkdir -p $WORKPA…

Android Matrix画布Canvas旋转Rotate,Kotlin

Android Matrix画布Canvas旋转Rotate&#xff0c;Kotlin private fun f1() {val originBmp BitmapFactory.decodeResource(resources, R.mipmap.pic).copy(Bitmap.Config.ARGB_8888, true)val newBmp Bitmap.createBitmap(originBmp.width, originBmp.height, Bitmap.Config.…

软件开发新手用哪个IDE比较好?软件开发最好的IDE都在这!

目录 IDES 的优点 最佳编程 IDE 列表 Java 开发的流行集成开发环境 JetBrains 的 IntelliJ IDEA NetBeans 适用于 C/ C、C# 编程语言的最佳 IDE Visual Studio 和 Visual Studio 代码 Eclipse PHP 开发的最佳 IDE PHPStorm Sublime Text Atom JavaScript 的顶级 I…

Python:正则表达式速通,码上上手!

1前言 正则表达式&#xff08;Regular Expression&#xff09;是一种用来描述字符串模式的表达式。它是一种强大的文本匹配工具&#xff0c;可以用来搜索、替换和提取符合特定模式的文本。 正则表达式由普通字符&#xff08;例如字母、数字、符号等&#xff09;和元字符&#…

2023 AI开发者生态报告

随着人工智能技术的飞速发展&#xff0c;全球IT市场对AI的投入持续增长&#xff0c;预计到2027年将达到4236亿美元。中国作为AI领域的重要参与者&#xff0c;其投资规模预计将占全球的9%。在这样的背景下&#xff0c;2023年的《AI开发者生态报告》为我们揭示了人工智能时代的技…

Linux的账号及权限管理

一.管理用户账号 1.1 用户账户的分类 1.1.1 用户账号的分类 超级用户&#xff1a;&#xff08;拥有至高无上的权利&#xff09; root用户是Linux操作系统中默认的超级用户账号&#xff0c;对本主机拥有最高的权限&#xff0c;系统中超级用户是唯一的。普通用户&#xff1a; …

centos7.9 TCP 加速

BBR是谷歌开发的新的TCP加速算法&#xff0c;在网络状况不好的服务器上开启TCP的bbr&#xff0c;可以在无需增加任何硬件投入的情况下实现网络加速&#xff0c;并且客户端无需做任何配置&#xff0c;因此使用起来非常的方便。TCP加速对网络状况较好的内网环境&#xff0c;或者大…

Mysql高阶语句及存储过程

目录 空值(NULL) 和 无值() 的区别&#xff1a; 正则表达式&#xff1a; 存储过程&#xff1a; 创建存储过程&#xff1a; 存储过程的参数&#xff1a; 存储过程的控制语句&#xff1a; mysql高阶语句 case是 SQL 用来做为if&#xff0c;then&#xff0c;else 之类逻辑的…

Vue学习计划-Vue3--初识Vue3,vite创建Vue3项目

1. Vue3简介 性能的提升 打包大小减少41%初次渲染快55%&#xff0c;更新渲染快133%内存减少54% 源码的升级 使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tree-Shaking 拥抱TypeScript Vue3可以更好的支持TypeScript 新的特性 Composition Api(组合Api) setupref…

【零基础入门VUE】在 Vue 中构建复杂表单

✍面向读者&#xff1a;所有人 ✍所属专栏&#xff1a;零基础入门VUE专栏https://blog.csdn.net/arthas777/category_12537076.html 目录 v-modelVue 中的 指令 Vue 中的组件 没有构建步骤 随着构建步骤 注册 VUE 组件 Vue 道具 VUE 中的道具声明 在 VUE 中传递 PROP…

CSP CCF 201409-2 画图 C++满分题解

解题思路&#xff1a; 1.使用二维数组标记每一个方块是否被涂色。 2.注意坐标代表的是点&#xff0c;不是方块&#xff0c;交界处的坐标只能算一个方块。 3.可以看成&#xff1a;每一个坐标都对应它左上角的一个小方块&#xff0c;这样可以避免重复计算方块数 #include<i…

Unity中URP下精度修饰符real

文章目录 前言一、real是什么&#xff1f;1、我们在项目的Packages下找到如下文件&#xff1a;2、HAS_HALF(1代表有half精度&#xff0c;0代表没有half精度)3、PREFER_HALF4、REAL_IS_HALF5、如果 real is half6、否则为float 二、总结 前言 在使用雾效时&#xff0c;ComputeFo…

你好,2024!

大家好&#xff0c;我是南城余&#xff01; 今天是2023年最后一天&#xff0c;看到各位大佬都在分享今年的总结&#xff0c;我也来做个年度总结&#xff0c;是第一次做年度总结&#xff0c;希望以后可以每年都做一个好好的回顾。 NO1. 再见&#xff0c;大学&#xff01; 1 2…

ThinkPad T14s Gen3,ThinkPad X13 Gen3(21BS,21BQ,21BR,21BN)原装出厂Win11系统

lenovo联想ThinkPad系列T14s/X13 Gen3笔记本电脑原装Windows11预装OEM系统镜像 链接&#xff1a;https://pan.baidu.com/s/1yhRMIjlkFvt86aLioOoNOA?pwdfrsp 提取码&#xff1a;frsp 原厂系统自带所有驱动、出厂主题壁纸、系统属性专属联机支持标志、Office办公软件、联想…

竞赛保研 基于机器视觉的12306验证码识别

文章目录 0 简介1 数据收集2 识别过程3 网络构建4 数据读取5 模型训练6 加入Dropout层7 数据增强8 迁移学习9 结果9 最后 0 简介 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于机器视觉的12306验证码识别 该项目较为新颖&#xff0c;适合作为竞赛课题方向…

rosdep init/update失败(转载)

sudo rosdep init rosdep update 如果你直接成功了&#xff0c;可直接跳过当我没说&#xff08;不过90%的几率你都会失败的啦&#xff09; 由于http://raw.githubusercontent.com这个网址墙的很厉害&#xff0c;大概率你是成功不了的&#xff0c;这里推荐一种本地化安装的方法…

【Leetcode】1154. 一年中的第几天

文章目录 题目思路代码 题目 1154. 一年中的第几天链接 思路 题目要求是给定一个字符串 date&#xff0c;它代表一个日期&#xff0c;采用标准的 YYYY-MM-DD 格式。需要计算这个日期是当年的第几天。 首先&#xff0c;我们可以通过字符串的索引来提取年、月和日的数值&…

二维动态规划问题,python解决最长回文子串

一个算法中的经典问题&#xff0c;求最长回文子串问题&#xff0c;其实是可以归于二维动态规划问题。 对于给定的一个字符串中&#xff0c;找到这个字符串中的回文子串&#xff0c;回文子串的概念是从前往后正向的读和从后往前反向的读都是完全相同的字符串。 对这个问题进行…

el-date-picker周选择器获取选择的日期范围

<el-date-pickerv-model"formData.date"type"week"format"yyyy 第 WW 周"placeholder"选择周"change"weekChange"> </el-date-picker>// 方法一&#xff1a;weekChange(val) {let startTime new Date(val.getT…

猪目标检测数据集VOC格式600张

猪是一种常见的哺乳动物&#xff0c;通常被人们认为是肉食动物&#xff0c;但实际上猪是杂食性动物&#xff0c;以植物性食物为主&#xff0c;也有偶尔食肉的习性。猪的体型较大&#xff0c;圆胖的体型和圆润的脸庞使其显得憨态可掬。它们主要通过嗅觉来感知周围环境&#xff0…