标签: wav

在浏览器中播放wav文件的最佳方式?

我别无选择,只能直接在浏览器中播放wav文件(不幸的是,服务器端编码为mp3不是一种选择.)

最好的方法是什么?我真的很想利用HTML 5音频标签,但我的目标受众包括许多使用IE6的青少年.据我所知,闪存不是一种选择,但快速播放确实至关重要.

谢谢.

audio wav

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

如何在c#中将midi转换为wav/mp3?

我开始了一个小项目,包括使用MIDI文件.我一直在想,是否有任何C#或VB.Net代码可以实现MIDI和WAV文件之间的转换?

c# midi wav

11
推荐指数
2
解决办法
4866
查看次数

在python中更改wav文件的音量

我有一个2秒16位单通道8khz wav文件,我需要改变它的音量.

这应该是非常简单的,因为改变音量与改变信号的幅度是一样的,我只需要对它进行衰减,即将它乘以0到1之间的数字.但它不起作用:新的声音较低,但非常充满噪音.我究竟做错了什么?

这是我的代码:

import wave, numpy, struct

# Open
w = wave.open("input.wav","rb")
p = w.getparams()
f = p[3] # number of frames
s = w.readframes(f)
w.close()

# Edit
s = numpy.fromstring(s, numpy.int16) * 5 / 10  # half amplitude
s = struct.pack('h'*len(s), *s)

# Save
w = wave.open("output.wav","wb")
w.setparams(p)
w.writeframes(s)
w.close()
Run Code Online (Sandbox Code Playgroud)

感谢你们!

python audio volume wav wave

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

如何使用 Javascript 从外部 url 播放音频文件?

我有一个应用程序 (A),它向另一个应用程序 (B) 发出 ajax 请求以获取波形声音文件的链接。然后,我想使用该链接直接从我的应用程序 (A) 播放该声音文件。

我尝试创建一个新audio标签,但在控制台中出现以下错误。

在 Chrome 中

无法播放....NotSupportedError:无法加载,因为找不到支持的源。

在火狐中

无法播放....NotSupportedError: src 属性或分配的媒体提供程序对象指示的媒体资源不合适。

这是我的回调方法,它是在 ajax 请求与来自我的应用程序 (B) 的链接一起返回后触发的。

