如何用Java将wav文件分成1秒的片段?

2024-01-08

之前我有个问题:Java读取wav文件 https://stackoverflow.com/questions/5210147/reading-wav-file-in-java

首先,我想用 Java 读取一个 wav 文件并将其字节处理到一个数组中。

其次,我将删除它的沉默(这是另一个问题的主题)。

之后我会将该 wav 文件分成 1 秒的片段(我应该处理该小 wav 文件的标头问题,这是主要问题之一)

我尝试使用 Java 和该 API 读取 wav 文件,这是我上一个问题的答案。然而,使用该 API,我应该对标头执行任何操作,还是 API 本身执行此操作,以及如何使用 Java 将该 wav 文件分成 1 秒的片段。另一个 API 或其他任何东西对我来说也都可以。


您引用的 API 将返回double[]包含原始 WAV 文件中的样本数据的数组。然后,您所要做的就是创建一堆较小的数组(每个数组长一秒),然后从原始数组中的适当位置复制到每个较小的数组中(以便将所有原始数据复制到较小的数组中)。然后只需使用 API 的写入方法从每个较小的数组创建实际的 WAV 文件。

使用该 API 意味着您不必自己担心标头(这是一件好事,因为它们很容易编写,但可能读起来非常复杂)。

每个较小数组的大小取决于原始数组的格式。如果原始 WAV 文件是单声道且采样率为 44.1 KHz,则 1 秒数组将包含 44,100 个元素。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用Java将wav文件分成1秒的片段? 的相关文章

  • 在 Spring Boot 中重新加载/刷新缓存

    我正在使用 Spring Boot 对于缓存 我使用 Ehcache 到目前为止一切正常 但现在我必须重新加载 刷新 那么我该如何执行此操作 以便我的应用程序不会出现任何停机时间 我在Spring Ehcache中尝试了很多方法 但它不起作
  • 在游戏框架中编写功能测试的正确方法

    在为基于 play1 2 4 的 web 应用程序编写功能测试时 我对如何正确编码感到有点困惑 困惑在于所涉及的事务边界 我在某处读到每个测试都有自己的事务 在我的应用程序中 用户可以登录并向购物车添加一些商品 然后他可以提供一个地址 以便
  • Java - 了解 PrintWriter 和刷新的需要

    好吧 首先我对所有代码表示歉意 但我觉得代码太多总比代码不够好 我正在制作一个简单的聊天客户端和印刷机 尤其是我正在努力解决的问题 使用现在的代码 它将与服务器类交互 并且完美地打印我想要打印的内容 但是 当我删除 writer flush
  • SimpleDateFormat 无法正确处理 DD

    我正在尝试获得这样的格式 2013 06 15 17 45 我在代码中执行以下操作 Date d new Date SimpleDateFormat ft new SimpleDateFormat YYYY MM DD HH mm Stri
  • 从 Java 启动外部进程:stdout 和 stderr

    我正在使用标准从 java 启动一个外部进程java lang Process 我试图弄清楚该过程的输出是什么 但是采用结合了两者的格式stdout and stderr 目前 我有Process getInputStream它提供了访问s
  • AES BadPaddingException

    如果我使用错误的密钥或错误的盐进行解密 则会引发 BadPaddingException 我希望返回一个不正确的字符串 doFinal 导致解密方法出现异常 信息 This is just an example Unfug S F V s
  • IntelliJ Idea,如何从控制台删除java文件目录?

    当您运行文件时 它会打开控制台窗口 并且一直在顶部显示该文件所在的目录 这非常令人恼火 因为现在 为了将其他行与目录混合分开 我必须在启动任何 System out println 命令之前使用 n C Program FILEs 我想摆脱
  • Android Studio 找不到 com.android.support:support-v4:19.1.0

    我已将一个项目导入Android Studio但我收到错误 找不到 com android support support v4 19 1 0 我在哪里可以找到这个文件 我已经使用导入了项目Gradle 我有Android Studio v
  • Android Google 地图:隐藏整个地图的多边形或形状

    我试图隐藏除一个区域之外的整个地图 因为我使用的多边形在我想要显示的区域中有一个洞 问题在于 根据缩放的不同 空白区域会被多边形的颜色覆盖 或者多边形会失去其颜色 这是代码 polygon hide all world map float
  • 如何在开头时解析 json 文件

    我想解析以下 JSON 文件 但以 向我表明这是一个数组 然后继续 对象 我当前的解析器返回一个 JSON 对象 我的问题是 如何修改解析器来解析这个文件 这样解析器将为我提供其他 JSON 文件 从对象或排列开始 JSON 文件 codi
  • 添加和完成 PHP 源代码文档的工具 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个已完成的较旧的 PHP 项目 其中有很多内容 我想以 javadoc phpDocumentor
  • Java Timer 类:如果其中一个任务抛出异常,则计时器任务停止执行

    new Timer scheduleAtFixedRate new TimerTask Override public void run System out println run throw new SomeRandomExceptio
  • 使用泛型进行选择排序

    我对整数进行了选择排序并且它正在工作 当我尝试修改程序以使用泛型时 编译器会抱怨 我不知道如何修复它 如果有人能提出一些建议和建设性意见 我将不胜感激 这是代码 public class SelelctionSort public stat
  • org.apache.catalina.core.JreMemoryLeakPreventionListener 中急切调用 URLConnection 的 setDefaultUseCaches(false) 是什么原因

    这个问题可能有点难以找到答案 这是一个系列中的问题考虑使用 Policy getPolicy 的原因是什么 因为它将保留对上下文的静态引用并可能导致内存泄漏 https stackoverflow com questions 7057421
  • 飞碟 - html 实体未呈现

    我正在使用 Flying saucer lib 生成 pdf 但我对一些 html 实体有问题 我已经在寻找解决方案 我在这个论坛和其他地方找到了很多提示 但仍然存在问题 我尝试过这种方法 http sdtidbits blogspot c
  • 使用 OpenNLP 获取句子的解析树。陷入困境。

    OpenNLP 是一个关于自然语言处理的 Apache 项目 NLP 程序的目标之一是解析一个句子 并给出其语法结构的树 例如 天空是蓝色的 这句话 可能会被解析为 S NP VP The sky is blue where S是句子 NP
  • JSF - 实施受限页面过滤器

    我正在关注 BalusC 的回答JSF 2 0 如何获取在浏览器地址栏中输入的 URL https stackoverflow com questions 4105263 jsf 2 0 how to get the url that is
  • 需要同步仅增量计数器吗?

    我使用整数作为计数器 该整数只会增加 并且肯定有多个线程会同时增加它 当没有其他线程尝试访问其值时 在程序执行结束时读取该计数器的值 我假设我不必为这种仅增量计数器使用锁或任何类型的同步 这是正确的吗 如果这有什么区别的话 我用 Java
  • 从 IntelliJ 运行 JavaFX 应用程序

    Versions openjdk版本 11 0 11 2021 04 20 OpenJDK 运行时环境 build 11 0 11 9 Ubuntu 0ubuntu2 20 10 OpenJDK 64 位服务器虚拟机 内部版本 11 0 1
  • Java:如何检测(并更改?)System.console 的编码?

    我有一个在控制台上运行的程序 其变音符号和其他特殊字符在 Mac 上以 的形式输出 这是一个简单的测试程序 public static void main String args System out println h h System

