Articles of 混音器

从C代码中以dB为单位设置ALSA主音量

我似乎无法在我的机器上以dB为单位设置音量。 我在VirtualBox中运行Ubuntu 13.04系统(用于开发)。 我按照这些说明将音量设置为标量,并控制静音状态 ,一切正常。 但是,当我尝试使用此function以dB为单位进行设置时 snd_mixer_selem_set_playback_dB_all(elem,音量,0) 或与该function snd_mixer_selem_set_playback_dB(elem,chn,音量,0) 它总是失败,错误代码-22 (无效的参数) 在问你之前:我已经试过了很多的音量设置(从-20000到20000),我也把最后一个参数改成了三个定义的值[-1,0,1] 这里是我现在testing的完整代码: #include <alsa/asoundlib.h> #include <stdbool.h> #include <stdlib.h> void SetAlsaMasterVolume(long volume) { long min, max; snd_mixer_t *handle; snd_mixer_selem_id_t *sid; const char *card = "default"; const char *selem_name = "Master"; int x, mute_state; long i; snd_mixer_open(&handle, 0); snd_mixer_attach(handle, card); snd_mixer_selem_register(handle, NULL, NULL); snd_mixer_load(handle); snd_mixer_selem_id_alloca(&sid); snd_mixer_selem_id_set_index(sid, […]

如何在SDL_Mixer中使用Fluidsynth进行MIDI播放?

我一直试图通过使用SDL_Mixer来使用FluidSynth来解决这个问题 。 我正在使用最新的版本,SDL_Mixer 1.2.12(DLL官方网站)和FluidSynth 1.1.6(来自这里的 DLL)在Windows上,应该相互工作。 我已经根据SDL_Mixer将FluidSynth DLL重命名为“libfluidsynth.dll”,并将其放在“SDL_Mixer.dll”旁边。 我通过SDL_SetSoundFonts(),SDL_SOUNDFONTS,甚至SDL_putenv()将绝对path和相对path传递给了sf2。 我已经尝试了Mix_OpenAudio()之前和之后的调用。 但是,当我通过SDL_Mixer播放MIDI文件时,我仍然只能得到默认的Timidity ++输出。 Mix_GetError()不返回消息。 我错过了什么?

如何在Windows Vista中模拟/replace/重新启用古典混音器控件(或命令)?

我有一个问题(现在已经有一段时间了) – Vista中新的混音器堆栈提供了新的很酷的东西,但也重新发明了方向盘。 许多以前在Windows系统上使用音量混音器的应用程序将不同的浊音输出混合到一个input(例如,波形输出+线路input – >立体声混音)之后,它们停止工作。 这种行为的主要例子是Shoutcast DSP插件(可用于解决schemetesting)。 如何重新启用XP混音器控制,或者以某种方式模拟此行为,以便程序(SC DSP)可以正确pipe理麦克风/线路input音量以及Wave-out播放音量? 我的想法是模拟一个程序,连接到Wave-Out和Line-out的Vista混音器(或Mic扬声器音量 – 所有播放,显示为单独的可调节目“程序”,以便Vista混音器可以参考它)并将其“挂接”到某个仿真中,并将其自身表示为该程序的旧式音量混音器控制界面,但坦率地说,我不知道该怎么做。 澄清:这不是我的电脑(这是一个惠普Pavilion笔记本电脑)。 问题似乎主要是由于Vista混音器控制单独的程序,而不是单独的input/输出。 使用Windows XP时,硬件完全能够完成所需的工作。 我很清楚这是一个驱动程序问题,但是驱动程序只是简单地准备了Vista通过接口呈现给程序员的内容。 混音器设备(如操作系统中所示,可能是软件)基于Windowsaudio控制的混音器API。 在Vista上使用Google进行search,并通过线路input音量控制查看有关问题的更多信息(以及受其影响的用户数量)。 当然,重新编写用于WinAMP的Shoutcast Source DSP插件就可以解决这个问题,但这种情况不太可能发生。

Windows Vista / 7上的SDL_Mixer MIDI音量问题

我其实并不熟悉C ++或SDL_Mixer,但是我仍然代表Doom社区问这个问题。 简单地说,没有人写Doom源端口,似乎可以想象如何使用Windows Vista或7上的SDL_Mixer独立控制正常音量和MIDI音量。我会让Eternity Engine的作者James Haley用他自己的话说: 似乎在Windows Vista或7下不存在原生MIDI的独立音量的概念,因为在任何具有它们的应用程序(包括大多数使用SDL_mixer的游戏)中使用MIDI音量滑块也会影响数字声音输出的音量。 这使得尝试调整音乐的相对音量以实现舒适是不可能的。 有没有人find任何解决方法? 我猜这不太可能,因为微软似乎已经在整个操作系统中以任何方式分别控制单个audio设备的音量。 我听说过所有涉及Timidity驱动程序的各种解决方法,但是这要求用户不仅仅是在他的系统上安装游戏。 我所知道的唯一一个明确解决这个问题的端口是ZDoom,但它使用GPL不兼容的FModEx,因此不是一个合适的解决scheme。 如果你想看一些代码,Chocolate Doom可能是最简单的Doom源代码端口,你可以在这里获取它的源代码。 对其他开放源代码声音和音乐库的任何build议也会受到欢迎。

编译Medooze – Ubuntu 14.04

我正在尝试安装Medooze,但是我遇到了很多问题! 我一步一步按照这个指令http://www.medooze.com/products/media-mixer-server/installation.aspx大多安装了出错,直到第9步。当我使用“make”有一堆错误,我固定其中许多,但当我试图解决这个问题,我不能。 /usr/local/src/medooze/mcu/src/gsm/gsm.h:34:32:致命错误:GSM3CircularBuffer.h:没有这样的文件或目录#include GSM3CircularBuffer.h> 编译终止。 make:*** [audio.o]错误1 我试图手动制作这个文件,但它不起作用。 你有什么build议吗? 更新: 我通过在/usr/local/src/ path下载libgsm1-dev来解决这个问题 但现在我看到这个错误: 在从/usr/local/src/medooze/mcu/src/cef/Browser.h:11:0包含的文件中,从test / cef.cpp:2: /usr/local/src/medooze/mcu/src/cef/include/cef_app.h:42:30:致命错误:include / cef_base.h:没有这样的文件或目录#include“include / cef_base.h”^汇编终止。 make:*** [test / cef.o]错误1

如何混合两个audio通道?

我有两个单声道audio通道(PCM格式)的audio通话,传入和传出。 如何混合他们? 如何将它们放置在太空中? (例如,传入的频道在左边稍微发声,在右边传出)

为什么我的PyGame调音台不能播放声音?

2.7中的我的PyGame调音台不能使用声音选项。 我可以使它与mixer.music一起工作,但不能和mixer.sound一起使用mixer.sound,它会产生一个小的滴答声,然后停下来。 码: import pygame pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=4096) song = pygame.mixer.Sound("song.mp3") pygame.mixer.Sound.play(song) 没有错误,它只是不会发挥,并给出一个小滴答声的噪音。 在Windows 7-x64顺便说一句。

从C代码设置ALSA主音量

我一直在寻找一个简单的C代码示例来设置ALSA调音台的主音量,但找不到任何简单的操作。 我对ALSA完全不熟悉,所以做出我自己最小的例子需要时间。 如果有人能提供,我会很高兴。