audiowrite
오디오 파일 쓰기
설명
예제
오디오 파일 쓰기
예제 파일 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
을 포함합니다.
입력 인수
filename
— 쓰기 작업에 사용되는 파일 이름
문자형 벡터 | string형 스칼라
쓰려는 파일의 이름 또는 파일의 전체 경로로, 파일 확장자를 포함한 문자형 벡터 또는 string형 스칼라로 지정됩니다.
쓰려는 위치에 따라 filename
은 다음 형식 중 하나가 될 수 있습니다.
위치 | 형식 | ||||||||
---|---|---|---|---|---|---|---|---|---|
현재 폴더 | 현재 폴더에 쓰려면 예: | ||||||||
다른 폴더 | 현재 폴더가 아닌 다른 폴더에 쓰려면 예: 예: | ||||||||
원격 위치 | 원격 위치에 쓰려면
원격 위치에 따라
자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오. 예: |
audiowrite
는 다음 파일 형식을 지원합니다.
지원하는 플랫폼 | 파일 형식 | 약어 | 파일 확장자 |
---|---|---|---|
모든 플랫폼 | Free Lossless Audio Codec | FLAC |
|
MPEG-1 Audio Layer III | MP3 |
| |
OGG Vorbis | OGG |
| |
OGG Opus | OPUS |
| |
Microsoft WAVE 사운드 | WAV |
| |
Windows®와 Mac | MPEG-4 Part 3 AAC | 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
y
— 쓰려는 오디오 데이터
실수 행렬
쓰려는 오디오 데이터로, m
×n
실수 행렬로 지정됩니다. 여기서 m
은 쓰려는 오디오 샘플의 개수이고 n
은 쓰려는 오디오 채널 개수입니다.
m
또는 n
이 1이면 audiowrite
는 이 차원이 오디오 채널 개수를 지정하는 것이고, 오디오 샘플 개수는 다른 차원에 지정된다고 간주합니다.
최대 채널 개수는 파일 형식에 따라 달라집니다.
파일 형식 | 최대 채널 개수 |
---|---|
WAV | 1024 |
OGG, OPUS | 255 |
FLAC | 8 |
MP3, MP4 | 2 |
y
데이터의 유효 범위는 y
의 데이터형에 따라 달라집니다.
y의 데이터형 | y의 유효 범위 |
---|---|
| 0 ≤ |
| -32768 ≤ |
| -2^31 ≤ |
| -1.0 ≤ |
유효 범위를 벗어난 데이터는 잘립니다.
y
가 single
이거나 double
인 경우 y
의 오디오 데이터는 −1.0과 1.0(구간의 끝점 포함) 사이의 값으로 정규화되어야 합니다.
데이터형: single
| double
| int16
| int32
| uint8
Fs
— 샘플 레이트
양의 정수 스칼라
오디오 데이터 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
— 샘플당 출력 비트 수
16 (디폴트 값) | 8 | 24 | 32 | 64
샘플당 출력 비트 수로, 'BitsPerSample'
과 함께 정수가 쉼표로 구분되어 지정됩니다.
FLAC 파일 및 WAV 파일에만 사용할 수 있습니다. FLAC 파일의 경우 샘플당 비트 수가 8, 16, 24 중 하나만 지원됩니다.
예: 'BitsPerSample',32
BitRate
— 초당 킬로바이트 수(kbit/s)
128 (디폴트 값) | 64 | 96 | 160 | 192 | 256 | 320
압축된 오디오 파일에 사용되는 초당 킬로바이트 수(kbit/s)로, 'BitRate'
와 함께 정수가 쉼표로 구분되어 지정됩니다. Windows 7 이상 버전의 플랫폼에서 유효한 값은 192, 160, 128, 96뿐입니다.
일반적으로 BitRate
값이 클수록 압축 품질이 높아집니다.
MP4 파일에만 사용할 수 있습니다.
예: 'BitRate',96
Quality
— 압축의 품질 설정
75 (디폴트 값) | [0, 100] 범위의 값
MP3 압축, Vorbis 압축 또는 OPUS 압축의 품질 설정으로, 'Quality'
와 함께 [0, 100] 범위 내 숫자가 쉼표로 구분되어 지정됩니다. 0으로 설정하면 품질이 낮은 대신 압축률이 높으며 100으로 설정하면 품질이 높은 대신 압축률이 낮습니다.
MP3 파일, OGG 파일 및 OPUS 파일에만 사용할 수 있습니다.
예: 'Quality',25
Title
— 제목 정보
[]
(디폴트 값) | 문자형 벡터 | string형 스칼라
제목 정보로, 'Title'
과 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.
데이터형: char
| string
Artist
— 아티스트 정보
[]
(디폴트 값) | 문자형 벡터 | string형 스칼라
아티스트 정보로, 'Artist'
와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.
데이터형: char
| string
Comment
— 추가 정보
[]
(디폴트 값) | 문자형 벡터 | string형 스칼라
추가 정보로, 'Comment'
와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.
데이터형: char
| string
참고
Mac 플랫폼에서 audiowrite
는 'Title'
, 'Artist'
또는 'Comment'
필드를 MP4 파일에 쓰지 않습니다.
알고리즘
출력 데이터형은 파일 형식, y
의 데이터형, 지정된 출력값 BitsPerSample
에 따라 결정됩니다.
파일 형식 |
| 샘플당 출력 비트 | 출력 데이터형 |
---|---|---|---|
WAV |
| 8 |
|
16 |
| ||
24 |
| ||
| 32 |
| |
| 32 |
| |
| 64 |
| |
FLAC |
| 8 |
|
16 |
| ||
24 |
| ||
MP3, MP4, OGG, OPUS |
| N/A |
|
확장 기능
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2012b에 개발됨R2023a: MP3(.mp3
) 오디오 파일 쓰기
MP3 오디오 파일을 쓸 수 있습니다.
R2022a: Opus(.opus
) 오디오 파일 쓰기
Ogg Opus 오디오 파일을 쓸 수 있습니다.
R2021b: 스레드 기반 환경 지원
MATLAB® backgroundPool
을 사용하여 백그라운드에서 audiowrite
를 실행할 수 있습니다.
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)