【问题标题】:Is it possible to work with the sound card a system and produce notes using C language?是否可以将声卡与系统一起使用并使用C语言制作音符?
【发布时间】:2011-06-10 05:26:19
【问题描述】:

我想知道它是否可以使用声卡,并使用汇编级或 C 编程语言从中产生各种音符。

【问题讨论】:

  • 在什么操作系统下?
  • 如果可以在计算机上完成,则可以使用汇编程序完成,几乎可以肯定是 C 或 C++。您有更具体的问题吗?

标签: c


【解决方案1】:

看到这个 SO 答案Streaming Data to Sound Card Using C on Windows

将您指向http://www.portaudio.com/

PortAudio 是一个免费、跨平台、开源的音频 I/O 库。它让您可以使用“C”或 C++ 编写简单的音频程序,这些程序可以在许多平台上编译和运行,包括 Windows、Macintosh OS X 和 Unix (OSS/ALSA)。旨在促进不同平台开发者之间的音频软件交流。许多应用程序将 PortAudio 用于音频 I/O。

PortAudio 提供了一个非常简单的 API,用于使用简单的回调函数或阻塞读/写接口来录制和/或播放声音。示例程序包括播放正弦波、处理音频输入(吉他模糊)、录制和播放音频、列出可用的音频设备等。

【讨论】:

    【解决方案2】:

    是的,这是可能的。其实现很大程度上取决于您将要编码的系统。

    您通常可以选择使用 DAC(数模转换器)输出,或者可能访问 MIDI。

    【讨论】:

      【解决方案3】:

      我不是声音生成方面的专家,但是……当然有可能。毕竟,在任何使用音频的应用程序中,都需要一些东西来调用声卡。

      但是,几乎在所有情况下,最好调用 API,并让系统现有的声卡驱动程序完成所有繁重的工作。更便携(……至少在某种程度上),也更容易。

      http://www.linux.com/archive/feature/113775 可能有一些很好的信息。对于 Windows Vista/7,您可以查看http://msdn.microsoft.com/en-us/library/dd370784%28v=vs.85%29.aspx

      哦,在许多情况下,您最好使用可以生成音符的现有软件库,而不是尝试自己生成波形。 (参见 Fredrik 的回答。)

      【讨论】:

        猜你喜欢
        • 2019-11-21
        • 2011-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-31
        • 1970-01-01
        • 1970-01-01
        • 2011-11-01
        相关资源
        最近更新 更多