How to capture audio from specific application and route to specific audio device in Windows 7? [closed]

You cannot do it using standard user mode APIs. You need to either hook APIs or create virtual devices to accept application streams/sessions. Intercepting and postprocessing all audio streams on Windows Recording Audio Output from a Specific Program on Windows Is it possible to caputre the rendering audio session from another process? Capture audio of … Read more

Can I convert spectrograms generated with librosa back to audio?

Yes, it is possible to recover most of the signal and estimate the phase with e.g. Griffin-Lim Algorithm (GLA). Its “fast” implementation for Python can be found in librosa. Here’s how you can use it: import numpy as np import librosa y, sr = librosa.load(librosa.util.example_audio_file(), duration=10) S = np.abs(librosa.stft(y)) y_inv = librosa.griffinlim(S) And that’s how … Read more

AVAudioEngine downsample issue

An other way to do it , with AVAudioConverter in Swift 5 let engine = AVAudioEngine() func setup() { let input = engine.inputNode let bus = 0 let inputFormat = input.outputFormat(forBus: bus ) guard let outputFormat = AVAudioFormat(commonFormat: .pcmFormatFloat32, sampleRate: 8000, channels: 1, interleaved: true), let converter = AVAudioConverter(from: inputFormat, to: outputFormat) else{ return } … Read more

Playing multiple sounds using SoundManager

mSoundManager.addSound(1,R.raw.dit); mSoundManager.addSound(1,R.raw.dah); You need to change the second line to: mSoundManager.addSound(2,R.raw.dah); In order to play multiple sounds at once, first you need to let the SoundPool know that. In the declaration of SoundPool notice that I specified 20 streams. I have many guns and bad guys making noise in my game, and each has a … Read more

How to calculate the level/amplitude/db of audio signal in java?

Principally the problem seems to be that you are reading the audio data incorrectly. Specifically I’m not really sure what this excerpt is supposed to mean: if (tempBuffer[j] > tempBuffer[j+1]) … tempBuffer[j] – tempBuffer[j+1]; else … tempBuffer[j + 1] – tempBuffer[j]; But anyhow since you are recording 16-bit data the bytes in the byte array … Read more