Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. import numpy as np
  2. import wave
  3. import os
  4.  
  5. import struct
  6.  
  7. from pydub import AudioSegment
  8.  
  9. BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
  10. file_DIR = BASE_DIR + "/sound/"
  11.  
  12. aiz = "00"
  13. hl_file = file_DIR + "L0e0" + aiz + "a.wav"
  14. hr_file = file_DIR + "R0e0" + aiz + "a.wav"
  15. sound_file = "sound/Fe_sp_1.wav"
  16. noise_file = "sound/W2.wav"
  17.  
  18.  
  19. def stereo2mono(src: np.array):
  20. d = (src[:, 0] + src[:, 1]) / 2
  21. return d
  22.  
  23.  
  24. def mono2stereo(dest: wave.Wave_write, src_l: str, src_r: str):
  25. duration = min(len(src_l), len(src_r))
  26. for i in range(duration):
  27. l = src_l[i]
  28. r = src_r[i]
  29. packed_value = struct.pack('<hh', np.int16(l), np.int16(r))
  30. dest.writeframes(packed_value)
  31.  
  32.  
  33. def copyWav(dest: wave.Wave_write, src):
  34. for i in src:
  35. packed_value = struct.pack('<h', np.int16(i))
  36. dest.writeframes(packed_value)
  37.  
  38.  
  39. def copyWav2(dest: wave.Wave_write, src):
  40. for i in src:
  41. packed_value = struct.pack('<hh', np.int16(i[0]), np.int16(i[1]))
  42. dest.writeframes(packed_value)
  43.  
  44.  
  45. def getWavStr(file_dir, mode):
  46. try:
  47. source = wave.open(file_dir, mode)
  48. source_raw = source.readframes(-1)
  49. source_raw = np.fromstring(source_raw, 'Int16')
  50.  
  51. print(file_dir, source.getnchannels())
  52.  
  53. return source_raw
  54. except FileExistsError as e:
  55. print(e)
  56. except FileNotFoundError as e:
  57. print(e)
  58.  
  59.  
  60. def wav2str(input_sound: wave.Wave_read):
  61. source_signal = input_sound.readframes(-1)
  62.  
  63. if input_sound.getnchannels() == 1:
  64. source_signal = np.fromstring(source_signal, 'Int16')
  65. else:
  66. source_signal = np.fromstring(source_signal, 'Int16')
  67. source_signal = np.array(np.reshape(source_signal, (input_sound.getnframes(), 2)))
  68. return source_signal
  69.  
  70.  
  71. def stereo2str(input: wave.Wave_read):
  72. source_signal = input.readframes(-1)
  73. source_signal = np.fromstring(source_signal, 'Int16')
  74.  
  75. source_signal = np.array(np.reshape(source_signal, (input.getnframes(), 2)))
  76.  
  77. return source_signal
  78.  
  79.  
  80. def incVolume(wav_path):
  81. src = AudioSegment.from_wav(file_DIR + wav_path + '.wav')
  82. src = src - 10
  83. src.export(file_DIR + wav_path + '_dec' + '.wav', format='wav')
  84.  
  85.  
  86. def decVolume(wav_path):
  87. src = AudioSegment.from_wav(file_DIR + wav_path + '.wav')
  88. src = src - 10
  89. src.export(file_DIR + wav_path + '_dec' + 'wav', format='wav')
  90.  
  91.  
  92. def synthesize(src1: np.array, src2: np.array):
  93. return src1 + src2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement