试验过程记录

做linux环境下的开发时暂时用Windows子系统替代了一下,希望实现ubuntu18.04子系统使用电脑声卡进行录音功能。但是尝试多次无果。

尝试过程:

1. 以为是驱动问题,但是不是。

2. 使用以下命令查看声卡,没有反应或者返回no soundcard。

$ arecord -l
$ aplay -l
$ spci | grep Audio

并且

$ sudo modprobe snd_aloop
执行后出现
modprobe: FATAL: Module snd_aloop not found in directory /lib/modules/5.10.16.3-microsoft-standard-WSL2

根据 Ubuntu 18.04 解决no soundcards found情况下没有声音的问题_xhyglh的博客-CSDN博客 的启发,觉得可能是内核有东西缺失,便参照其过程安装linux-modules-extra的generic

3. 下载指定版本generic后无果,直接输入

$ sudo apt install linux-image-generic

妄想下载一个默认版本来得到正确的linux-modules-extra(

但是召唤出所有内核版本后发现,这个wsl默认的同之前闷头乱撞下载的generic和按照上面链接指引下载的结果不同。版本号的格式都不同。所以应该不是上面的方法可以解决的问题。

~$ dpkg --list | grep linux-image
ii  linux-image-4.15.0-191-generic         4.15.0-191.202                                  amd64        Signed kernel image generic
ii  linux-image-4.15.0-39-generic          4.15.0-39.42                                    amd64        Signed kernel image generic
ii  linux-image-5.0.0-16-generic           5.0.0-16.17~18.04.1                             amd64        Signed kernel image generic
ii  linux-image-generic                    4.15.0.191.176                                  amd64        Generic Linux kernel image

4. 直到大海捞针捞到这篇帖子

Add the ability for WSL to have a soundcard driver

然后才发现WSL目前还没有升级到可以支持声音设备,可以用pulseaudio服务连回windows使用电脑自带的声卡来录音、公放。所以需要下载Pulseaudio来完成这一步

PulseAudio version 1.1 是很老的一个版本,但是可以用于windows10上,可以暂且原谅它的老旧,下载连接:https://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/Support/

下载后解压,这一步我没成功,因为我解压出来的文件和这个指引下的文件不一致:Enabling sound in WSL / Ubuntu - Let It Sing! - X410.dev,于是没用这个方法,初步设想是在PulseAudio的版本中找到一个符合其描述的来下载。但我还没尝试。

完成后可以用以下代码测试。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Time-stamp: "2022-05-05 02:21:23 (ywatanabe)"import soundcard as sc
import numpy as np# get a list of all speakers:
speakers = sc.all_speakers()
# get the current default speaker on your system:
default_speaker = sc.default_speaker()
# get a list of all microphones:
mics = sc.all_microphones()
# get the current default microphone on your system:
default_mic = sc.default_microphone()print(default_speaker)
print(default_mic)# record and play back one second of audio:
fs = 48000
rec_sec = 5data = default_mic.record(samplerate=fs, numframes=fs*rec_sec)
default_speaker.play(data/np.max(data), samplerate=fs)# alternatively, get a `Recorder` and `Player` object
# and play or record continuously:
with default_mic.recorder(samplerate=fs) as mic, \default_speaker.player(samplerate=fs) as sp:for _ in range(100):data = mic.record(numframes=1024)sp.play(data)## EOF

5. 另一种下载PulseAudio version 5.0的方法

Streaming audio from Linux to Windows

待我研究一下

credit to @xhyglh, @tomjepp, X41O

WSL使用电脑自带声卡录制、播放声音尝试相关推荐

  1. 怎么用计算机录像,怎么用电脑自带屏幕录制工具?免费录制方法

    (图:免费录屏方法) 一.系统屏幕录制工具 上文说到,目前电脑系统自带的屏幕录制工具越来越多!比方说Windows系统上的问题步骤记录器,MacOS系统上的QuikeTime等等.而今天小编给您将的是 ...

  2. 计算机的录像功能在哪里找,电脑自带录屏软件在哪?一键开启视频录制的方法...

    电脑自带录屏软件在哪?一键开启视频录制的方法 2019年07月19日 12:50作者:黄页编辑:黄页 分享 电脑自带录屏软件在哪?众所周知,不同种类的手机都会有自带的录屏功能.对于电脑来说也不例外,在 ...

  3. 电脑录屏快捷键是什么?win10自带屏幕录制在哪

    ​在使用电脑的过程中,我们难免会遇到使用电脑录屏功能.有时候可能是想录制网课,有时候可能是想录制游戏的精彩操作,有时候可能只是想录制会议内容. 电脑录屏能够将重要的画面内容进行录制,十分的方便.但也有 ...

  4. win10怎么录制屏幕视频?电脑怎么进行屏幕录制? 电脑有自带的录屏功能吗

    win10怎么录制屏幕视频?大部分人使用的电脑都是windows系统的,有人知道电脑怎么进行屏幕录制??小编接下来就给大家介绍几款实用的录屏软件. 软件一:Windows自带录屏 无论是工作还是生活, ...

  5. 使用Windows自带“录音机”录制音乐(转)

    使用Windows自带"录音机"录制音乐(转)[@more@] 1.准备音频线 音频线有两种,一种是连接电视机或者音响音频输入的,它一端带有双接头,用于连接音响的左右声道输出,一端 ...

  6. windows录屏_电脑自带录屏软件怎么打开?详细操作教程

    电脑自带录屏软件怎么打开?现在主流的三大PC设备操作系统,即:Windows.Linux.Mac.和两大主流的移动设备操作系统,即安卓和iOS,都是有自带的录屏软件(功能)的.这也是考虑到使用电子设备 ...

  7. 计算机的用户软件在哪,电脑自带录屏软件在哪?这里教你怎么找

    电脑自带录屏软件在哪?众所周知,不管是Windows系统还是MacOS系统都是有自带录屏软件的!但是在查了一些关键词之后,小编发现有很多小伙伴不知道怎么找电脑自带录屏软件的.那么,电脑自带录屏软件在哪 ...

  8. 计算机录音机应用程序在哪,win10电脑自带录音在哪里打开

    很多时候我们需要用到录音功能进行一些录音操作,而windows系统是自带有录音机功能提供给我们录音的.不过不少小伙伴不熟悉win10系统,不知道win10电脑自带录音在哪里打开.今天小编就教下大家打开 ...

  9. 电脑自带远程桌面和远程控制软件哪个好?

    随着科技的不断发展和普及,越来越多的公司和个人开始关注远程控制软件的使用.我们常常需要在不同的地方工作,但工作需要的文件和软件却只能在一个地方使用,这时候远程控制电脑软件就变得尤为重要咯.但是,许多人 ...

最新文章

  1. 这可能是最中肯的Redis规范了
  2. arXiv爆款:想了解Attention就看它!
  3. 构建DevOps功能:云计算自动化
  4. java基础-集合:list
  5. C++知识点52——多重继承
  6. 信息系统项目管理知识--项目风险管理
  7. [云炬创业基础笔记]第九章企业的法律形态测试5
  8. mysql 唯一索引 二叉法_mysql 唯一索引
  9. 邮件系统磁盘监控脚本
  10. shell 多个引号冲突_Html多个引号重叠使用冲突解决办法
  11. CocoaPods 添加第三方库报错
  12. python处理pcap文件_[转载]Python读取pcap文件
  13. redis的简单操作
  14. lede usb启动_OpenWrt LEDE 自动挂载USB U盘的方法
  15. 在 VM的CentOS 中 安装 sspanel 宝塔面板 总结
  16. 咳血的独角兽5——挥向投资人的镰刀
  17. ZOJ1516HDU1507(二分图匹配)
  18. 好教程推荐系列:收录常见的Qt面试题
  19. 凯利讯讲解为什么MOS管可以防止电源反接?
  20. 基因家族特征分析 - 染色体定位分析

热门文章

  1. 以太坊Ghost协议和叔块
  2. 第十四章 构造函数和初始化表
  3. 高通骁龙8cx Gen3 相当于什么性能水平 骁龙8cx Gen3参数
  4. deb包格式实例详解
  5. 8. 邵婷 校展示课二年级下册《数学广角--推理》照片
  6. 如何在 Illustrator 中创建和编辑图层?
  7. uni-app 配置代理
  8. 智能辅助办案,给现代包公减负!
  9. VUE实现点击头像出现遮罩层的功能的两种方式
  10. 如何判断一个字符串是否为合法的IP地址。