电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

基于Python 的語音重采樣函數(shù)解析

瀏覽:75日期:2022-07-18 14:52:18

因為工作中會經常遇到不同采樣率的聲音文件的問題,特意寫了一下重采樣的程序。

原理就是把采樣點轉換到時間刻度之后再進行插值,經過測試,是沒有問題的。

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 17-7-21 下午2:32# @Author : Lei.Jinggui# @Site : http://blog.csdn.net/lccever# @File : Resample.py# @Software: PyCharm Community Edition# @contact: lccever@126.comimport numpy as npdef Resample(input_signal,src_fs,tar_fs): ’’’ :param input_signal:輸入信號 :param src_fs:輸入信號采樣率 :param tar_fs:輸出信號采樣率 :return:輸出信號 ’’’ dtype = input_signal.dtype audio_len = len(input_signal) audio_time_max = 1.0*(audio_len-1) / src_fs src_time = 1.0 * np.linspace(0,audio_len,audio_len) / src_fs tar_time = 1.0 * np.linspace(0,np.int(audio_time_max*tar_fs),np.int(audio_time_max*tar_fs)) / tar_fs output_signal = np.interp(tar_time,src_time,input_signal).astype(dtype) return output_signalif __name__ == ’__main__’: import wave import pyaudio def playSound(audio_data_short, framerate=16000, channels=1): preply = pyaudio.PyAudio() # 播放聲音 streamreply = preply.open(format=pyaudio.paInt16, channels=channels, rate=framerate, output=True) data = audio_data_short.tostring() streamreply.write(data) streamreply.close() preply.terminate() wave_file = ’test.wav’ audio_file = wave.open(wave_file, ’rb’) audio_data = audio_file.readframes(audio_file.getnframes()) audio_data_short = np.fromstring(audio_data, np.short) src_fs = audio_file.getframerate() src_chanels = audio_file.getnchannels() if src_chanels > 1: audio_data_short = audio_data_short[::src_chanels] tar_fs = np.int(src_fs * 0.5) playSound(audio_data_short,framerate=src_fs) audio_data_short0 = Resample(audio_data_short,src_fs,tar_fs) playSound(audio_data_short0,framerate=tar_fs)

補充知識:Python 多線程的退出/停止的一種是實現(xiàn)思路

在使用多線程的過程中,我們知道,python的線程是沒有stop/terminate方法的,也就是說它被啟動后,你無法再主動去退出它,除非主進程退出了,注意,是主進程,不是線程的父進程.

一個比較合理的方式就是把原因需要放到threading.Thread的target中的線程函數(shù),改寫到一個繼承類中,下面是一個實現(xiàn)例子

import threadingimport timeimport os # 原本需要用來啟動的無線循環(huán)的函數(shù)def print_thread(): pid = os.getpid() counts = 0 while True: print(f’threading pid: {pid} ran: {counts:04d} s’) counts += 1 time.sleep(1) # 把函數(shù)放到改寫到類的run方法中,便可以通過調用類方法,實現(xiàn)線程的終止class StoppableThread(threading.Thread): def __init__(self, daemon=None): super(StoppableThread, self).__init__(daemon=daemon) self.__is_running = True self.daemon = daemon def terminate(self): self.__is_running = False def run(self): pid = os.getpid() counts = 0 while self.__is_running: print(f’threading running: {pid} ran: {counts:04d} s’) counts += 1 time.sleep(1) def call_thread(): thread = StoppableThread() thread.daemon = True thread.start() pid = os.getpid() counts = 0 for i in range(5): print(f’0 call threading pid: {pid} ran: {counts:04d} s’) counts += 2 time.sleep(2) # 主動把線程退出 thread.terminate() if __name__ == ’__main__’: call_thread() print(f’==========call_thread finish===========’) counts = 0 for i in range(5): counts += 1 time.sleep(1) print(f’main thread:{counts:04d} s’)

以上這篇基于Python 的語音重采樣函數(shù)解析就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 【365公司转让网】公司求购|转让|资质买卖_股权转让交易平台 | 天津仓储物流-天津电商云仓-天津云仓一件代发-博程云仓官网 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 火锅加盟_四川成都火锅店加盟_中国火锅连锁品牌十强_朝天门火锅【官网】 | 牛皮纸|牛卡纸|进口牛皮纸|食品级牛皮纸|牛皮纸厂家-伽立实业 | 灌木树苗-绿化苗木-常绿乔木-价格/批发/基地 - 四川成都途美园林 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 九州网址_专注于提供网址大全分享推广中文网站导航服务 | 苏州伊诺尔拆除公司_专业酒店厂房拆除_商场学校拆除_办公楼房屋拆除_家工装拆除拆旧 | 高速混合机_锂电混合机_VC高效混合机-无锡鑫海干燥粉体设备有限公司 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | 济南保安公司加盟挂靠-亮剑国际安保服务集团总部-山东保安公司|济南保安培训学校 | 高清视频编码器,4K音视频编解码器,直播编码器,流媒体服务器,深圳海威视讯技术有限公司 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 心肺复苏模拟人|医学模型|急救护理模型|医学教学模型上海康人医学仪器设备有限公司 | 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 潍坊大集网-潍坊信息港-潍坊信息网 | 钢托盘,钢制托盘,立库钢托盘,金属托盘制造商_南京飞天金属制品实业有限公司 | 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 | 复合肥,化肥厂,复合肥批发,化肥代理,复合肥品牌-红四方 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 二手回收公司_销毁处理公司_设备回收公司-找回收信息网 | 楼承板-钢筋楼承板-闭口楼承板-无锡优贝斯楼承板厂 | 洛阳永磁工业大吊扇研发生产-工厂通风降温解决方案提供商-中实洛阳环境科技有限公司 | 废气处理_废气处理设备_工业废气处理_江苏龙泰环保设备制造有限公司 | 电子天平-华志电子天平厂家 | 不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰]-不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰] | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | ICP备案查询_APP备案查询_小程序备案查询 - 备案巴巴 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 铆钉机|旋铆机|东莞旋铆机厂家|鸿佰专业生产气压/油压/自动铆钉机 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 污水处理设备-海普欧环保集团有限公司 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | jrs高清nba(无插件)直播-jrs直播低调看直播-jrs直播nba-jrs直播 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 档案密集架,移动密集架,手摇式密集架,吉林档案密集架-厂家直销★价格公道★质量保证 |