audioread
오디오 파일 읽기
설명
예제
전체 오디오 파일 읽기
예제 파일 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
입력 인수
filename
— 읽을 파일의 이름
문자형 벡터 | string형 스칼라
읽을 파일의 이름으로, 파일 확장자를 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다.
파일의 위치에 따라 filename
은 다음 형식 중 하나가 될 수 있습니다.
현재 폴더 |
예: | ||||||||
다른 폴더 | 파일이 현재 폴더나 MATLAB® 경로의 폴더에 없는 경우, 예: 예: | ||||||||
인터넷 URL | 파일이 인터넷 URL(Uniform Resource Locator)로 지정된 경우, 예: | ||||||||
원격 위치 | 파일이 원격 위치에 저장된 경우,
원격 위치에 따라
자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오. 예: |
예: '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용 파일을 읽을 수 있습니다.
audioread
는 Windows 7 이상, Macintosh, Linux의 MPEG-4(.mp4
, .m4v
) 비디오 파일과 Windows 7(이상) 및 Linux 플랫폼의 Windows Media 비디오(.wmv
) 및 AVI(.avi
) 파일에서 오디오를 추출할 수 있습니다.
데이터형: char
| string
samples
— 읽을 오디오 샘플
[1,inf]
(디폴트 값) | 양의 정수 스칼라로 구성되고 요소를 2개 가진 벡터
읽을 오디오 샘플로, [start,finish]
형식의, 요소를 2개 가진 벡터로 지정됩니다. 여기서 start
와 finish
는 읽을 시작 샘플과 마지막 샘플을 나타내는 양의 정수 스칼라입니다.
start
는finish
보다 작거나 같아야 합니다.start
와finish
는 파일의 오디오 샘플 개수보다 작아야 합니다.inf
를 사용하여 파일의 마지막 샘플을 나타낼 수 있습니다.
참고
Windows 7 또는 Windows 10 플랫폼에서 일부 MP3 파일의 일부분을 읽을 때 audioread
가 자리 이동(Shifted)된 샘플 범위를 읽을 수 있습니다. 이는 기반이 되는 Windows Media Foundation 프레임워크의 제한 사항 때문입니다.
Linux 플랫폼에서 MP3 파일과 M4A 파일의 일부분을 읽을 때 audioread
가 자리 이동(Shifted)된 샘플 범위를 읽을 수 있습니다. 이는 기반이 되는 GStreamer 프레임워크의 제한 사항 때문입니다.
예: [1,100]
데이터형: double
dataType
— 오디오 데이터 y
의 데이터 형식
'double'
(디폴트 값) | 'native'
오디오 데이터 y
의 데이터 형식으로, 다음 중 하나로 지정됩니다.
'double' | 배정밀도 정규화 샘플 |
'native' | 파일에 있는 네이티브 형식의 샘플 |
MP3, MPEG-4 AAC 등 정수 형태로 데이터를 저장하지 않는 압축된 오디오 형식의 경우 'native'
는 'single'
로 디폴트가 설정됩니다.
데이터형: char
| string
출력 인수
y
— 오디오 데이터
행렬
파일의 오디오 데이터로, m
×n
행렬로 반환됩니다. 여기서 m
은 오디오 샘플 읽기 횟수이고 n
은 파일의 오디오 채널 개수입니다.
dataType
을 지정하지 않거나dataType
이'double'
인 경우y
는double
유형이며 행렬 요소는 −1.0과 1.0 사이의 정규화된 값입니다.dataType
이'native'
이면y
는 여러 MATLAB 데이터형 중 하나를 가질 수 있으며, 이는 입력 파일의 파일 형식과BitsPerSample
값에 따라 달라집니다. 파일의BitsPerSample
값을 확인하려면audioinfo
를 호출하십시오.파일 형식 BitsPerSample y의 데이터형 y의 데이터 범위 WAVE( .wav
)8 uint8
0 ≤ y
≤ 25516 int16
-32768 ≤ y
≤ +3276724 int32
-2^31 ≤ y
≤ 2^31–132 int32
-2^31 ≤ y
≤ 2^31–132 single
-1.0 ≤ y
≤ +1.064 double
-1.0 ≤ y
≤ +1.0WAVE( .wav
)(u-law)8 int16
-32124 ≤ y
≤ +32124WAVE( .wav
)(A-law)8 int16
-32256 ≤ y
≤ +32256FLAC( .flac
)8 uint8
0 ≤ y
≤ 25516 int16
-32768 ≤ y
≤ +3276724 int32
-2^31 ≤ y
≤ 2^31–1MP3( .mp3
), MPEG-4 AAC(.m4a
,.mp4
), OGG(.ogg
), OPUS(.opus
) 및 압축된 특정 WAVE 파일N/A single
-1.0 ≤ y
≤ +1.0
참고
여기서 y
는 single
또는 double
이며 BitsPerSample
은 32 또는 64입니다. y
의 값은 −1.0 또는 +1.0을 초과할 수 있습니다.
Fs
— 샘플 레이트
양의 스칼라
오디오 데이터 y
의 샘플 레이트(단위: 헤르츠)로, 양의 스칼라로 반환됩니다.
제한 사항
Windows 7 이상 및 Linux 플랫폼의 MP3, MPEG-4 AAC 및 AVI 오디오 파일의 경우
audioread
를 실행할 때 읽는 샘플의 개수가 예상보다 적을 수 있습니다. Windows 7 플랫폼에서 이는 기반이 되는 Media Foundation 프레임워크의 제한 사항 때문입니다. Linux 플랫폼에서 이는 기반이 되는 GStreamer 프레임워크의 제한 사항 때문입니다. 샘플을 정확하게 읽어야 할 경우 WAV 파일이나 FLAC 파일을 사용하여 작업을 실행하십시오.Linux 플랫폼에서
audioread
는 단일채널 데이터를 포함한 MPEG-4 AAC 파일을 스테레오 데이터로 읽습니다.
확장 기능
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2012b에 개발됨R2022a: Opus(.opus
) 오디오 파일 읽기
Ogg Opus 오디오 파일을 읽을 수 있습니다.
R2021b: 스레드 기반 환경 지원
MATLAB backgroundPool
을 사용하여 백그라운드에서 audioread
를 실행할 수 있습니다.
R2021a: HTTP URL 또는 HTTPS URL에서 오디오 파일 읽어오기
filename
을 프로토콜 유형 'http://'
또는 'https://'
를 포함하는 string형 또는 문자형 벡터로 지정하여 인터넷 URL에서 오디오 파일을 읽어올 수 있습니다.
R2020b: 원격 위치에서 오디오 파일 읽어오기
Amazon S3, Windows Azure Blob Storage, HDFS와 같은 원격 위치에 저장된 오디오 파일을 읽어올 수 있습니다.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)