当前位置:   article > 正文

python音频处理_rawaudio python

rawaudio python

第一步:先下载ffmpeg--》https://ffmpeg.zeranoe.com/builds/

下载好解压到某个文件夹,并将该文件夹中的bin目录添加到系统path。

第二步:安装pydub

pip3 install pydub

  1. # -*- coding: utf-8 -*-
  2. # @Author : FELIX
  3. # @Date : 2018/5/18 15:13
  4. from pydub import AudioSegment
  5. sound=AudioSegment.from_file("aaa.mp3","mp3")
  6. sound2=AudioSegment.from_file('bbb.mp3','mp3')
  7. # 把一个多声道音频分解成两个单声道
  8. # index[0]为左声道
  9. # index[1]为右声道
  10. # sounds=sound.split_to_mono()
  11. # print(sounds)
  12. # 将两个单声道合并成多声道
  13. # stereo_sound = AudioSegment.from_mono_audiosegments(sounds[0], sounds[1])
  14. # # 取得音频的分贝数
  15. # loudness = sound.dBFS
  16. # print(loudness)
  17. # # 获取音频音量大小,该值通常用来计算分贝数(dB= 20×lgX)
  18. # loudness = sound.rms
  19. # print(loudness)
  20. # # 取得音频的声道数
  21. # channel_count = sound.channels
  22. # print(channel_count)
  23. # # 取得音频文件采样宽度
  24. # bytes_per_sample = sound.sample_width
  25. # print(bytes_per_sample)
  26. #
  27. # # 取得音频文件采样频率
  28. # frames_per_second = sound.frame_rate
  29. # print(frames_per_second)
  30. # #取得音频文件帧宽度
  31. # bytes_per_frame = sound.frame_width
  32. # print(bytes_per_frame)
  33. #
  34. # #取得音频中的最大振幅
  35. # normalized_sound = sound.apply_gain(-sound.max_dBFS)
  36. # print(normalized_sound)
  37. # #取得音频的持续时间,同 len()
  38. # print(sound.duration_seconds)
  39. # print((len(sound) / 1000.0))
  40. # #取得音频数据
  41. # raw_audio_data = sound.raw_data
  42. # # print(raw_audio_data)
  43. # #取得音频的frame数量
  44. # number_of_frames_in_sound = sound.frame_count()
  45. # number_of_frames_in_200ms_of_sound = sound.frame_count(ms=200)
  46. # print(number_of_frames_in_sound)
  47. # print(number_of_frames_in_200ms_of_sound)
  48. # 拼接sound1与sound2,返回一个新的AudioSegment实例
  49. # cossfade:交叉渐变间隔 ms
  50. # no_crossfade1 = sound.append(sound2, crossfade=5000)
  51. # print(no_crossfade1)
  52. # no_crossfade1.export(r'cc.wav',format='wav') # 输出
  53. # 把sound2覆盖在sound1上,两个音频文件会叠加,如果sound2较长,则会被截断。
  54. # 参数:
  55. # position:覆盖起始位置(毫秒)
  56. # loop:是否循环覆盖(true/false
  57. # times:重复覆盖次数(默认1
  58. # gain_during_overlay:调整被覆盖音频的音量(eg,-6.0
  59. # played_togther = sound.overlay(sound2)
  60. # # sound2_starts_after_delay = sound.overlay(sound2, position=5000)
  61. # # volume_of_sound1_reduced_during_overlay = sound.overlay(sound2, gain_during_overlay=-8)
  62. # # sound2_repeats_until_sound1_ends = sound.overlay(sound2, loop=True)
  63. # # sound2_plays_twice = sound.overlay(sound2, times=2)
  64. # played_togther.export(r'dd.wav',format='wav') # 输出
  65. #调整音量大小
  66. # louder_via_method = sound.apply_gain(+3.5) # 提高
  67. # quieter_via_method = sound.apply_gain(-5.7) # 减小
  68. #淡出
  69. # 参数:
  70. # to_gain:淡出结束时音频音量下降到的分贝数
  71. # from_gain:设置淡出前的所有音频分贝数
  72. # start:淡出的起始位置
  73. # end:淡出的结束位置
  74. # duration:淡出持续时间
  75. # fade_in_the_hard_way = sound.fade(from_gain=-120.0, start=0, duration=5000)
  76. # fade_out_the_hard_way = sound.fade(to_gain=-120.0, end=0, duration=5000)
  77. # 反向输出
  78. # sound.reverse().export(r'ee.wav',format='wav') # 输出
  79. # 调整多声道音频的左右声道音量
  80. # 如果单声道音频调用此方法,它将先被转换为多声道
  81. # stereo_balance_adjusted = sound.apply_gain_stereo(-6, +2)
  82. #
  83. # #左右声道平衡,按百分比增大一边,减小另一边
  84. # # pan the sound 15% to the right
  85. # panned_right = sound.pan(+0.15)
  86. # # pan the sound 50% to the left
  87. # panned_left = sound.pan(-0.50)
  88. #
  89. #
  90. # # 基于DSP的渲染
  91. # # 产生一个反向信号的副本,来消除反相位波,或者降低噪音
  92. # sound.invert_phase()

 转自:http://www.cnblogs.com/felixwang2/p/9056726.html

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/967040
推荐阅读
相关标签
  

闽ICP备14008679号