이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

audiowrite

오디오 파일 쓰기

구문

audiowrite(filename,y,Fs)
audiowrite(filename,y,Fs,Name,Value)

설명

예제

audiowrite(filename,y,Fs)는 샘플 레이트가 Fs이며 오디오 데이터로 구성된 행렬 yfilename이라는 파일에 씁니다. filename 입력값에 따라 출력 파일 형식이 지정됩니다. 출력 데이터형은 오디오 데이터 y의 출력 파일 형식과 데이터형에 따라 달라집니다.

예제

audiowrite(filename,y,Fs,Name,Value)는 하나 이상의 Name,Value 쌍 인수로 지정된 추가 옵션을 사용합니다.

예제

모두 축소

예제 파일 handel.mat에서 WAVE 파일을 만들어 MATLAB®으로 파일을 다시 읽어 들입니다.

현재 폴더로 WAVE(.wav) 파일을 가져옵니다.

load handel.mat

filename = 'handel.wav';
audiowrite(filename,y,Fs);
clear y Fs

audioread를 사용하여 데이터를 다시 MATLAB으로 읽어 들입니다.

[y,Fs] = audioread(filename);

오디오를 듣습니다.

sound(y,Fs);

예제 파일 handel.mat에서 FLAC 파일을 만드는데 샘플당 출력 비트 수와 주석을 지정합니다.

load handel.mat

filename = 'handel.flac';
audiowrite(filename,y,Fs,'BitsPerSample',24,...
'Comment','This is my new audio file.');
clear y Fs

audioinfo 함수를 사용하여 새 FLAC 파일에 대한 정보를 확인합니다.

info = audioinfo(filename) ;

info 구조체는 정보 필드 Filename, CompressionMethod, NumChannels, SampleRate, TotalSamples, Duration, Title, Comment, Artist, BitsPerSample을 포함합니다.

입력 인수

모두 축소

쓰려는 파일의 이름 또는 파일의 전체 경로로, 파일 확장자를 포함한 문자형 벡터 또는 string형 스칼라로 지정됩니다. 경로는 절대 경로나 상대 경로로 지정할 수 있습니다. 경로를 지정하지 않으면 현재 작업 디렉터리가 대상 디렉터리로 지정됩니다.

audiowrite는 다음 파일 형식을 지원합니다.

지원하는 플랫폼파일 형식
모든 플랫폼WAVE(.wav)
OGG(.ogg)
FLAC(.flac)
Windows®MacMPEG-4 AAC(.m4a, .mp4)

예: 'myFile.m4a'

예: '../myFile.m4a'

예: 'C:\temp\myFile.m4a'

Windows에서 AAC 파일을 쓰는 경우 audiowrite는 출력 신호의 앞과 뒤를 추가적인 무음 신호(Extra Samples Of Silence)로 채웁니다. 또한 Windows AAC 인코더는 오디오에 매우 선명한 페이드 인(Fade In)과 페이드 아웃(Fade Out)을 추가합니다. 이 때문에 디스크에 쓴 후에 오디오의 샘플 개수가 늘어나게 됩니다.

데이터형: char | string

쓰려는 오디오 데이터로, mxn 행렬로 지정됩니다. 여기서 m은 쓰려는 오디오 샘플의 개수이고 n은 쓰려는 오디오 채널 개수입니다.

m 또는 n이 1이면 audiowrite는 이 차원이 오디오 채널 개수를 지정하는 것이고, 오디오 샘플 개수는 다른 차원에 지정된다고 간주합니다.

최대 채널 개수는 파일 형식에 따라 달라집니다.

파일 형식최대 채널 개수
WAVE(.wav)256
OGG(.ogg)255
FLAC(.flac)8
MPEG-4 AAC(.m4a, .mp4)2

y 데이터의 유효 범위는 y의 데이터형에 따라 달라집니다.

y의 데이터형y의 유효 범위
uint80 ≤ y ≤ 255
int16-32768 ≤ y ≤ +32767
int32-2^31 ≤ y ≤ 2^31–1
single-1.0 ≤ y ≤ +1.0
double-1.0 ≤ y ≤ +1.0

유효 범위를 벗어난 데이터는 잘립니다.

ysingle이거나 double인 경우 y의 오디오 데이터는 −1.0과 1.0(구간의 끝점 포함) 사이의 값으로 정규화되어야 합니다.

데이터형: single | double | int16 | int32 | uint8

오디오 데이터 y의 샘플 레이트(단위: 헤르츠)로, 0보다 큰 양의 스칼라로 지정됩니다. Fs의 값에서 정수 이외의 부분은 잘립니다. Windows 플랫폼에서 .m4a 파일이나 .mp4 파일에 쓸 경우 audiowrite는 44100과 48000의 샘플 레이트만 지원합니다.

예: 44100

데이터형: double

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: 'Title','Symphony No. 9','Artist','My Orchestra'가 인수로 지정되면 audiowrite는 “Symphony No. 9”를 제목으로, “My Orchestra”를 아티스트 정보로 오디오 파일에 씁니다.

샘플당 출력 비트 수로, 'BitsPerSample'과 함께 숫자가 쉼표로 구분되어 지정됩니다.

WAVE(.wav) 파일과 FLAC(.flac) 파일에만 사용할 수 있습니다. FLAC 파일의 경우 샘플당 비트 수가 8, 16, 24 중 하나만 지원됩니다.

예: 'BitsPerSample',32

압축된 오디오 파일에 사용되는 초당 킬로바이트 수(kbit/s)로, 'BitRate'와 함께 정수가 쉼표로 구분되어 지정됩니다. 정수 이외의 값은 잘립니다. Windows 7 이상 버전의 플랫폼에서 유효한 값은 96, 128, 160, 192뿐입니다.

일반적으로 BitRate 값이 클수록 압축 품질이 높아집니다.

MPEG-4(.m4a 파일과 .mp4) 파일에만 사용할 수 있습니다.

예: 'BitRate',96

Ogg Vorbis Compressor의 품질 설정으로, 'Quality'와 함께 [0 100] 범위 내 숫자가 쉼표로 구분되어 지정됩니다. 0으로 설정하면 품질이 낮은 대신 압축률이 높으며 100으로 설정하면 품질이 높은 대신 압축률이 낮습니다.

OGG(.ogg) 파일에만 사용할 수 있습니다.

예: 'Quality',25

제목 정보로, 'Title'과 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

데이터형: char | string

아티스트 정보로, 'Artist'와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

데이터형: char | string

추가 정보로, 'Comment'와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

데이터형: char | string

참고

Mac 플랫폼에서 audiowrite는 WAVE 파일, OGG 파일, FLAC 파일에만 메타데이터를 쓰고 MPEG-4 AAC 파일에는 'Title', 'Author' 또는 'Comment' 필드를 기록하지 않습니다.

알고리즘

출력 데이터형은 파일 형식, y의 데이터형, 지정된 출력값 BitsPerSample에 따라 결정됩니다.

파일 형식y의 데이터형출력값 BitsPerSample출력 데이터형
WAVE(.wav) uint8, int16, int32, single, double8uint8
16int16
24int32
uint8, int16, int3232int32
single, double32single
single, double64double
FLAC(.flac)uint8, int16, int32, single, double8int8
16int16
24int32
MPEG-4(.m4a, .mp4),
OGG(.ogg)
uint8, int16, int32, single, double해당 사항 없음single

참고 항목

|

R2012b에 개발됨