标签: wav

如何在Java中将Wav文件拆分为通道?

我想编写一个Java程序将wav文件拆分为多个通道。输入将是一个wav文件,而输出将是与通道数量一样多的wav文件。我可以用Java读取wav文件,但是如何将其拆分为通道?

java audio wav

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

用于将wav编码为mp3的算法

我想创建一个程序,将一些音乐文件从wav转换为mp3.WAV应该是原始比特流并且阅读它不应该是一个大问题,但我甚至不知道从哪里开始学习如何将原始流编码为mp3.我已经阅读了如何构建mp3帧的标题,但我想知道音乐数据是如何存储的.因为我对这些东西很新,一些全面的参考或教程会很棒(也欢迎书籍).

我想指出现有的库和编解码器的使用不是一个选项,所以我需要深入了解基础并为自己做.如果您自己提供代码,我更喜欢c/c ++,但我也可以通过其他语言阅读.

mp3 encoding wav

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

精确对齐两个wav文件

我有一个工具,逐帧比较两个音频wav文件,并返回一个等级,给出两个文件之间的相似程度.

我有一个原始的wav文件和wav文件的录音,因为这两个文件几乎相似我应该得到高分相似,但我得分很差,主要是由于录制文件领先一点点延迟框架不匹配

我的问题是 - 如何使用MATLAB精确对齐两个音频文件,以便可以进行有效的帧到帧比较.

audio matlab waveform wav

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

使用delphi读取.wav文件

我现在尝试使用delphi读取.wav文件,这里是我的代码:

type
  TWaveHeader = packed record
    Marker_RIFF: array [0..3] of char;
    ChunkSize: cardinal;

    Marker_WAVE: array [0..3] of char;
    Marker_fmt: array [0..3] of char;
    SubChunkSize: cardinal;

    FormatTag: word;

    NumChannels: word;
    SampleRate: longint;
    BytesPerSecond: longint;
    BytesPerSample: word;
    BitsPerSample: word;


    Marker_data: array [0..3] of char;
    DataBytes: longint;
  end;

  TChannel = record
  Data : array of double;
end;
Run Code Online (Sandbox Code Playgroud)

一些私人移民

private
    wavehdr:TWaveHeader;
    wavedata:array[0..3]of TChannel;
    numsamples:integer;
Run Code Online (Sandbox Code Playgroud)

功能

  FillChar(wavehdr, sizeof(wavehdr), 0);
  Stream.Read(wavehdr, sizeof(wavehdr));

  { Log Header data }
  with memo1.Lines do begin
    Add('Filename : '+od.FileName);
    Add('Header size …
Run Code Online (Sandbox Code Playgroud)

delphi matlab wav delphi-7

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

在Python中导入音轨(wav或aiff)

我有AIFF格式的音轨。我想使用Python打开此音频文件,并导入声音的幅度并执行一些数学分析,例如Fourier Transform等。

  1. 这在Python中可行吗?
  2. 是否有可以让我获取音频文件的库或模块?

在整个搜索过程中,我发现了scipy.io.wavfile适用于WAV音频文件的。

  1. 还有其他库可以在Python中导入音频文件吗?
  2. AIFF文件是否有类似内容?

显然,我可以将AIFF转换为WAV文件,但如果可能的话,我想直接导入AIFF文件。

附带提出一个问题:是否存在一些更特定的(具体而言,我的意思是比Python更好的)编程语言来执行此类音频文件的分析和获取?

python audio wav aiff

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

计算wav文件的持续时间

我试图通过直接读取其二进制数据来使用c ++编辑wav文件.我写了文件的标题如下:

struct header{    
char chunk_id[4];
int chunk_size;
char format[4];
char subchunk1_id[4];
int subchunk1_size;
short int audio_format;
short int num_channels;
int sample_rate;            
int byte_rate;
short int block_align;
short int bits_per_sample;
char subchunk2_id[4];
int subchunk2_size;
 };
Run Code Online (Sandbox Code Playgroud)

现在假设标题的数据已经加载到某个变量中,如何计算声道的最大持续时间?

c++ audio wav

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

是否可以/如何以不是8的倍数的样本大小来编码WAV文件

我正在尝试从Arduino Uno的模拟输入中编码WAV文件。该analogRead(pinNumber)函数返回0到1023之间的值。然后需要将此10位值编码到WAV文件中。有一个功能map(val, inMin, inMax, outMin, outMax)可以将其调整为完整的16位值(或8位值)。但是理想情况下,如果我可以将WAV文件的样本大小简单地设置为10位,那将是完美的。我知道如何将其写入标头,但我不知道它是否会真正起作用,或者如果它不是8位的倍数,则如何实际写入数据。

如果可能的话,我假设它需要一些花哨的按位运算,但是我不知道如何使它起作用。

audio arduino wav

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

在Delphi中播放PCM Wav文件

我写了一个简单的代码,读取Wav文件的标题,然后开始播放它.这是我的代码:

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Generics.collections,
  Vcl.ExtCtrls, MMSystem;

type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    Label1: TLabel;
    Label2: TLabel;
    Shape1: TShape;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

type
  TWaveformSample = integer; // signed 32-bit; -2147483648..2147483647
  TWaveformSamples = packed array of TWaveformSample; // one channel

var
  Form1: TForm1;

  myWavFile: file;
  DataBlock: …
Run Code Online (Sandbox Code Playgroud)

delphi wav

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

如何编码WAV以与SIPp一起播放

通过研究另一个与SIPp相关的问题,我了解到现在可以使用该rtp_stream动作播放WAV文件。

我尝试了几种不同的WAV文件,但均未成功。我得到的只是一些噪音而不是预期的声音。

在提到的问题的一个评论中,有一条简单的指令将WAV文件转换为兼容格式,但效果不佳。

我也曾尝试使用sox转换此文件,但没有成功。

谁能指导我如何生成与SIPp一起使用的有效WAV文件?

这是我的recv 200 OK命令,其中包括播放音频操作:

<recv response="200" rtd="true">
  <action>
    <exec rtp_stream="sorry_dave.wav,-1" />
  </action>
</recv>
Run Code Online (Sandbox Code Playgroud)

sip wav sipp

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

在DOSBox的Sound Blaster设备上播放.wav文件

我想在assembly/8086/masm/dosbox中制作一个程序,将键盘变成各种乐器,所以我需要能够播放一些.wav文件以产生所需的声音.我知道beep char并通过声音产生声音向pc扬声器发送频率(端口41h,42h和61h),但两种方式显然不会让我在那里.

我四处搜索,发现我需要int 21h使用Sound Blaster打开文件,了解.wav格式和声音编程知识.

不幸的是我找不到任何有用的文档如何在Dosbox(或一般)中使用Sound Blaster,如果你可以帮助我解决如何在dosbox上播放.wav文件的问题,或者如果你有任何解决方法我是所有的耳朵(更准确的眼睛).

audio assembly wav microprocessors x86-16

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

标签 统计

wav ×10

audio ×6

delphi ×2

matlab ×2

aiff ×1

arduino ×1

assembly ×1

c++ ×1

delphi-7 ×1

encoding ×1

java ×1

microprocessors ×1

mp3 ×1

python ×1

sip ×1

sipp ×1

waveform ×1

x86-16 ×1