Main Content

audiowrite

오디오 파일 쓰기

설명

예제

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형 스칼라로 지정됩니다.

쓰려는 위치에 따라 filename은 다음 형식 중 하나가 될 수 있습니다.

위치

형식

현재 폴더

현재 폴더에 쓰려면 filename에 파일의 이름을 지정하십시오.

예: 'sample_audio.wav'

다른 폴더

현재 폴더가 아닌 다른 폴더에 쓰려면 filename에 전체 경로 또는 상대 경로 이름을 지정하십시오.

예: 'C:\myFolder\sample_audio.mp3'

예: 'myFolder\sample_audio.wav'

원격 위치

원격 위치에 쓰려면 filename이 다음 형식과 같이 URL(Uniform Resource Locator)로 지정된 파일의 전체 경로를 포함해야 합니다.

scheme_name://path_to_file/my_file.ext

원격 위치에 따라 scheme_name은 다음 표에 있는 값 중 하나가 될 수 있습니다.

원격 위치

scheme_name

Amazon S3™

s3

Windows Azure® Blob Storage

wasb, wasbs

HDFS™

hdfs

자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오.

예: 's3://bucketname/path_to_file/sample_audio.mp3'

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

지원하는 플랫폼

파일 형식

약어

파일 확장자

모든 플랫폼

Free Lossless Audio Codec

FLAC

.flac

MPEG-1 Audio Layer III
MPEG-2 Audio Layer III
MPEG-2.5 Audio Layer III

MP3

.mp3

OGG Vorbis

OGG

.ogg

OGG Opus

OPUS

.opus

Microsoft WAVE 사운드

WAV

.wav

Windows®Mac

MPEG-4 Part 3 AAC

MP4

.m4a
.mp4

예: 'myFile.m4a'

예: '../myFile.m4a'

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

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

Linux® 플랫폼의 경우 다음 요구 사항이 적용됩니다.

  • audiowrite를 사용하여 MP3 파일을 쓰려면 libsndfile 1.1.0 이상 버전이 설치되어 있어야 합니다. LAME MP3 인코더와 mpg123 MP3 디코더도 설치되어 있어야 합니다.

  • audiowrite를 사용하여 OPUS 파일을 쓰려면 libsndfile 1.0.29 이상 버전이 설치되어 있어야 합니다. OPUS 코덱도 설치되어 있어야 합니다.

데이터형: char | string

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

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

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

파일 형식

최대 채널 개수

WAV

1024

OGG, OPUS

255

FLAC

8

MP3, MP4

2

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

y의 데이터형

y의 유효 범위

uint8

0 ≤ y ≤ 255

int16

-32768 ≤ y ≤ +32767

int32

-2^31 ≤ y ≤ 2^31–1

single, double

-1.0 ≤ y ≤ +1.0

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

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

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

오디오 데이터 y의 샘플 레이트(단위: 헤르츠)로, 0보다 큰 양의 정수 스칼라로 지정됩니다.

  • MP3 파일에 쓸 경우 audiowrite는 48,000Hz, 44,100Hz, 32,000Hz, 24,000Hz, 22,050Hz, 16,000Hz, 12,000Hz, 11,025Hz 및 8,000Hz의 샘플 레이트만 지원합니다.

  • OPUS 파일에 쓸 경우 audiowrite는 48,000Hz, 24,000Hz, 16,000Hz, 12,000Hz 및 8,000Hz의 샘플 레이트만 지원합니다.

  • Windows 플랫폼에서 MP4 파일에 쓸 경우 audiowrite는 48,000Hz 및 44,100Hz의 샘플 레이트만 지원합니다.

예: 44100

데이터형: double

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

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

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

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

예: 'BitsPerSample',32

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

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

MP4 파일에만 사용할 수 있습니다.

예: 'BitRate',96

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

MP3 파일, OGG 파일 및 OPUS 파일에만 사용할 수 있습니다.

예: 'Quality',25

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

데이터형: char | string

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

데이터형: char | string

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

데이터형: char | string

참고

Mac 플랫폼에서 audiowrite'Title', 'Artist' 또는 'Comment' 필드를 MP4 파일에 쓰지 않습니다.

알고리즘

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

파일 형식

y의 데이터형

샘플당 출력 비트

출력 데이터형

WAV

uint8, int16, int32, single, double

8

uint8

16

int16

24

int32

uint8, int16, int32

32

int32

single, double

32

single

single, double

64

double

FLAC

uint8, int16, int32, single, double

8

int8

16

int16

24

int32

MP3, MP4, OGG, OPUS

uint8, int16, int32, single, double

N/A

single

확장 기능

버전 내역

R2012b에 개발됨

모두 확장