Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sounddevice as sd
- import numpy as np
- def play_audio_file(file_name, output_file_name, sample_rate):
- try:
- with open(file_name, 'rb') as f:
- audio_data = f.read()
- audio_array_int8 = np.frombuffer(audio_data, dtype=np.uint8)
- # Преобразование из 8 в 16 бит с добавлением нулей в старший байт
- audio_array_uint16 = audio_array_int8.astype(np.uint16) * 256
- # Преобразование из 8 в 16 бит с добавлением нулей в старший байт
- audio_data_int16 = (audio_array_int8.astype(np.int16) - 128) * 256
- audio_array_normalized = audio_array_int8 / np.max(np.abs(audio_array_int8))
- # with open(output_file_name, 'wb') as f1:
- # f1.write(audio_array_normalized)
- # Проигрываем данные
- sd.play(audio_array_normalized, samplerate=sample_rate)
- # sd.play(audio_array, samplerate=sample_rate)
- sd.wait()
- except Exception as e:
- print(f"Error: {e}")
- if __name__ == "__main__":
- file_name = 'audio_data4.raw'
- output_file_name = 'norm_audio_data.raw'
- sample_rate = 7000 # awaited sample rate
- play_audio_file(file_name, output_file_name, sample_rate)
Advertisement
Add Comment
Please, Sign In to add comment