mixer
        
            Mixer -- Is a fixtures replacement. Supported Django, Flask, SqlAlchemy and custom python objects.
           
               
           
            
        
            
             
              
      
                 
                
                
            
            
I went over Java's tutorial on sounds but somehow it is way too complex for a beginner.
It is here
My aim is this:
 Detect all the audio input and output devices 
 let the user select a audio input device 
 capture what the user says 
 output it to the default audio output device 
Now how do I go about doing that?
Is there a better tutorial available?
What I have tried:
import javax.sound.sampled.*;
public class SoundTrial {
    public static void main(String[] args) {
        Mixer.Info[] info = AudioSystem.getMixerInfo();
        int i =0;
        for(Mixer.Info print : info){
            System.out.println("Name: "+ i + " " + print.getName());
            i++;
        }
    }
}  
output:  
Name: 0 Primary Sound Driver
Name: 1 Speakers and Headphones (IDT High Definition Audio CODEC)
Name: 2 Independent Headphones (IDT High Definition Audio CODEC
Name: 3 SPDIF (Digital Out via HP Dock) (IDT High Definition Audio CODEC)
Name: 4 Primary Sound Capture Driver
Name: 5 Integrated Microphone Array (ID
Name: 6 Microphone (IDT High Definition
Name: 7 Stereo Mix (IDT High Definition
Name: 8 Port Speakers and Headphones (IDT Hi
Name: 9 Port SPDIF (Digital Out via HP Dock)
Name: 10 Port Integrated Microphone Array (ID
Name: 11 Port Microphone (IDT High Definition
Name: 12 Port Stereo Mix (IDT High Definition
Name: 13 Port Independent Headphones (IDT Hi
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
I am building a game that lets users remix songs. I have built a mixer (based upon the apple sample code MixerHost (creating an audioGraph with a mixer audioUnit), but expanded to load 12 tracks. everything is working fine, however it takes a really long time for the songs to load when the gamer selects the songs they want to remix. This is because the program has to load 12 separate mp4 files into memory before I can start playing the music.  
I think what I need is to create a AUFilePlayer audioUnit that is in charge of loading the file into the mixer. If the AUFilePlayer can  handle loading the file on the fly then the user will not have to wait for the files to load 100% into memory. My two questions are, 1. can an AUFilePlayer be used this way? 2. The documentation on AUFilePlayer is very very very thin. Where can I find some example code demonstrated how to implement a AUFilePlayer properly in IOS (not in MacOS)? 
Thanks
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
I am attempting to mix several different audio streams and trying to get them to play at the same time instead of one-at-a-time.  
The code below plays them one-at-a-time and I cannot figure out a solution that does not use the Java Mixer API.  Unfortunately, my audio card does not support synchronization using the Mixer API and I am forced to figure out a way to do it through code.
Please advise.
/////CODE IS BELOW////
class MixerProgram {
public static AudioFormat monoFormat;
private JFileChooser fileChooser = new JFileChooser(); 
private static File[] files;
private int trackCount;   
private FileInputStream[] fileStreams = new FileInputStream[trackCount];
public static AudioInputStream[] audioInputStream;
private Thread trackThread[] = new Thread[trackCount];
private static DataLine.Info sourceDataLineInfo = null; 
private static SourceDataLine[] sourceLine;  
public MixerProgram(String[] s)
{
  trackCount = s.length;
  sourceLine = new SourceDataLine[trackCount];
  audioInputStream = new AudioInputStream[trackCount]; 
  files = new File[s.length];
}
public static void getFiles(String[] s)
{
  files = new File[s.length];
  for(int i=0; i<s.length;i++)
  {
    File f = new File(s[i]);
    if (!f.exists()) 
    System.err.println("Wave file not found: " + filename);
    files[i] = f;
  }
}
public static void loadAudioFiles(String[] s) 
{
  AudioInputStream in = null;
  audioInputStream = new AudioInputStream[s.length];
  sourceLine = new SourceDataLine[s.length];
  for(int i=0;i<s.length;i++){
    try 
    {
      in = AudioSystem.getAudioInputStream(files[i]); 
    } 
    catch(Exception e) 
    {
      System.err.println("Failed to assign audioInputStream");
    }
    monoFormat = in.getFormat();
    AudioFormat decodedFormat = new AudioFormat(
                                              AudioFormat.Encoding.PCM_SIGNED,
                                              monoFormat.getSampleRate(), 16, monoFormat.getChannels(),
                                              monoFormat.getChannels() * 2, monoFormat.getSampleRate(),
                                              false);
  monoFormat = decodedFormat; //give back name
  audioInputStream[i] = AudioSystem.getAudioInputStream(decodedFormat, in);
  sourceDataLineInfo = new DataLine.Info(SourceDataLine.class, monoFormat);
  try 
  {
    sourceLine[i] = (SourceDataLine) AudioSystem.getLine(sourceDataLineInfo); 
    sourceLine[i].open(monoFormat);
  } 
  catch(LineUnavailableException e) 
  {
    System.err.println("Failed to get SourceDataLine" + e);
  }
}               
}
public static void playAudioMix(String[] s)
{
  final int tracks = s.length;
  System.out.println(tracks);
  Runnable playAudioMixRunner = new Runnable()
  {
    int bufferSize = (int) monoFormat.getSampleRate() * monoFormat.getFrameSize();
    byte[] buffer = new byte[bufferSize]; 
    public void run()
    {
      if(tracks==0)
        return;
      for(int i = 0; i < tracks; i++)
      {
        sourceLine[i].start();
      }        
      int bytesRead = 0;
      while(bytesRead != -1)
      {
        for(int i = 0; i < tracks; i++)
        {
          try 
          {
            bytesRead = audioInputStream[i].read(buffer, 0, buffer.length);
          } 
          catch (IOException e) {
          // TODO Auto-generated catch block
            e.printStackTrace();
          }            
          if(bytesRead >= 0)
          {
            int bytesWritten = sourceLine[i].write(buffer, 0, bytesRead);
            System.out.println(bytesWritten);
          }
        }
      }
    }
  };
  Thread playThread = new Thread(playAudioMixRunner);
  playThread.start();
}
}
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
I have a problem (and have been having it for some time now) -- the new sound mixer stack in Vista features new cool things, but also re-invents the wheel. Many applications that used to use Volume Mixer on a Windows system to mix different voiced outputs into one input (for example Wave-out + Line-in --> Stereo Mix) have since stopped working. The prime example of this behavior is the Shoutcast DSP plugin (could be useful for solution testing).
How Can I re-enable XP-mixer controls, or maybe emulate this behavior somehow, so that the program (SC DSP) can properly manage Microphone/Line-In playback volume along with Wave-out playback volume?
My thinking would be to emulate a program hooked-in into the Vista Mixer for Wave-Out and Line-out (or Mic speaker volume -- all playback, shown as separate adjustable "programs" so that the Vista Mixer could refer to it) and 'hook' it into the system under some emulation representing itself as the old volume mixer control interface for the program, but I frankly have no idea how to do that.
To clarify: this is not my PC (it is a HP Pavilion laptop). The problem seems to exist mostly due to the fact that Vista mixer controls separate programs, not separate inputs/outputs. The hardware is fully capable of doing what is needed when using Windows XP. I am well aware of the fact that this is a driver issue, but the driver is simply prepared for what Vista presents to the programmer through interfaces. The mixer device - as seen in the operating system, however it might look in software - is based on the mixer APIs for Windows Audio control.
Search using Google on Vista and line-in playback volume control for more info on the problem (and the sheer amount of users affected by it). Of course, a re-write of the Shoutcast Source DSP plug-in for WinAMP would do the trick, but that is not likely to happen...
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
What I need to do is be able to mix 4 channels of audio (not from a live source, just prerecorded audio files in the app bundle), and change their volumes individually, in real time, preferably with MP3s.  What's the best/correct road for me to take, regarding all the various sound APIs for the iPhone?
Thanks! 
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
I have two mono audio channels (pcm format) of audio call, incoming and outgoing. how to mix them? how to position them in space? (e.g. incoming channel sounds slightly on the left and outgoing on the right)
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
My PyGame mixer in 2.7 won't work with the sound option. I can make it work with mixer.music but not with mixer.sound, with mixer.sound it makes a small ticking noise and then stops. Code:
import pygame
pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=4096)
song = pygame.mixer.Sound("song.mp3")
pygame.mixer.Sound.play(song)
No error, it just won't play and gives a small ticking noise.
On windows 7-x64 btw.     
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
I want to create a YouTube video search box with the same autocomplete feature.
Any idea where can I find samples or and documentation?
Thanks
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
So I've looked a lot how to play a sound in pygame. The code underneath is how far I got. But when I run it there is no error code but also , nothing actually happens. Can somebody please tell me what to change or what code actually works? I've researched a lot but nothing helped.
import pygame
pygame.init()
pygame.mixer.music.load('file')
pygame.mixer.music.play()
pygame.quit()
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
I've set up a kAudioUnitSubType_AU3DMixerEmbedded as part of a functional AUGraph. I've set the output ASBD of the mixer to the following:
Sample Rate:              44100
Format ID:                 lpcm
Format Flags:                 C // (kAudioFormatFlagIsSignedInteger | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked)
Frames per Packet:            1
Channels per Frame:           2
Bits per Channel:            16
Bytes per Packet:             4
Bytes per Frame:              4
This audio graph works great when running on iOS 5+, but on iOS 4.3, it outputs really weird distorted sounds that sound nothing like the inputs. To better understand this, I only used one mixer input and compared the input bytes versus the output bytes. On iOS 5+, the input and output bytes were identical, as you would expect. However, on iOS 4.3, the output bytes are different. Even when I'm inputting in all 0s to the mixer (0x0000, 0x0000, ...) , the output bytes are printing out as a stream of 0x8000 0x8000.
Does anyone have any idea why the 3D mixer behaves strangely on iOS 4.3?
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
how can i mix two audio files into one file so that the resultant file can play two files simultaneously? please help.. here what i am doing is that i am taking two files and concat them into another file.. but i want the file to be played simultaneously..
    private void saveAudio1() {
    try {                                      
        AudioInputStream clip1 = AudioSystem.getAudioInputStream(file1);
        AudioInputStream clip2 = AudioSystem.getAudioInputStream(file2);
        Collection list=new ArrayList();
        AudioInputStream appendedFiles =
                new AudioInputStream(
                new SequenceInputStream(clip1, clip2),
                clip1.getFormat(),
                clip1.getFrameLength() + clip2.getFrameLength());
        if (dlgOpenFile == null) {
            dlgOpenFile = new FileDialog(this, "Save As...", FileDialog.SAVE);
        }
        if (cfgJMApps != null) {
            nameFile = cfgJMApps.getLastOpenFile();
        }
        if (nameFile != null) {
            dlgOpenFile.setFile(nameFile);
        }
        dlgOpenFile.show();
        nameFile = dlgOpenFile.getFile();
        if (nameFile == null) {
            return;
        }
        nameFile = dlgOpenFile.getDirectory() + nameFile;
        if (cfgJMApps != null) {
            cfgJMApps.setLastOpenFile(nameFile);
        }
        AudioSystem.write(appendedFiles,
                AudioFileFormat.Type.WAVE,
                new File(nameFile));
    } catch (Exception e) {
        e.printStackTrace();
    }
}
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
in Android it's currently impossible to record system-audio with the Android-SDK.
Therefore I played around a bit with TinyALSA (since Android 4) and hope I can reroute the audio-out so I can record it.
When I call "tinymix" on my device I get following configuration:
ctl     type    num     name                                     value
0       ENUM    1       DL1 Equalizer                            Flat response
1       ENUM    1       DL2 Left Equalizer                       450Hz High-pass
2       ENUM    1       DL2 Right Equalizer                      450Hz High-pass
3       ENUM    1       Sidetone Equalizer                       Flat response
4       ENUM    1       AMIC Equalizer                           High-pass 0dB
5       ENUM    1       DMIC Equalizer                           High-pass 0dB
6       INT     1       DL1 Media Playback Volume                120
7       INT     1       DL1 Tones Playback Volume                0
8       INT     1       DL1 Voice Playback Volume                120
9       INT     1       DL1 Capture Playback Volume              0
10      INT     1       DL2 Media Playback Volume                120
11      INT     1       DL2 Tones Playback Volume                0
12      INT     1       DL2 Voice Playback Volume                120
13      INT     1       DL2 Capture Playback Volume              0
14      INT     1       VXREC Media Volume                       0
15      INT     1       VXREC Tones Volume                       0
16      INT     1       VXREC Voice DL Volume                    0
17      INT     1       VXREC Voice UL Volume                    0
18      INT     1       AUDUL Media Volume                       0
19      INT     1       AUDUL Tones Volume                       0
20      INT     1       AUDUL Voice UL Volume                    120
21      INT     1       AUDUL Voice DL Volume                    0
22      INT     1       SDT UL Volume                            103
23      INT     1       SDT DL Volume                            120
24      INT     2       DMIC1 UL Volume                          120 120
25      INT     2       DMIC2 UL Volume                          120 120
26      INT     2       DMIC3 UL Volume                          120 120
27      INT     2       AMIC UL Volume                           120 120
28      INT     2       BT UL Volume                             120 120
29      BOOL    1       DL1 Mono Mixer                           Off
30      BOOL    1       DL2 Mono Mixer                           On
31      BOOL    1       AUDUL Mono Mixer                         Off
32      BOOL    1       DL1 MM_EXT Switch                        Off
33      BOOL    1       DL1 BT_VX Switch                         Off
34      BOOL    1       DL1 PDM Switch                           Off
35      BOOL    1       Sidetone Mixer Capture                   Off
36      BOOL    1       Sidetone Mixer Playback                  On
37      BOOL    1       Capture Mixer Tones                      Off
38      BOOL    1       Capture Mixer Voice Playback             Off
39      BOOL    1       Capture Mixer Voice Capture              Off
40      BOOL    1       Capture Mixer Media Playback             Off
41      BOOL    1       Voice Capture Mixer Tones Playback       Off
42      BOOL    1       Voice Capture Mixer Media Playback       Off
43      BOOL    1       Voice Capture Mixer Capture              Off
44      BOOL    1       DL2 Mixer Tones                          Off
45      BOOL    1       DL2 Mixer Voice                          Off
46      BOOL    1       DL2 Mixer Capture                        Off
47      BOOL    1       DL2 Mixer Multimedia                     On
48      BOOL    1       DL1 Mixer Tones                          Off
49      BOOL    1       DL1 Mixer Voice                          Off
50      BOOL    1       DL1 Mixer Capture                        Off
51      BOOL    1       DL1 Mixer Multimedia                     Off
52      ENUM    1       MUX_VX1                                  None
53      ENUM    1       MUX_VX0                                  None
54      ENUM    1       MUX_UL11                                 None
55      ENUM    1       MUX_UL10                                 None
56      ENUM    1       MUX_UL07                                 None
57      ENUM    1       MUX_UL06                                 None
58      ENUM    1       MUX_UL05                                 None
59      ENUM    1       MUX_UL04                                 None
60      ENUM    1       MUX_UL03                                 None
61      ENUM    1       MUX_UL02                                 None
62      ENUM    1       MUX_UL01                                 None
63      ENUM    1       MUX_UL00                                 None
64      INT     2       Capture Preamplifier Volume              1 1
65      INT     2       Capture Volume                           4 4
66      INT     2       Aux FM Volume                            3 3
67      INT     2       Headset Playback Volume                  9 9
68      INT     2       Handsfree Playback Volume                27 27
69      INT     1       Earphone Playback Volume                 11
70      ENUM    1       Headset Power Mode                       High-Performance
71      BOOL    1       Earphone Enable Switch                   Off
72      ENUM    1       HS Right Playback                        Off
73      ENUM    1       HS Left Playback                         Off
74      ENUM    1       HF Right Playback                        Off
75      ENUM    1       HF Left Playback                         Off
76      ENUM    1       Analog Right Capture Route               Off
77      ENUM    1       Analog Left Capture Route                Off
78      ENUM    1       TWL6040 Power Mode                       Low-Power
Does someone know which parameters I have to set so I can capture the playback (e.g. "multimedia") with "tinycap"?
Sadly there's no documentation available.
Kind regards,
Martin M.
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
I have a MusicPlayer that holds a MusicSequence containing 3 MusicTracks. I have set up an AUGraph with 3 AUSampler Nodes plugged into a multichannel mixer, which in turn is connected to an output node.
I am using a SoundFont, and would like my 3 different MusicTracks to play on 3 different musical instruments, as is described here. However, the code I've got doesn't work - instead, it plays only one of the parts.
I create the AUGraph as follows:
NewAUGraph (&_processingGraph);
AUNode samplerNode, samplerNodeTwo, samplerNodeThree, ioNode, mixerNode;
AudioComponentDescription cd = {};
cd.componentManufacturer     = kAudioUnitManufacturer_Apple;
//----------------------------------------
// Add 3 Sampler unit nodes to the graph
//----------------------------------------
cd.componentType = kAudioUnitType_MusicDevice;
cd.componentSubType = kAudioUnitSubType_Sampler;
AUGraphAddNode (self.processingGraph, &cd, &samplerNode);
AUGraphAddNode (self.processingGraph, &cd, &samplerNodeTwo);
AUGraphAddNode (self.processingGraph, &cd, &samplerNodeThree);
//-----------------------------------
// 2. Add a Mixer unit node to the graph
//-----------------------------------
cd.componentType          = kAudioUnitType_Mixer;
cd.componentSubType       = kAudioUnitSubType_MultiChannelMixer;
AUGraphAddNode (self.processingGraph, &cd, &mixerNode);
//--------------------------------------
// 3. Add the Output unit node to the graph
//--------------------------------------
cd.componentType = kAudioUnitType_Output;
cd.componentSubType = kAudioUnitSubType_RemoteIO;  // Output to speakers
AUGraphAddNode (self.processingGraph, &cd, &ioNode);
//---------------
// Open the graph
//---------------
AUGraphOpen (self.processingGraph);
//-----------------------------------------------------------
// Obtain the mixer unit instance from its corresponding node
//-----------------------------------------------------------
AUGraphNodeInfo (
                             self.processingGraph,
                             mixerNode,
                             NULL,
                             &mixerUnit
                             );
//--------------------------------
// Set the bus count for the mixer
//--------------------------------
UInt32 numBuses = 3;
AudioUnitSetProperty(mixerUnit,
                              kAudioUnitProperty_ElementCount,
                              kAudioUnitScope_Input,
                              0,
                              &numBuses,
                              sizeof(numBuses));
//------------------
// Connect the nodes
//------------------
AUGraphConnectNodeInput (self.processingGraph, samplerNode, 0, mixerNode, 0);
AUGraphConnectNodeInput (self.processingGraph, samplerNodeTwo, 0, mixerNode, 1);
AUGraphConnectNodeInput (self.processingGraph, samplerNodeThree, 0, mixerNode, 2);
// Connect the mixer unit to the output unit
AUGraphConnectNodeInput (self.processingGraph, mixerNode, 0, ioNode, 0);
// Obtain references to all of the audio units from their nodes
AUGraphNodeInfo (self.processingGraph, samplerNode, 0, &_samplerUnit);
AUGraphNodeInfo (self.processingGraph, samplerNodeTwo, 0, &_samplerUnitTwo);
AUGraphNodeInfo (self.processingGraph, samplerNodeThree, 0, &_samplerUnitThree);
AUGraphNodeInfo (self.processingGraph, ioNode, 0, &_ioUnit);
I then load the 3 instruments from the SoundFont (IDs 0, 1 and 2 in the SoundFont) as follows, passing in the 'bankURL' of the SoundFont:
// Load the first instrument
AUSamplerBankPresetData bpdata;
bpdata.bankURL  = (__bridge CFURLRef) bankURL;
bpdata.bankMSB  = kAUSampler_DefaultMelodicBankMSB;
bpdata.bankLSB  = kAUSampler_DefaultBankLSB;
bpdata.presetID = (UInt8) 0;
AudioUnitSetProperty(self.samplerUnit,
                              kAUSamplerProperty_LoadPresetFromBank,
                              kAudioUnitScope_Global,
                              0,
                              &bpdata,
                              sizeof(bpdata));
// Load the second instrument
AUSamplerBankPresetData bpdataTwo;
bpdataTwo.bankURL  = (__bridge CFURLRef) bankURL;
bpdataTwo.bankMSB  = kAUSampler_DefaultMelodicBankMSB;
bpdataTwo.bankLSB  = kAUSampler_DefaultBankLSB;
bpdataTwo.presetID = (UInt8) 1;
AudioUnitSetProperty(self.samplerUnitTwo,
                              kAUSamplerProperty_LoadPresetFromBank,
                              kAudioUnitScope_Global,
                              0,
                              &bpdataTwo,
                              sizeof(bpdataTwo));
// Load the third instrument
AUSamplerBankPresetData bpdataThree;
bpdataThree.bankURL  = (__bridge CFURLRef) bankURL;
bpdataThree.bankMSB  = kAUSampler_DefaultMelodicBankMSB;
bpdataThree.bankLSB  = kAUSampler_DefaultBankLSB;
bpdataThree.presetID = (UInt8) 2;
AudioUnitSetProperty(self.samplerUnitThree,
                              kAUSamplerProperty_LoadPresetFromBank,
                              kAudioUnitScope_Global,
                              0,
                              &bpdataThree,
                              sizeof(bpdataThree));
Finally, I set the AUSampler nodes to be used by each MusicTrack as follows:
//-------------------------------------------------
// Set the AUSampler nodes to be used by each track
//-------------------------------------------------
MusicTrack track, trackTwo, trackThree;
MusicSequenceGetIndTrack(testSequence, 0, &track);
MusicSequenceGetIndTrack(testSequence, 1, &trackTwo);
MusicSequenceGetIndTrack(testSequence, 2, &trackThree);
AUNode samplerNode, samplerNodeTwo, samplerNodeThree;
AUGraphGetIndNode (self.processingGraph, 0, &samplerNode);
AUGraphGetIndNode (self.processingGraph, 1, &samplerNodeTwo);
AUGraphGetIndNode (self.processingGraph, 2, &samplerNodeThree);
MusicTrackSetDestNode(track, samplerNode);
MusicTrackSetDestNode(trackTwo, samplerNodeTwo);
MusicTrackSetDestNode(trackThree, samplerNodeThree);
However, when I then play the MusicPlayer, I only hear a single part playing. The problem is arising in trying to use different instruments - when I use a single instrument with the standard MusicPlayer setup (instead of editing the AUGraph as I do above), it works fine.
Does anyone have any idea what I'm doing wrong?
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
I want to be able to change the volume of a single program just like I do with the Mixer that is embedded to Vista and Win7(I don't know about Win8). I couldn't find any sample code or reference that will get me going. I prefer to use .NET platform but C and C++ is also OK...
        Source: (StackOverflow)
                  
                 
            
                 
                
                
            
            
I am trying to write a C# code that outputs the current audio output level from each of the windows application accessing the sound output (as shown with constantly changing green bars of the Volume mixer).
The program will check every 10 ms, and outputs sth like this: Windows Media Player: 30, Mozilla Firefox: 0, Adobe Flash Player: 35 (as per the figure)
I am using Windows 7, and trying it in C# (as Java cannot achieve this).
I have found ways to get and set the Master Volume (the handle bar which shows 65% for Windows Media Player) for a running application, is there a way to get the green fluctuating level data?
Thank you!

        Source: (StackOverflow)