wav 32bit位宽转16bit

2024-06-12 18:52
文章标签 16bit wav 32bit

本文主要是介绍wav 32bit位宽转16bit,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

import torchaudio
import torchwav,sr = torchaudio.load('iter1-0-1.wav') #原音频 32bit 16k采样
wav_int16 = wav*32767
wav_int16 = wav_int16.to(torch.int16)
torchaudio.save("1.wav",wav_int16,16000)

原理:
wav * 32767:将浮点数音频数据乘以一个常数32767,这个常数是16位整数的最大值,即2^15-1。这个操作的目的是将浮点数音频数据的范围从[-1, 1]映射到[-32768, 32767],这样就可以将其转换为16位整数了。

这篇关于wav 32bit位宽转16bit的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055053

相关文章

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

030集——自动弹出对话框、选择文件并播放wav音频文件(winform窗体)——C#学习笔记

如图所示,效果如下: 步骤如下: 新建一个winform窗体,双击界面,进入代码区: 复制(下面代码中命名空间内的代码)到(你的命名空间下),运行。 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Draw

音视频入门基础:WAV专题(8)——FFmpeg源码中计算WAV音频文件AVStream的time_base的实现

一、引言 本文讲解FFmpeg源码对WAV音频文件进行解复用(解封装)时,其AVStream的time_base是怎样被计算出来的。 二、FFmpeg源码中计算WAV音频文件AVStream的time_base的实现 从《音视频入门基础:WAV专题(5)——FFmpeg源码中解码WAV Header的实现》中可以知道,FFmpeg对WAV音频文件进行解复用(解封装)时,其源码内部

C++ 读取wav文件中的PCM数据

前言 wav文件通常会使用PCM格式数据存储音频,这种格式的数据读取出来直接就可以播放,要在wav文件中读取数据,我们首先要获取头部信息,wav的文件结构里面分为多个chunk,我们要做的就是识别这些chunk的信息,获取音频的格式以及数据。 一、如何实现? 首先需要构造wav头部,wav文件音频信息全部保存在头部,我们要做的就是读取wav头部信息,并且记录PCM的相关参数。 1.定

C++ 将音频PCM数据封装成wav文件

前言 使用声音设备采集的声音数据通常是PCM数据,直接写入文件是无法播放的,通常的做法是将其封装成wav格式,这样播放器就能够识别且播放了。本文将介绍如何将PCM封装成wav的方法。 一、如何实现? 首先需要构造wav头部,wav文件音频信息全部保存在头部,我们要做的就是在PCM数据的前面加入wav头,并且记录PCM的相关参数。 1.定义头结构 只定义PCM格式的wav文件头 /

面试题七 C/C++ 两个字符串由数字组成的相加,最大不超过32bit整形的系统函数--程序员面试题

面试题: 给定两个由0-9数字组成的最长可到30个字符的字符串,请计算他们对应的整数和。允许使用字符串 转最大不超过32bit整形的系统函数。 当我看到这个面试题的时候,貌似不是第一次,所以就动手写了写。欢迎在下面留言写其他方法。也可以加入QQ群聊:83459374 好了不多说,请看代码: void calculateAdd() { string str1 = "21

uniapp开发安卓和ios播放base64音频(mp3,wav都可以),或者处理其它类型的base64数据成为url

废话不多,直接贴代码 export const base64ToFile = (base64Str, fileName, callback) => {var index = base64Str.indexOf(',')var base64Str = base64Str.slice(index + 1, base64Str.length)plus.io.requestFileSystem(plus

使用/dev/dsp的wav文件播放器源码

转载于:http://blog.csdn.net/dux003/article/details/5459423   #include #include #include #include #include void usage(const char* self) {     printf("usage:/n");     printf("/t%s [-c channels

Vue中字节流格式的 Base64编码转换为 Blob 对象保存成wav的音频文件

1、安装Vue组件FileSaver.js 库 npm install file-saver 2、使用 import { saveAs } from 'file-saver';const saveAudioToFile = (text) => {API({url: `/api/xxx/xxx?content=${text}`,method: "post",}).then(res => {le

【Java】pcm 与 wav 格式互转工具类 (附测试用例)

文章目录 1. 前言1.1 背景1.2 目标1.3 亮点 2. 用例说明3. 补充验证4. 相关链接 1. 前言 git 仓库 https://github.com/ChenghanY/pcm-wav-converter 1.1 背景 系统新接入语音引擎。 语音引擎只认 pcm 格式数据。前端只认 wav 格式 。 需要后端对 pcm 和 wav 格式实现互转,特此编写工具