作者ykjiang (York)
看板Python
标题Re: [问题] 真值转成数值
时间Sun Mar 11 02:52:02 2007
你可以查一下
struct.unpack 的用法。
※ 引述《buganini (霸格尼尼)》之铭言:
: 我用Pymedia读一个wav档
: readframes(1)
: 会传回4bytes的data(应该是一个int吧)
: 我想把他转成真正的int
: 也就是可以拿来做数学运算
: 请问要怎麽转啊?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.59.19.17
1F:推 buganini:来去试试 先谢了 03/11 03:07
2F:推 buganini:哈哈成功了...不过目前只会弄出回音和杂音...囧 03/11 04:23
3F:→ buganini:弄回音的时候会有long int转int overflow的问题 03/11 04:24
4F:推 buganini:因是加上前一段时间的资料,想说/2就ok,但又会跑出杂音= = 03/11 04:29
5F:推 ykjiang:Python 处理 wave 没有 Matlab 方便,有空可以帮忙包一包 03/11 11:38
6F:嘘 ykjiang:对了,你可以在运算前转成浮点数格式,利用 float(.) 即可 03/11 11:41
7F:推 ykjiang:不过直觉上,/2 应该也是满适当的作法 :p 03/11 11:44
8F:推 buganini:恩...我後来觉得wave.readframes是return float 03/11 16:02
9F:→ buganini:但也不是很确定,只是感觉..因为视为float的时候杂音较小 03/11 16:03
10F:推 buganini:现在在怀疑读进来的资料是不是logscale的..因为float/2 03/11 16:07
11F:→ buganini:杂音还是颇严重 03/11 16:08
12F:推 buganini:不知道有没有办法模拟电容的行为,直接处理频域资料 03/11 16:51
13F:→ buganini:还是说一定要经过Fourier Transform..? 03/11 16:52
14F:推 ykjiang:你读进的是 .wav 档吗? .wav 应该不至於用 logscale 吧 03/11 18:13
16F:推 buganini:嘻嘻...刚刚也有找到这一篇....好文章! 03/11 19:50
17F:推 buganini:现在有新的疑问..Stereo的data我读进来是怎样的format?? 03/11 19:56
18F:推 buganini:我发现我对讯号做的改变似乎都是作用在右声道耶!? 03/11 20:21
19F:推 buganini:我怀疑我对readframes的return format的猜测根本就是错的 03/11 20:24
20F:→ buganini:查查看好了 03/11 20:25
21F:推 buganini:最後确认每个sample是signed short (2 bytes) 03/14 04:40
22F:→ buganini:且左右声道交替出现 03/14 04:41
23F:→ ykjiang:我知道的也是左右声道交替出现,只是不记得占几 byte :p 03/16 12:57