打印

是创通二手的早期声卡,dsp被**了。

[复制链接]
2598|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dxpol432|  楼主 | 2009-3-19 09:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想把windows里面的MIDI soft wavetable 弄明白,
整到EEPROM里,用MCU驱动声卡,很好玩,市场上音源很贵。
还能自己造个鼓机玩,做成手指触发盘,多好啊。

相关帖子

沙发
computer00| | 2009-3-19 10:03 | 只看该作者

那个东西很大哦...普通的MCU速度也跟不上的...

可以考虑买现成的MIDI合成芯片,也就几十块钱。

当然,DIY有DIY的乐趣,要是真搞的话,俺绝对支持~~~~~~

还可以去网上下载那些高档声卡的波表来玩~~~~不过也许找不到协议...

使用特权

评论回复
板凳
alex74| | 2009-3-19 10:22 | 只看该作者

。。。。

.....

使用特权

评论回复
地板
wangkj| | 2009-3-19 14:05 | 只看该作者

创通声卡有**版,有源码。

看懂了,自己随便改

使用特权

评论回复
5
xwj| | 2009-3-19 14:54 | 只看该作者

没听说过有源码

使用特权

评论回复
6
wangkj| | 2009-3-19 15:25 | 只看该作者

是创通二手的早期声卡,dsp被**了。

使用特权

评论回复
7
dxpol432|  楼主 | 2009-3-20 01:59 | 只看该作者

我熟悉windows声卡驱动

那个文件不到16MB,可以用地址切换来访问,16K一组或32K一组,或者分成128组,每个乐器用独立的EEPROM。单片机的速度不是问题,我想用的是ISA声卡,实验好了就购买芯片了,以为ISA总线的时钟不到5MHz,所以快的MCU应该可以。
整体构想是用MCU替换PC机驱动声卡部分的所有程序,分析过,应该没什么难点。

使用特权

评论回复
8
computer00| | 2009-3-20 10:42 | 只看该作者

那很好啊...俺也很想玩玩这样的东东~~~

但是那么多通道,一般的MCU能够处理得过来么?合成程序应该要负责包括频率变换、触头、上升、保持、释放、颤音等等处理吧?

楼主有没有一些比较详细的资料共享一下呢?例如具体的合成方法。

使用特权

评论回复
9
liguligu886| | 2009-3-20 15:29 | 只看该作者

d

真的吗,回去试试

使用特权

评论回复
10
dxpol432|  楼主 | 2009-3-21 00:30 | 只看该作者

8楼问的详细

材料我也是在网上找到的,没译成中文。
MCU的速度应该没什么问题,MIDI的数据速率不高
合成是用声卡完成,MCU只要把音源样本传给声卡就行了。

原先做实验,做了个程序,直接用PC键盘控制PC的声卡发生,速度还行,听不出有时延,所以,想做只MIDI键盘(鼓组的),联到声卡上,程序改下就行,
问题是PC MIDI部分的功能提取。

使用特权

评论回复
11
computer00| | 2009-3-21 00:36 | 只看该作者

我晕...还要加块PC声卡?

我这么说吧,就算44.1KHz的采样频率,双声道,16bit,普通MCU单送数据到DAC这一项,就已经挺忙的了。

再加上波表合成(多个通道,每个通道还要能够支持多个音同时发声啊……),我想一个ARM7处理器都不够用吧。

使用特权

评论回复
12
古道热肠| | 2009-3-21 10:37 | 只看该作者

哈哈,有意思,好好干

前面有个WKJ,即将弄出个VGA显卡,这又来了一个要弄声卡的,有了这两大块,用个8031组装个学习机,估计没什么难度了.
建议先实现Midi播放功能,Midi的数据流很少,而音质却相当不错.只是不能讲话,预留个DA接口就行了,只要能达到游戏城中游戏机的声音效果,也算是成功了一大步.

使用特权

评论回复
13
dxpol432|  楼主 | 2009-3-21 11:32 | 只看该作者

11楼:

MCU的作用是把音源的数据传给ISA线排,请看我在7 楼的贴。
合成是声卡完成的,不须MCU 。
我想的是:MIDI键盘传来MIDI指令,MCU找到对应的音源起止位置,把这些音源数据传给 ISA 线排,声卡自行运算这些数据产生波形。
若是波形数据需要CPU来运算,那就不用那么大的文件了。我有些单乐器的音源,是打击乐器的,每个文件才几K ,它们是wav 的格式。
我想windows 的那个大文件应该是变化了的 wav 数据,所以才那么大。
我在一楼的贴子就说了,把这文件整明白,要放在 EEPROM 里面,这样,使用数据的时候就不用MCU 进行转换了。
若是数据两非常的大,我就每组乐器做一块板,其实我只想要鼓组的数据。


使用特权

评论回复
14
dxpol432|  楼主 | 2009-3-21 22:07 | 只看该作者

11楼:

过程怎么没了?

使用特权

评论回复
15
computer00| | 2009-3-22 02:02 | 只看该作者

搞不懂你所说的...

按照我的理解,微软的软波表合成,是由CPU合成的,而不是由声卡。
CPU负责从波表文件读取原始的波表数据,然后根据实际的MIDI信息来合成实际的波形,
然后交给声卡发声。你单把原始的波表文件交给声卡是没用的。

而至于自带硬件波表的声卡,里面有RAM,可以直接加载波表库的,然后它自己合成。
如果我们用这样的声卡,就一点意思都没了,还不如直接买个MIDI合成芯片省事。

我想DIY的,是自己用波表数据来合成需要的声音,这个才好玩。

使用特权

评论回复
16
xwj| | 2009-3-22 02:13 | 只看该作者

赞同LS圈圈所说的,我也是这么想的:-)

应该由CPU直接合成音频数据,然后由DA输出

就看CPU能做到什么地步了(比如多少个通道同时发生还不失真、不出错)

使用特权

评论回复
17
jungr| | 2011-9-17 12:32 | 只看该作者
弱弱问下、需要掌握什么知识才能做出鼓机呢?
PLD可以不
C语言神马的学过了、现在正在学习数电
菜鸟一枚、还望指教

使用特权

评论回复
18
jungr| | 2011-9-17 12:32 | 只看该作者
弱弱问下、需要掌握什么知识才能做出鼓机呢?
PLD可以不
C语言神马的学过了、现在正在学习数电
菜鸟一枚、还望指教

使用特权

评论回复
19
jungr| | 2011-9-17 12:45 | 只看该作者
弱弱问下、需要掌握什么知识才能做出鼓机呢?
PLD可以不
C语言神马的学过了、现在正在学习数电
菜鸟一枚、还望指教

使用特权

评论回复
20
jungr| | 2011-9-17 12:46 | 只看该作者
不好意思、网速问题、一下子按了好几次

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

426

帖子

0

粉丝