随机推荐

  • 为什么 Sencha Touch 中没有同步回调?

    我希望能够在商店同步成功完成后向用户显示一条消息 但是 似乎没有任何方法可以使用回调或同步调用它 我有点惊讶这不是开箱即用的 因为这一定是一个常见问题 有什么解决方法吗 我们花了很长时间才找到适当的解决方案 最后 我们向商店的写入事件添加了
  • 如何在 FluentUI 模式控件中创建粘性(不可滚动)页眉/页脚?

    使用 React Fluent UI 模态控件 有人可以告诉我如何 确保页眉和页脚不是可滚动内容的一部分 即它们是 粘性 的 而如果窗口大小不足 位于它们之间的主要内容是可滚动的 随着内容变化 最小化模态大小的变化 即视口的窗口大小与最初一
  • 奇怪的运算符优先级与 ?? (空合并运算符)

    最近我遇到了一个奇怪的错误 我将一个字符串与一个字符串连接起来int 然后添加另一个字符串 我的代码基本上与此等效 int x 10 string s foo x 0 bar 令人惊讶的是 这将运行和编译 而不会出现警告或不兼容的类型错误
  • 转换日期 (05/12/2011 至 12th)

    我正在尝试将日期转换为日期数字 后跟 st nd rd 或 th 具体取决于日期 我是 JavaScript 新手 所以不知道从哪里开始 E g 2011 年 5 月 1 日 第一2011 年 5 月 2 日 第二次2011 年 5 月 3
  • 强制 selectize.js 仅显示以用户输入开头的选项

    我正在使用 selectize js 目前它看起来像这样 它不仅显示以 arm 开头的单词 还显示在其他位置包含 arm 作为子字符串的单词 或选项 我想强制该函数仅显示以 arm 开头的单词 或选项 我检查了使用文档https githu
  • Spark saveAsTextFile() 写入多个文件而不是一个[重复]

    这个问题在这里已经有答案了 我现在在我的笔记本电脑上使用 Spark 和 Scala 当我将 RDD 写入文件时 输出将写入两个文件 part 00000 和 part 00001 我如何强制 Spark Scala写入一个文件 我的代码目
  • 根据第二个文本文件从文本文件中删除重复项

    如何从文本文件中删除所有行 main txt 通过检查第二个文本文件 removethese txt 什么是有效的方法如果文件大于 10 100mb 使用苹果电脑 Example main txt 3 1 2 5 删除这些行 removet
  • iPhone SDK:如何创建一个在点击位置插入文本的 UITextView?

    我想创建一个 UITextView 您可以点击其中的任何位置并开始在该位置键入 该控件的默认行为是从最后一个字符结束处开始键入 因此 如果我有一个没有文本的 UITextView 并点击控件的中间 我想从那里开始输入 而不是从左上角开始 实
  • 如何合并两个大型数据集,同时在r中生成具有不同重复值的新列

    我有一个让我抓狂的问题 真的需要你的帮助 简化的问题是这样的 d1 lt data table v1 c a b c d d b a c a d b a v2 seq 1 12 V3 rep 1 4 times 3 d2 lt data t
  • Julia:为类型实现标准数学运算

    有没有办法在 julia 中为用户创建的类型实现基本算术 例如 type Foo bar Float32 foo Int32 end a Foo 3 23 23 b Foo 4 56 54 c a b 如果可能的话 我怎样才能做到这一点 提
  • 树视图闪烁,没有任何事件

    我有一个闪烁TreeView我知道这是一个常见问题 事情是TreeView没有事件 是的 我明白 当我从 a 递归添加节点时XmlDocument它有点闪烁 这是正常的 即使所有内容都加载后 我的也会闪烁 当我的鼠标悬停在节点上或单击节点时
  • SFINAE 在类型和非类型模板参数的情况下工作方式不同

    为什么这段代码有效 template lt typename T std enable if t
  • 获取数据表中某一列的行索引

    1 2 3 A B C D E F G H I System Data DataTable dt new DataTable dt Columns Add 1 dt Columns Add 2 dt Columns Add 3 dt Row
  • 在 Mercurial 中编写自定义日志关键字过滤器作为扩展

    我已经检查了有关如何编写 Mercurial 扩展的教程 我想知道如何专门为日志关键字添加过滤器 感谢帮助 我认为一个例子可以最好地解释它 from mercurial import templatefilters def upper s
  • VS2010项目依赖

    我在 VS2010 中有一个 C 项目和一个 C 项目 该项目将使用此 C 项目输出 它将其用于 p invoke 我想我可以通过编辑解决方案中的 项目依赖项 来确保 c 项目在 c 项目之前构建 但这似乎没有任何效果 我的构建服务器上的构
  • 无法在 Windows 10 上使用 docker 访问 localhost:8080

    当运行我的docker compose development yaml在我的电脑上 我无法连接到http localhost 8080 另外 我可以跑步docker compose f docker compose development
  • wpf如何绑定到DataContext存在?

    我在代码中动态设置数据上下文 我希望屏幕上的按钮能够启用 禁用 具体取决于是否DataContext null或不 当我分配 DataContext 时 我可以在代码中执行此操作 但如果我可以像这样绑定那就更好了 您应该能够使用DataTr
  • 通过 .htaccess 更改根文件夹

    我有一个与域名关联的共享托管帐户 根文件夹 如果术语错误请纠正我 设置为 以便服务器上的所有文件都是公共的 可以通过浏览器访问 我可以使用 htaccess 或其他东西将根文件夹更改为类似的内容 example com public 如果我
  • numpy 数组行专业和列专业

    我无法理解如何numpy存储其数据 考虑以下 gt gt gt import numpy as np gt gt gt a np ndarray shape 2 3 order F gt gt gt for i in xrange 6 a
  • 如何用Java将wav文件分成1秒的片段?

    之前我有个问题 Java读取wav文件 https stackoverflow com questions 5210147 reading wav file in java 首先 我想用 Java 读取一个 wav 文件并将其字节处理到一个