首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python处理wav音频文件:音频信息,读取内容,获取时长,切割音频,pcm与wav互转

主要包括:音频信息,读取内容,获取时长,切割音频,pcm与wav互转 获取音频信息: with wave.open(wav_path, "rb") as f: f = wave.open(wav_path...音频信息 采样点的个数为 2510762,采样的频率为44100HZ,通过这两个参数可以得到声音信号的时长 每个采样点是16 bit = 2 bytes ,那么将采样点的个数 25107622/...检验一声音波形的时间 child1.wav 4.78MB,时长56s time = 56.93337868480726 根据上面WAVE PCM soundfile format 的资料信息查询...,通过时间片段来获取部分音频 因为音频以毫秒计时,在截取音频时,我统统转为了毫秒 按毫秒截取 start_time = int(start_time) end_time = int(end_time)...,获取部分音频 时间的单位是毫秒 start_time = 13950 end_time = 15200 get_ms_part_wav(main_wav_path, start_time, end_time

16.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

Linux获取进程的PID

Linux系统中常常需要获取进程的pid进行一些操作,而Linux 的交互式 Shell 与 Shell 脚本存在一定的差异,主要是由于后者存在一个独立的运行进程,因此在获取进程 pid 上二者也有所区别...ps 命令ps命令是最常用的Linux命令之一,用于获取当前系统中的进程信息,ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。...交互式 Shell 获取 pid在ps命令的基础上,如果我们知道进程的name,那么可以利用grep来获取其pid(需要通过-v来过滤掉grep本身),并通过awk显示出来。...当然,Linux系统也支持直接查找:最简单的方法是使用pgrep:`pgrep -f name`如果需要查找到 pid 之后kill掉该进程,还可以使用pkill:`pkill -f name`如果是可执行程序的话...,可以直接使用pidof:`pidof name`Bash Shell 脚本获取进程 pid在使用 Shell 脚本获取进程 pid 时,如果直接使用上述命令,可能会出现多个 pid 结果,例如:#!

61510

Linux播放器开发-交叉编译Mplayer

前言 MPlayer是一款开源多媒体播放器,在主流的Linux、windows、Mac OS 都能运行,主要广泛用在Linux系统上; Mplayer不仅支持图形界面、也支持命令行播放。...如果想要主进程通过代码控制播放器完成指定一些播放操作,就可以使用从模式播放,在从模式可以通过管道与mplayer进行通信,完成视频播放加载、暂停、停止、快进、快退等功能。 2....移植libmad库 默认情况Mplayer采用自带的mp3lib库来进行mp3解码,但是ARM系列的cpu,一般都没浮点运算单元,而mplayer的mp3解码默认使用的mp3lib是浮点运算库,arm...libmad是一个开源的高精度 MPEG 音频解码库。LIBMAD提供24-bit的PCM 输出,完全是定点计算,非常适合没有浮点支持的平台上使用。...:是mplayer生成的视频播放命令 xiaomaolv.mp4 : 播放的视频的文件。

5.6K30

【音视频连载-008】基础学习篇-SDL 播放 PCM 音频文件(

接上篇 SDL 播放 PCM 音频文件,已经实现了 推 的模式去播放,接下来看看 拉 的模式如何实现。...这个函数在 拉 模式会不断回调,从而将音频数据填充给设备缓冲区。...在这个函数中我们要做的就是将读取的 PCM 音频数据传给 stream 指向的 Buffer ,而且还不能超出 len 的长度,如果超出了截断一,下次回调时传剩下的部分。...SDL_MixAudio 方法顾名思义就是混音了,将 stream 和音频数据 audio_pos 混合播放,由于一开始就将 stream 数据清空为 0 了,所以看似混音,实际上和直接播放音频数据效果一致的...最后运行一程序,就会播放出和原来 mp3 一样的音乐了。 总结 以上就是音视频基础学习连载的 008 篇。 通过两篇文章讲解了 SDL 播放音频的两种方式,后续会主要以 拉 的模式进行开发。

69810

【Android FFMPEG 开发】OpenSLES 播放音频 ( 创建引擎 | 输出混音设置 | 配置输入输出 | 创建播放器 | 获取播放队列接口 | 回调函数 | 开始播放 | 激活回调 )

OpenSLES 播放音频流程 ---- OpenSLES 播放音频流程 : 〇 视频播放操作 : FFMPEG 环境初始化 , 获取 AVStream 音视频流 , 获取 AVCodec 编解码器 ,..., 音频重采样 , 然后使用 OpenSLES 播放重采样后的音频 ; ① 创建引擎 : 先创建引擎对象 , 再实现引擎对象 , 最后从引擎对象中 , 获取引擎接口 ; SLresult result...(bqPlayerObject, SL_BOOLEAN_FALSE); ⑦ 获取播放器接口 和 缓冲队列接口 : 获取的接口 对应 播放器创建时的接口 ID 数组参数 ; // 获取播放器 Player..., &bqPlayerPlay); // 获取播放器 缓冲队列 接口 : 该接口用于控制 音频 缓冲区数据 播放 result = (*bqPlayerObject)->GetInterface(bqPlayerObject...ndk-samples/blob/master/native-audio/app/src/main/cpp/native-audio-jni.c //声明每个方法执行的返回结果 , 一般情况返回

1.1K20

一种“在 Android 设备上,播放视频的同时,获取实时音频流”的有效方案

这篇文章将会按照一般的需求开发流程,从需求、分析、开发,到总结,来给大家讲解一种“在 Android 设备上,播放视频的同时,获取实时音频流”的有效方案。...接下来的文章,我们只介绍其中的一种场景,就是我手机播放视频的时候,视频内容和视频的声音,都同步到linux系统的车机上。而且这篇文章,我们只介绍音频同步的内容。...二、分析 两个设备之间的音频同步,那就是把一个设备中的音频数据同步到另一个设备上,一方做为发送端,另一方做为接收端,发送端不停的发生音频流,接收端接收到音频流,进行实时的播放,即可实现我们想要的效果。...这对我们如何去获取视频播放时候的音频流,很有帮助。 我们先看下关于视频的播放、录音,Android给我们提供了哪些API?...那么回到文章的重点,我们需要在播放视频的时候,把视频的音频流实时的截取出来。那截取音频流的这部分工作,就可以放在AudioTrack.cpp中进行处理。

2K40

Linux使用ffmpeg播放mp3aacwav文件的音乐播放器应用

使用ffmpeg实现一个播放器?...是不是没什么新意,不过一直使用ffmpeg程序,还没有用ffmpeg代码接口实现播放器,并且还需要使用linux的alsa接口播放出声音,所以做出来还是觉得有点意思; ---- 需求:实现一个嵌入式linux...上支持mp3/aac/wav文件的播放器 实现:所以考虑基于ffmpeg 实现一个嵌入式linux播放器,这里主要应用ffmpeg的协议处理和音频解码能力,虽然网上的代码很多,不过由于版本的差异,例子程序接口存在差异...read_frame\n");             break;         }         //avcodec_send_packet/avcodec_receive_frame //解码获取初始音频...,只需要将播放路径直接给一个rtsp的地址就可以了,是不是很简单!

3.2K30

嵌入式linux如何尽快播放开机音乐

/zqbMusic kaiji.wav 就播放了。大概一秒的音乐。 那么问题就是,如何尽快播放这个开机提示音乐。 先来个简单粗暴,直接加到rcS脚本后面, #!.../zqbMusic kaiji.wav 那么就在五秒多的时候,开始播放播放完毕六秒多,打印出了"/ #",这样就比较不好了,我“/ #”之后还要启动其他应用程序呢,放音乐直接延迟了其他事情一秒多。...恩,今天想到并行,搜了一才发现这么简单,加个 & 就可以了,好东西。...不过播放音乐这个进程,抢资源还是比较多,打印“/ #”的时间比没播音乐的情况,延迟了七八百毫秒。但总比串行执行,延迟一秒多,要好些。...想了,如果在刚刚那个调用init 的父进程中,来个sleep之类的,主动让资源给zqbMusic,或者有什么小动作提一优先级,那就是当之无愧的用户空间第一快了。 再提前?

1.6K10
领券