function playAudio(data) {
    if(!data || !data.DownloadUrl) {
        return;
    }

    var audio = new Audio(data.DownloadUrl);  
    audio.type = 'audio/wav';

    var playPromise = audio.play();

    if (playPromise !== undefined) {
        playPromise.then(function () {
            console.log('Playing....');
        }).catch(function (error) {
            console.log('Failed to play....' + error);
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能成功,让这个 wav 文件播放?

javascript audio wav html5-audio

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

使用SoundPlayer播放多个声音

我正在制作一个采样器程序,其中从1到9的每个键将发出不同的声音.一切正常,但当我同时按下两个(或更多)声音时,第二个"杀死"第一个声音.

我正在使用.WAV文件播放声音SoundPlayer.我怎么解决这个问题?

.net c# audio wav

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

WAV文件分析C(libsndfile,fftw3)

我正在尝试开发一个简单的C应用程序,它可以在WAV文件中的给定时间戳下在特定频率范围内给出0-100的值.

示例:我的频率范围为44.1kHz(典型的MP3文件),我想将该范围分成n个范围(从0开始).然后我需要得到每个范围的幅度,从0到100.

到目前为止我管理的内容:

使用libsndfile我现在能够读取WAV文件的数据.

infile = sf_open(argv [1], SFM_READ, &sfinfo);

float samples[sfinfo.frames];

sf_read_float(infile, samples, 1);
Run Code Online (Sandbox Code Playgroud)

但是,我对FFT的理解相当有限.但我知道为了使振幅达到我需要的范围是必需的.但是我该如何继续前进呢?我找到了FFTW-3库,它似乎适用于此目的.

我在这里找到了一些帮助:https://stackoverflow.com/a/4371627/1141483

并在这里查看了FFTW教程:http://www.fftw.org/fftw2_doc/fftw_2.html

但由于我不确定FFTW的行为,我不知道从这里开始.

另一个问题,假设您使用libsndfile:如果强制读取单引导(使用立体声文件)然后读取样本.那么你真的只会阅读总文件的一半样本吗?其中一半来自频道1,还是自动过滤出来?

非常感谢您的帮助.

编辑:我的代码可以在这里看到:

double blackman_harris(int n, int N){
double a0, a1, a2, a3, seg1, seg2, seg3, w_n;
a0 = 0.35875;
a1 = 0.48829;
a2 = 0.14128;
a3 = 0.01168;

seg1 = a1 * (double) cos( ((double) 2 * (double) M_PI * (double) n) / ((double) N - (double) 1) );
seg2 = a2 * (double) cos( …
Run Code Online (Sandbox Code Playgroud)

c fft wav libsndfile fftw

10
推荐指数
1
解决办法
7970
查看次数

在OS X上使用fluidsynth将MIDI文件转换为WAV

我正在尝试将MIDI文件转换为WAVOS X上的文件.

到目前为止,我有这个:

fluidsynth -F output_sound soundfont.sf2 note.mid
Run Code Online (Sandbox Code Playgroud)

这会创建一个output_sound文件,但是,该文件不是WAV,它似乎是sint16格式,因为我得到了这个输出:

~ $ fluidsynth -O help
FluidSynth version 1.1.6
Copyright (C) 2000-2012 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.

-O options (audio file format):
   's16'
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将终端(或任何可编写脚本的方式)转换output_soundWAV文件?

macos midi wav fluidsynth

10
推荐指数
3
解决办法
3287
查看次数

如何使用ffmpeg删除所有元数据?

我有输入文件:infile.mp3这个文件包含元数据(艺术家,流派等)我尝试删除输出wav文件的所有元数据.

是! 我找到了选项:

-map_metadata -1

但输出对我来说意外......

$ ffmpeg -i infile.mp3 -acodec pcm_s16le -ac 2 -ar 44100 -map_metadata -1 ./outfile.wav

好!

$ ffprobe outfile.wav
Input #0, wav, from 'inp.wav':
  Metadata:
    encoder         : Lavf56.25.101
  Duration: 00:04:00.47, bitrate: 1411 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
Run Code Online (Sandbox Code Playgroud)

你看?编码器元数据存在

在带有"fmt"值的"subchunk1_id"之后的wav标题中,我期望"subchunk2_id"具有"数据"值(清楚的预期示例):

$ strings outfile.wav | more
RIFFFB
WAVEfmt
data
Run Code Online (Sandbox Code Playgroud)

但它不是(LIST,INFOISFT等):

$ strings outfile.wav | more
RIFFFB
WAVEfmt 
LIST
INFOISFT
Lavf56.25.101
data
Run Code Online (Sandbox Code Playgroud)

那么..如何真正删除输出文件的所有元数据?

metadata ffmpeg wav

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

Python更改wav文件的音调

我需要任何python库来更改wav文件的音高,而无需任何原始音频数据处理。我花了几个小时才找到它,但是只发现了一些奇怪的原始数据处理代码片段和视频,它们显示了实时音调变化,但是没有源代码。

python audio wav pitch

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

媒体录音机跨浏览器以 WAV 格式保存

Media Recorder非常适合我,可以与 Mozilla 上记录的其余 Web Audio API 一起完成相当复杂的过程。然而。除非我能让它以波形格式一致地录制音频,否则它对我来说毫无用处。我曾尝试在许多浏览器上设置 MimeType,但在 Mozilla 不知情的情况下,这些浏览器似乎已被弃用,任何设置 mimeType 的尝试(即使使用此处文档中的示例)也无法在任何代码中工作。

如果有人有任何方法可以使用前端处理(不使用服务器中介)将此文件保存为波形,我将非常感激听到它。

可能值得注意的是,只要文件编码是 wav,ogg 格式以前就对我有效。这个带有源代码的示例直到几天前才在我的浏览器(Brave/Chrome)上运行,之后它开始保存为 webm 格式。

另外,值得注意的是,只要我能够在录制后使用 WebAudioAPI 获取通道数据进行处理,我就不会在这个项目中使用 MediaRecorder API。

javascript audio wav mediarecorder-api web-audio-api

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