标签: wav

使用Java中的傅立叶变换处理音频数据

我正在尝试处理音频数据.我正在使用Java.我已将音频数据提取到数组中.现在我应该将N个数据样本传递给计算离散傅里叶变换(或快速傅里叶变换,这样更有效)的函数.我读过文档,但是我越来越困惑了.我想要计算的是幅度谱(| X(k)|).谁能帮我?谢谢

java audio fft wav

13
推荐指数
1
解决办法
2万
查看次数

如何使用afconvert将目录中的所有文件从wav转换为caf?

我有一个目录,其中有大约50个wav文件,我需要转换为caf,因为AudioServicesCreateSystemSoundID()为其中一些(但不是全部)返回错误.

以下是我成功用于单个文件的命令示例:

afconvert -f caff -d LEI16@44100 -c 1 whistle.wav whistle.caf
Run Code Online (Sandbox Code Playgroud)

如何快速完成此操作 - 不是每个文件一个接一个?

audio command-line wav afconvert caf

13
推荐指数
5
解决办法
3万
查看次数

为什么整数字节向后存储?这仅适用于标头吗?

我正在尝试破译WAV文件.从标题到PCM数据.

我找到了一个PDF(http://www.tdt.com/T2Support/technical_notes/tn0132.pdf),详细说明了WAV文件的解剖结构,我已经能够使用提取和理解相应的标题数据Ghex2.但我的问题是:

为什么整数字节向后存储?即十二月 20存储为0x14000000而不是0x00000014.

PCM数据的整数是否也向后存储?

integer header wav pcm

13
推荐指数
1
解决办法
6976
查看次数

用Java读取wav文件

我想用Java读取wav文件,我将用K-means对它们进行分类.

如何用Java读取wav文件并将它们分配到一个数组或类似的东西(你可以建议它的想法)来对它们进行分类?

编辑:我想使用API​​来读取wav文件和K-means.

java audio wav k-means

13
推荐指数
1
解决办法
4万
查看次数

如何在Android中将WAV/OGG文件转换为FLAC文件?

编辑:纳入改变的uv001的答案.

我只能发现ICS 4.0支持FLAC解码,但编码.我需要一些编码器将wav转换为flac,但是当前我找不到它.我发现有一个jFlac avaible,但我不知道如何使用这个库,只是简单地转换文件.

有人能帮我一把吗?

今天,我只是自己一些想法,使用JavaFlacEncoder.它适用于WAV的某些比特率.

我将值更改为现在正在运行的硬编码值.

/*
 * Copyright (C) 2010  Preston Lacey http://javaflacencoder.sourceforge.net/
 * All Rights Reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will …
Run Code Online (Sandbox Code Playgroud)

android wav ogg flac

13
推荐指数
1
解决办法
7348
查看次数

什么是.wav文件格式的频道?播放wav文件时,所有频道是否同时播放?

我通过谷歌搜索about.wav文件格式,我所能想到的是帧是由样本(某些定义的位深度)组成的,而wav立体声文件有多个称为通道的东西....混淆是否是一个通道是由框架组成的?播放音频文件时,所有频道都播放吗?如果一个通道由帧组成,那么所有通道的长度是否相等(按比特)?如果有人可以回答,我必须在播放波形的wav文件时单独显示每个通道

audio channel wav bit-depth

13
推荐指数
1
解决办法
1万
查看次数

如何通过javascript/html5播放wav音频字节数组?

我正在使用以下方法来播放包含wav数据的字节数组.该函数正在从GWT项目中调用.

此功能播放声音,但它听起来像某种地狱怪物.采样率肯定是正确的(声音是由neospeech生成的)我已经为numberOfSamples尝试了各种值,这似乎只代表音频数据的长度.

numberOfSamples的值大于30000将播放音频文件的全长,但它是乱码且可怕的.

那么,我做错了什么?

function playByteArray(byteArray, numberOfSamples) {
    sampleRate = 8000;

    if (!window.AudioContext) {
        if (!window.webkitAudioContext) {
            alert("Your browser does not support any AudioContext and cannot play back this audio.");
            return;
        }
        window.AudioContext = window.webkitAudioContext;
    }

    var audioContext = new AudioContext();

    var buffer = audioContext.createBuffer(1, numberOfSamples, sampleRate);
    var buf = buffer.getChannelData(0);
    for (i = 0; i < byteArray.length; ++i) {
        buf[i] = byteArray[i];
    }

    var source = audioContext.createBufferSource();
    source.buffer = buffer;
    source.connect(audioContext.destination);
    source.start(0);
}
Run Code Online (Sandbox Code Playgroud)

javascript gwt html5 wav audiocontext

13
推荐指数
2
解决办法
2万
查看次数

将little endian字符串转换为整数

我已经使用波形模块从波形文件中读取样本,但它将样本作为字符串给出,它不在波形中,因此它是小端(例如,\x00).

将此转换为python整数或numpy.int16类型的最简单方法是什么?(它最终将成为numpy.int16,所以直接进入那里很好).

代码需要适用于小端和大端处理器.

python numpy wav

12
推荐指数
2
解决办法
1万
查看次数

如何使用傅里叶变换从WAV文件中提取半精确频率

我们说我有一个WAV文件.在此文件中,是精确1秒间隔的一系列正弦音.我想使用FFTW库按顺序提取这些音调.这特别难吗?我该怎么做?

另外,将这种音调写入WAV文件的最佳方法是什么?我假设我只需要一个简单的音频库来输出.

我选择的语言是C.

c audio signal-processing wav fftw

12
推荐指数
2
解决办法
8847
查看次数

降低使用recorderjs创建的WAV文件的比特率

我正在尝试在app引擎网站上使用recorderjs,用户上传短音频录音(比如说,长达1到12秒).我注意到我上传的WAV文件比我预期的要大得多.例如,我刚刚创建了一个持续大约9秒的记录,上传的blob是1736769字节,大于1.5兆字节.

题:

如何修改recorderjs代码(或我自己的代码 - 也许我正在使用recorderjs),以便我的音频blob具有较低的比特率?我希望10秒钟的录音能够安全地低于1 MB.

我的猜测是我需要在这里修改encodeWAV函数,或者可能是exportWAV,但我不确定如何.在exportWAV中删除交错缓冲区的每个其他元素是否有意义?有更聪明的方法吗?导出的WAV的比特率如何取决于我的计算机的属性(例如我的声卡的采样率)?

如果它可能有用,我可以在我自己的代码上添加一些细节.

编辑:如果您想查看实际示例,请安装Google Chrome测试版并尝试此页面.在我的电脑上,5-10秒长的录音超过1 MB.

非常感谢,

阿德里安

audio html5 wav audio-recording recorder.js

12
推荐指数
2
解决办法
1万
查看次数