Advertisement
WonderMelodic

Code on Windows

Apr 30th, 2025
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | Source Code | 0 0
  1. import be.tarsos.dsp.AudioDispatcher;
  2. import be.tarsos.dsp.io.jvm.AudioDispatcherFactory;
  3. import be.tarsos.dsp.WaveformSimilarityBasedOverlapAdd;
  4. import be.tarsos.dsp.WaveformSimilarityBasedOverlapAdd.Parameters;
  5. import be.tarsos.dsp.resample.RateTransposer;
  6. import be.tarsos.dsp.GainProcessor;
  7. import be.tarsos.dsp.filters.BandPass;
  8. import be.tarsos.dsp.effects.DelayEffect;
  9. import be.tarsos.dsp.io.jvm.AudioPlayer;
  10.  
  11. import javax.sound.sampled.AudioFormat;
  12. import javax.sound.sampled.LineUnavailableException;
  13.  
  14. public class ArmorVoiceModulator {
  15. public static void main(String[] args) throws LineUnavailableException {
  16.  
  17. AudioFormat format = new AudioFormat(44100f, 16, 1, true, true);
  18.  
  19.  
  20. double pitchFactor = 1.3;
  21. float gainFactor = 8.0f;
  22.  
  23.  
  24. WaveformSimilarityBasedOverlapAdd wsola =
  25. new WaveformSimilarityBasedOverlapAdd(
  26. Parameters.musicDefaults(pitchFactor, format.getSampleRate())
  27. );
  28. int bufferSize = wsola.getInputBufferSize();
  29. int overlap = wsola.getOverlap();
  30.  
  31.  
  32. AudioDispatcher dispatcher =
  33. AudioDispatcherFactory.fromDefaultMicrophone(bufferSize, overlap);
  34.  
  35.  
  36. wsola.setDispatcher(dispatcher);
  37.  
  38.  
  39. dispatcher.addAudioProcessor(wsola);
  40. dispatcher.addAudioProcessor(new RateTransposer(pitchFactor));
  41. dispatcher.addAudioProcessor(new BandPass(1500f, 2700f, format.getSampleRate()));
  42. dispatcher.addAudioProcessor(new DelayEffect(0.09f, 0.3f, format.getSampleRate()));
  43. dispatcher.addAudioProcessor(new GainProcessor(gainFactor));
  44. dispatcher.addAudioProcessor(new AudioPlayer(format));
  45.  
  46. System.out.println("Starting real-time armor voice modulator...");
  47. dispatcher.run();
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement