Main Content

audioread

오디오 파일 읽기

설명

[y,Fs] = audioread(filename)filename이라는 파일에서 데이터를 읽고 샘플링된 데이터 y와 이 데이터의 샘플 레이트 Fs를 반환합니다.

예제

[y,Fs] = audioread(filename,samples)는 파일에서 선택한 범위의 오디오 샘플들을 읽습니다. 여기서 samples[start,finish] 형식의 벡터입니다.

예제

[y,Fs] = audioread(___,dataType)'native' 또는 'double'dataType에 해당하는 데이터 범위에서 샘플링된 데이터를 반환하며, 위에 열거된 구문의 모든 입력 인수를 포함할 수 있습니다.

예제

예제

모두 축소

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

현재 폴더에 WAVE(.wav) 파일을 만듭니다.

load handel.mat

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

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

[y,Fs] = audioread('handel.wav');

오디오를 재생합니다.

sound(y,Fs);

예제 파일 handel.mat에서 FLAC 파일을 만들어 처음 2초 부분만 읽습니다.

현재 폴더에 FLAC(.flac) 파일을 만듭니다.

load handel.mat

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

처음 2초 부분만 읽습니다.

samples = [1,2*Fs];
clear y Fs
[y,Fs] = audioread(filename,samples);

샘플을 재생합니다.

sound(y,Fs);

.flac 파일을 만들어 파일의 처음 2초 부분만 읽은 다음 네이티브 정수 형식으로 오디오를 반환합니다.

현재 폴더에 FLAC(.flac) 파일을 만듭니다.

load handel.mat
filename = 'handel.flac';
audiowrite(filename,y,Fs);

처음 2초 부분만 읽고 데이터를 지정하고 샘플링된 데이터 y의 데이터형을 확인합니다. y의 데이터형은 double입니다.

samples = [1,2*Fs];
clear y Fs
[y,Fs] = audioread(filename,samples);
whos y
  Name          Size             Bytes  Class     Attributes

  y         16384x1             131072  double              

파일의 네이티브 형식으로 오디오 데이터를 요청한 다음 샘플링된 데이터 y의 데이터형을 확인합니다. y의 새 데이터형을 확인합니다.

[y,Fs] = audioread(filename,'native');
whos y
  Name          Size             Bytes  Class    Attributes

  y         73113x1             146226  int16              

입력 인수

모두 축소

읽을 파일의 이름으로, 파일 확장자를 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다.

파일의 위치에 따라 filename은 다음 형식 중 하나가 될 수 있습니다.

현재 폴더

filename에 파일의 이름을 지정합니다.

예: 'sample_audio.wav'

다른 폴더

파일이 현재 폴더나 MATLAB® 경로의 폴더에 없는 경우, filename에 전체 경로 또는 상대 경로 이름을 지정합니다.

예: 'C:\myFolder\myFile.sample_audio.wav'

예: 'myFolder\sample_audio.mp3'

인터넷 URL

파일이 인터넷 URL(Uniform Resource Locator)로 지정된 경우, filename은 프로토콜 유형 'http://' 또는 'https://'를 포함해야 합니다.

예: 'http://hostname/path_to_file/sample_audio.mp3'

원격 위치

파일이 원격 위치에 저장된 경우, filename은 다음 형식으로 지정된 파일의 전체 경로를 포함해야 합니다.

scheme_name://path_to_file/my_file.ext

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

원격 위치scheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

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

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

예: 'myFile.mp3'

예: '../myFile.mp3'

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

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

지원하는 플랫폼파일 형식
모든 플랫폼AIFC(.aifc)
AIFF(.aiff, .aif)
AU(.au)
FLAC(.flac)
OGG(.ogg)
OPUS(.opus)
WAVE(.wav)
Windows® 7(이상), Macintosh, Linux®MP3(.mp3)
MPEG-4 AAC(.m4a, .mp4)

Windows 7 이전 버전의 Windows 플랫폼에서 audioread를 사용하면, MP3 인코딩 데이터로 구성된 WAVE 파일을 읽을 수 없습니다.

audioread를 Windows 7(이상) 플랫폼에서 사용하면 모든 Windows Media® Foundation용 파일을 읽을 수 있습니다.

audioread를 Linux 플랫폼에서 사용하면 모든 GStreamer용 파일을 읽을 수 있습니다.

audioreadWindows 7 이상, Macintosh, Linux의 MPEG-4(.mp4, .m4v) 비디오 파일과 Windows 7(이상) 및 Linux 플랫폼의 Windows Media 비디오(.wmv) 및 AVI(.avi) 파일에서 오디오를 추출할 수 있습니다.

데이터형: char | string

읽을 오디오 샘플로, [start,finish] 형식의, 요소를 2개 가진 벡터로 지정됩니다. 여기서 startfinish는 읽을 시작 샘플과 마지막 샘플을 나타내는 양의 정수 스칼라입니다.

  • startfinish보다 작거나 같아야 합니다.

  • startfinish는 파일의 오디오 샘플 개수보다 작아야 합니다.

  • inf를 사용하여 파일의 마지막 샘플을 나타낼 수 있습니다.

참고

Windows 7 또는 Windows 10 플랫폼에서 일부 MP3 파일의 일부분을 읽을 때 audioread가 자리 이동(Shifted)된 샘플 범위를 읽을 수 있습니다. 이는 기반이 되는 Windows Media Foundation 프레임워크의 제한 사항 때문입니다.

Linux 플랫폼에서 MP3 파일과 M4A 파일의 일부분을 읽을 때 audioread가 자리 이동(Shifted)된 샘플 범위를 읽을 수 있습니다. 이는 기반이 되는 GStreamer 프레임워크의 제한 사항 때문입니다.

예: [1,100]

데이터형: double

오디오 데이터 y의 데이터 형식으로, 다음 중 하나로 지정됩니다.

'double'배정밀도 정규화 샘플
'native'파일에 있는 네이티브 형식의 샘플

MP3, MPEG-4 AAC 등 정수 형태로 데이터를 저장하지 않는 압축된 오디오 형식의 경우 'native''single'로 디폴트가 설정됩니다.

데이터형: char | string

출력 인수

모두 축소

파일의 오디오 데이터로, m×n 행렬로 반환됩니다. 여기서 m은 오디오 샘플 읽기 횟수이고 n은 파일의 오디오 채널 개수입니다.

  • dataType을 지정하지 않거나 dataType'double'인 경우 ydouble 유형이며 행렬 요소는 −1.0과 1.0 사이의 정규화된 값입니다.

  • dataType'native'이면 y는 여러 MATLAB 데이터형 중 하나를 가질 수 있으며, 이는 입력 파일의 파일 형식과 BitsPerSample 값에 따라 달라집니다. 파일의 BitsPerSample 값을 확인하려면 audioinfo를 호출하십시오.

    파일 형식BitsPerSample y의 데이터형y의 데이터 범위
    WAVE(.wav)8uint80 ≤ y ≤ 255
    16int16-32768 ≤ y ≤ +32767
    24int32-2^31 ≤ y ≤ 2^31–1
    32int32-2^31 ≤ y ≤ 2^31–1
    32single-1.0 ≤ y ≤ +1.0
    64double-1.0 ≤ y ≤ +1.0
    WAVE(.wav)(u-law)8int16-32124 ≤ y ≤ +32124
    WAVE(.wav)(A-law)8int16-32256 ≤ y ≤ +32256
    FLAC(.flac)8uint80 ≤ y ≤ 255
    16int16-32768 ≤ y ≤ +32767
    24int32-2^31 ≤ y ≤ 2^31–1
    MP3(.mp3), MPEG-4 AAC(.m4a, .mp4), OGG(.ogg), OPUS(.opus) 및 압축된 특정 WAVE 파일N/Asingle-1.0 ≤ y ≤ +1.0

참고

여기서 ysingle 또는 double이며 BitsPerSample은 32 또는 64입니다. y의 값은 −1.0 또는 +1.0을 초과할 수 있습니다.

오디오 데이터 y의 샘플 레이트(단위: 헤르츠)로, 양의 스칼라로 반환됩니다.

제한 사항

  • Windows 7 이상 및 Linux 플랫폼의 MP3, MPEG-4 AAC 및 AVI 오디오 파일의 경우 audioread를 실행할 때 읽는 샘플의 개수가 예상보다 적을 수 있습니다. Windows 7 플랫폼에서 이는 기반이 되는 Media Foundation 프레임워크의 제한 사항 때문입니다. Linux 플랫폼에서 이는 기반이 되는 GStreamer 프레임워크의 제한 사항 때문입니다. 샘플을 정확하게 읽어야 할 경우 WAV 파일이나 FLAC 파일을 사용하여 작업을 실행하십시오.

  • Linux 플랫폼에서 audioread는 단일채널 데이터를 포함한 MPEG-4 AAC 파일을 스테레오 데이터로 읽습니다.

확장 기능

버전 내역

R2012b에 개발됨

모두 확장