首先,这是为家庭作业或...项目.
我无法理解如何在Java中为项目绘制声音数据波的想法.我必须完全从头开始使用UI进行这项任务,所以基本上都是制作.wav文件编辑器. 我遇到的主要问题是将声音数据输入要绘制的图形中.目前,我正在绘制一个随机生成的值数组.
到目前为止,我有一个运行并验证wav文件的迷你程序实际上是一个wav文件.
我正在使用FileInputStream读取它并验证:RIFF字节(0-3),FileLength(4-7),WAVE字节(8-11),然后是格式块格式(从RIFF块的末尾开始) ;并将索引定位到它的末尾,并给出格式0-3,格式块4-7的长度,然后是波形文件的所有规范的下一个16字节,并将它们存储在适当的命名变量中.
一旦我到达DATA块并且它的长度超过了我的所有声音数据,这就是我不确定如何将每个字节存储为声音数据的字节,甚至将其转换为与振幅相关的值.声音.我认为验证是相似的,所以它会是相同的,但它似乎不是那样的...要么那么,或者我一直在使一些非常简单的事情复杂化,因为我已经盯着这几天了.
任何帮助表示赞赏谢谢.
如何使用Java将Wav文件转换为PNG波形图像文件?
java MyProgram.class [path to wav file] [path where to write png file]
Run Code Online (Sandbox Code Playgroud)
预期成绩:
保存在指定路径中的Png是传入的wav文件的波形.
我有两个音频文件,其中一个句子被两个不同的人阅读(如唱一首歌).所以他们有不同的长度.它们只是声音,没有任何乐器.
A1:音频文件1
A2:音频文件2
样本句子: "Lorem ipsum dolor sit amet,..."
我知道每个单词在A1开始和结束的时间.我需要自动找到每个单词在A2开始和结束的时间.(任何语言,最好是Python或C#)
时间以XML格式保存.所以,我可以逐字分割A1文件.那么,如何在具有不同持续时间(单词)和不同声音的另一个音频中找到单词的声音?