我正在用cmu sphinx编写语音识别程序。它需要一个.raw
audio file来处理。如何以原始格式从麦克风中获取声音?我已经google了。他们说我从/dev/dsp
开始阅读,但我找不到那个文件/设备。我在阿尔萨的ArchLinux。 Linux version 3.2.9-1-pae
。
madper@myhost /dev % ls
agpgart ptmx tty23 tty58 vcs28 vcs62 vcsa39
autofs pts/ tty24 tty59 vcs29 vcs63 vcsa4
block/ random tty25 tty6 vcs3 vcs7 vcsa40
bsg/ rfkill tty26 tty60 vcs30 vcs8 vcsa41
btrfs-control rtc@ tty27 tty61 vcs31 vcs9 vcsa42
bus/ rtc0 tty28 tty62 vcs32 vcsa vcsa43
char/ sda tty29 tty63 vcs33 vcsa1 vcsa44
console sda1 tty3 tty7 vcs34 vcsa10 vcsa45
core@ sda2 tty30 tty8 vcs35 vcsa11 vcsa46
cpu/ sda3 tty31 tty9 vcs36 vcsa12 vcsa47
cpu_dma_latency sda4 tty32 ttyS0 vcs37 vcsa13 vcsa48
disk/ sda5 tty33 ttyS1 vcs38 vcsa14 vcsa49
dri/ sda6 tty34 ttyS2 vcs39 vcsa15 vcsa5
fb0 sda7 tty35 ttyS3 vcs4 vcsa16 vcsa50
fd@ sda8 tty36 uinput vcs40 vcsa17 vcsa51
freefall shm/ tty37 urandom vcs41 vcsa18 vcsa52
full snapshot tty38 v4l/ vcs42 vcsa19 vcsa53
fuse snd/ tty39 vcs vcs43 vcsa2 vcsa54
hidraw0 stderr@ tty4 vcs1 vcs44 vcsa20 vcsa55
hidraw1 stdin@ tty40 vcs10 vcs45 vcsa21 vcsa56
hpet stdout@ tty41 vcs11 vcs46 vcsa22 vcsa57
initctl| tty tty42 vcs12 vcs47 vcsa23 vcsa58
input/ tty0 tty43 vcs13 vcs48 vcsa24 vcsa59
kmsg tty1 tty44 vcs14 vcs49 vcsa25 vcsa6
log= tty10 tty45 vcs15 vcs5 vcsa26 vcsa60
loop-control tty11 tty46 vcs16 vcs50 vcsa27 vcsa61
mapper/ tty12 tty47 vcs17 vcs51 vcsa28 vcsa62
mcelog tty13 tty48 vcs18 vcs52 vcsa29 vcsa63
media0 tty14 tty49 vcs19 vcs53 vcsa3 vcsa7
mei tty15 tty5 vcs2 vcs54 vcsa30 vcsa8
mem tty16 tty50 vcs20 vcs55 vcsa31 vcsa9
net/ tty17 tty51 vcs21 vcs56 vcsa32 vga_arbiter
network_latency tty18 tty52 vcs22 vcs57 vcsa33 video0
network_throughput tty19 tty53 vcs23 vcs58 vcsa34 watchdog
null tty2 tty54 vcs24 vcs59 vcsa35 zero
port tty20 tty55 vcs25 vcs6 vcsa36
ppp tty21 tty56 vcs26 vcs60 vcsa37
psaux tty22 tty57 vcs27 vcs61 vcsa38
还有其他方法可以获得声音吗?使用GStreamer?或者我可以使用google的api通过上传音频文件来获取文本吗?任何其他建议也欢迎。 谢谢
答案 0 :(得分:5)
以下是一些有用的链接,它们将教您如何使用ALSA捕获语音数据 -
这是一个link,可以为您提供有关ALSA及其配置的一些见解。
This是官方的ALSA API参考。
这可能不在上下文中,但here是在进行音频编程时应该记住的建议列表。
如果您想要ALSA的替代品,我建议您查看Port Audio。
答案 1 :(得分:1)
/dev/dsp
是OSS,它是旧版Linux使用的音频子系统。使用GStreamer(首选)或ALSA(可接受)API来录制音频。
答案 2 :(得分:0)
检查/ dev / snd /文件夹。找到pcmC0D0c,它是类似于OSS / dev / dsp的原始PCM音频。希望对您有所帮助。