거리에 따른 음압레벨 변화



아래 표는 White Noise를 사용해서 거리에 따른 음압레벨 변화를 측정한 결과입니다.

 

[테스트 결과]

Position (m)

0

0.25

0.5

0.75

1

1.25

1.5

Level (dBA)

80

72

67

64

62

60

59



그리고, 아래 표는 http://www.bnoack.com 라는 곳에서 가져온 거리에 따른 음압레벨 테이블입니다.


Relationship between Distance and received Speech Level : 


Distance

0.25m

0.5m

1m

1.5m

2m

3m

Received Speech Level

70-76dB

65-71dB

58-64dB

55-61dB

52-58dB

50-56dB

(Source: Klark-Teknik, Audio System Designer)



위에 두개의 테이블을 그래프로 그려 보았습니다.

점선은 엑셀에서 지원하는 로그 추세선을 사용하였습니다.

(하늘색은 두번째 테이블의 최소값들이고, 주황색은 최대값들입니다. 그리고, 회색은 제가 측정한 값들입니다.)




반응형


블루투스 규격들






Bluetooth SIG 소개 : https://www.bluetooth.org/ko-kr/members/about-sig


Bluetooth SIG 소개

Bluetooth Special Interest Group (SIG) 는 1998년에 설립된 비상장, 비영리 협회입니다. SIG는 Bluetooth® 등록상표의 소유권을 가지며, Bluetooth 표준의 개발을 주관합니다.

Bluetooth SIG의 주요 업무는 다음과 같습니다:

  • Bluetooth 규격 출간
  • 인증 프로그램 관리
  • Bluetooth 등록상표를 보호하고
  • Bluetooth 무선 기술을 전파

Bluetooth SIG는 Bluetooth 기술이 탑재된 상품을 제조하거나 판매하지 않습니다.

Bluetooth SIG는 전세계적으로 마케팅 엔지니어링 및 조직운영 전문 직원들을 보유하고 있습니다.





오디오/비디오 : https://www.bluetooth.org/ko-kr/specification/assigned-numbers/audio-video


  • A/V 배급 전송 프로토콜 (AVDTP, A/V Distribution Protocol)
  • A/V 리모트 컨트롤 프로파일 (AVRCP, A/V Remote Control Profile)
  • 진보된 오디오 배급 프로파일 (A2DP, Advanced Audio Distribution Profile)

이 프로파일은 어떻게 멀티미디어 오디오가 하나의 디바이스에서 다른 디바이스로 블루투스 연결을 통해서 스트림될 수 있는지를 정의한다.


This profile defines how multimedia audio can be streamed from one device to another over a Bluetooth connection (so, it is also called Bluetooth Audio Streaming). For example, music can be streamed from a mobile phone, to a wireless headset, hearing aid/cochlear implant streamer, car audio, or from a laptop/desktop to a wireless headset; also, voice can be streamed from a microphone device to a recorder on a PC. The Audio/Video Remote Control Profile (AVRCP) is often used in conjunction with A2DP for remote control on devices such as headphones, car audio systems, or stand-alone speaker units. These systems often also implement Headset (HSP) or Hands-Free (HFP) profiles for telephone calls, which may be used separately.


Each A2DP service, of possibly many, is designed to uni-directionally transfer an audio stream in up to 2 channel stereo, either to or from the Bluetooth host.[2] This profile relies on AVDTP and GAVDP. It includes mandatory support for the low-complexity SBC codec (not to be confused with Bluetooth's voice-signal codecs such as CVSDM), and supports optionally MPEG-1 Part 3/MPEG-2 Part 3 (MP2 and MP3), MPEG-2 Part 7/MPEG-4 Part 3 (AAC and HE-AAC), and ATRAC, and is extensible to support manufacturer-defined codecs, such as aptX.[3]


Some Bluetooth stacks enforce the SCMS-T digital rights management (DRM) scheme. In these cases, it is impossible to connect certain A2DP headphones for high quality audio.


  • 비디오 배급 프로파일 (VDP, Video Distribution Profile)


반응형


고급 리눅스 사운드 아키텍처(Advanced Linux Sound Architecture, ALSA)


네이버, 다음 등에서 ALSA를 검색해 보면, 관련 글을 찾기 어렵네요. 

Google에서도 영어로 된 글은 쫌 있습니다만, 우리말로 된 글은 찾기 힘드네요. ㅠㅠ

그래서, 시간 날 때마다 조금씩 적어 볼까합니다.


우선, https://ko.wikipedia.org/wiki에는 아래와 같이 ALSA를 소개하고 있네요.


고급 리눅스 사운드 아키텍처(Advanced Linux Sound Architecture, ALSA)는 사운드 카드용 장치 드라이버를 제공하기 위한 리눅스 커널의 구성 요소이다. ALSA 프로젝트의 목표들 가운데 하나는 사운드 카드 하드웨어를 자동으로 구성하고 시스템에 여러 개의 사운드 장치를 멋지게 관리하는 것이다. JACK과 같은 두 개의 다른 프레임워크들은 ALSA를 사용하여 낮은 레이턴시로 고급 수준의 오디오 편집과 소리 조절을 수행할 수 있게 한다. Jaroslav Kysela가 이끄는 이 프로젝트는 1998년의 그레비스 울트라사운드 사운드 드라이버용 리눅스 장치 드라이버로 처음 시작하였으며 2002년에 2.5 개발 버전(2.5.4-2.5.5) 이후부터 리눅스 커널로부터 떨어져나온 뒤에 계속 개발되고 있다. 2.6 버전부터 이전 시스템인 오픈 사운드 시스템(OSS)을 기본으로 대체하고 있다.


원저자: Jaroslav Kysela

개발자: ALSA team

발표일: 1998

최근 버전: 1.1.1 / 2016년 03월 31일

프로그래밍 언어: C

운영 체제: 리눅스

종류: 오디오

라이선스: GPL 및 LGPL

웹사이트: www.alsa-project.org




ALSA PCM interface 메인 웹사이트는 아래와 같다.




위 링크의 ALSA PCM interface 메인 페이지를 열면 아래와 같이 PCM에 대한 기본 설명이 있습니다.


PCM (digital audio) interface


Although abbreviation PCM stands for Pulse Code Modulation, we are understanding it as general digital audio processing with volume samples generated in continuous time periods.


The analog signal is recorded via analog to digital converters (ADC). The digital value (de-facto a volume at a specific time) obtained from ADC can be further processed. The following picture shows a perfect sinus waveform:



Next image shows digitized representation:




As you may see, the quality of digital audio signal depends on the time (recording rate) and voltage resolution (usually in an linear integer representation with basic unit one bit).


The stored digital signal can be converted back to voltage (analog) representation via digital to analog converters (DAC).


One digital value is called sample. More samples are collected to frames (frame is terminology for ALSA) depending on count of converters used at one specific time. One frame might contain one sample (when only one converter is used - mono) or more samples (for example: stereo has signals from two converters recorded at same time). Digital audio stream contains collection of frames recorded at boundaries of continuous time periods.



PCM 이란?


위의 설명에서와 같이, PCM은 Pulse Code Modulation의 약자이고, 아날로그인 음성/소리 신호를 디지털 신호로 변경하는 대표적인 방법입니다.

아날로그를 디지털로 변경해 주는 것을 ADC (Analog to Digital Converter)라고 부르고, 디지털 신호를 아날로그 신호도 다시 복원해 주는 것을 DAC (Digital to Analog Converter)라 합니다.



Sample, Sampling, Sampling rate 란?


아날로그 신호를 디지털로 신호 바꾸기 위해서, 일정한 주기로 신호의 값을 읽어서, 일련의 디지털 값들로 나열하게 됩니다.

이 때, 만들어지는 하나의 디지털 값을 sample이라 하고, 이렇게 sample들을 만드는 과정을 sampling이라고 하며, sampling을 하지는 주기를 sampling rate라고 부릅니다.


(위의 설명에는 없지만, Nyquist–Shannon sampling theorem에서 sampling rate는 원음에서 사용하는 주파수 대역보다 최소한 2배이상이여만 합니다. 그렇지 않을 경우에는 원음으로 복원할 때, 왜곡이 발생하게 됩니다. 

최소한 2배이상이면, 원음에 가까운 음원을 복원할 수 있기는 하지만, sample들의 중간값들은 보간법[interpolation , 補間法]으로 채워야 하기 때문에, 고품질을 원하는 시스템에서는 원음에 보다 더 가깝게 복원하기 위해서 2배보다 더 빠르게 over sampling을 합니다.)



ALSA에서 frame 이란?


sample들이 모여서 frame이 됩니다.

ALSA에서 mono인 경우에는 하나의 frame이 하나의 sample을 가집니다.

(예를들어, stereo의 경우에는 하나의 frame이 두개의 sample을 가질 수 있습니다.)


ALSA API 설명에서 대부분 기본 단위로 frame을 사용하고 있기 때문에, frame이라는 용어를 정확하게 이해를 하고 있는 것이 중요하다고 생각합니다. 

예를 들어, 기본적으로 16bit PCM이 많이 사용되는데, Mono 이고 16bit PCM인 경우라면, 하나의 frame은 2byte가 됩니다.



FramesPeriods


A frame is equivalent of one sample being played, irrespective of the number of channels or the number of bits. e.g.

  • 1 frame of a Stereo 48khz 16bit PCM stream is 4 bytes.
  • 1 frame of a 5.1 48khz 16bit PCM stream is 12 bytes.

A period is the number of frames in between each hardware interrupt. The poll() will return once a period.

The buffer is a ring buffer. The buffer size always has to be greater than one period size. Commonly this is 2*period size, but some hardware can do 8 periods per buffer. It is also possible for the buffer size to not be an integer multiple of the period size.

Now, if the hardware has been set to 48000Hz , 2 periods, of 1024 frames each, making a buffer size of 2048 frames. The hardware will interrupt 2 times per buffer. ALSA will endeavor to keep the buffer as full as possible. Once the first period of samples has been played, the third period of samples is transfered into the space the first one occupied while the second period of samples is being played. (normal ring buffer behaviour).


Additional example


Here is an alternative example for the above discussion.

Say we want to work with a stereo, 16-bit, 44.1 KHz stream, one-way (meaning, either in playback or in capture direction). Then we have:

  • 'stereo' = number of channels: 2
  • 1 analog sample is represented with 16 bits = 2 bytes
  • 1 frame represents 1 analog sample from all channels; here we have 2 channels, and so:
    • 1 frame = (num_channels) * (1 sample in bytes) = (2 channels) * (2 bytes (16 bits) per sample) = 4 bytes (32 bits)
  • To sustain 2x 44.1 KHz analog rate - the system must be capable of data transfer rate, in Bytes/sec:
    • Bps_rate = (num_channels) * (1 sample in bytes) * (analog_rate) = (1 frame) * (analog_rate) = ( 2 channels ) * (2 bytes/sample) * (44100 samples/sec) = 2*2*44100 = 176400 Bytes/sec

(출처 : https://www.alsa-project.org/main/index.php/FramesPeriods)



(그림 출처 : http://www.linuxjournal.com/node/6735/print)










반응형


Frequency sweep wave 파일 만들기



주파수 특성을 확인하기 위해서, Frequency sweep test를 해야 하는 경우가 있죠.

이럴 때, Frequency sweep wave 파일이 있다면 좀 더 테스트가 편리하겠죠.


인터넷을 검색해 보니, Frequency sweep wave 파일을 유료로 판매하는 싸이트는 쉽게 찾을 수 있지만,

무료로 제공하는 싸이트는 찾기가 쉽지 않네요.


그래서, Audition 툴을 이용해서 Frequency sweep wave 파일을 생성하였습니다.


1. Generate > Tones... 선택



2. Sample Rate / Channels / Resolution 선택 후 OK.



3-1. Presets에서 "A 440(default)" 선택

3-2. Lock to these settings only 항목 Check 해제

3-3. Base Frequency에 0 입력

3-4. dB Volume 필요에 따라 조절



4-1. "Final Settings" 탭 선택

4-2. Base Frequency에 16000 입력후 OK !



5. 0kHz ~ 16kHz Frequency sweep wave가 생성되었습니다.



6. "Spectral Frequency Display" 아이콘 선택. 0kHz ~ 16kHz Frequency sweep wave가 잘 생성되었음을 확인할 수 있습니다.



7. "Save As" 메뉴를 선택해서, Windows Wave파일로 저장.




Audition 툴이 없는 분은 위해, 생성된 파일을 아래에 첨부했습니다.


16KHz_Sweep.zip



반응형


스마트 음성인식 시장의 기업별 시장 점유율에 관한 기사가 있네요.



[기업별 시장 점유율] (국음성산업연맹 발표)


(미국 기업)


뉘앙스 커뮤니케이션 : 31.6%

구글 : 28.4%

애플 : 15.4%

마이크로소프트(MS) : 8.1%

IBM : 4.1%


(중국 기업) 


아이플라이테크(iFLYTEK) : 4.5% 




미국 5개사, 스마트 음성인식 시장 80% 이상 장악


빅데이터와 클라우드 컴퓨팅 등 산업이 발전함에 따라 스마트음성을 응용한 기술 수요도 함께 증가하고 있다.


11일 중국음성산업연맹에 따르면 오는 2017년 세계 스마트음성산업은 105억달러(약 12조3000억원)까지 커질 것이란 전망이다. 중국음성산업연맹에 따르면 지난해 세계 스마트음성시장에서 미국의 5개 기업이 점유율 80% 이상을 차지하고 있는 것으로 나타났다. 기업별 시장 점유율은 뉘앙스 커뮤니케이션이 31.6%로 1위를 차지했으며 구글이 28.4%로 뒤를 이었다. 


음성인식 시스템 시리를 개발해 일찌감치 시장에 뛰어든 애플은 15.4%, 마이크로소프트(MS)와 IBM은 각각 8.1%와 4.1% 점유율을 보였다. 삼성전자 S보이스와 LG전자 Q보이스 개발에 참여한 것으로 알려진 중국 기업 아이플라이테크(iFLYTEK)는 시장점유율 4.5%를 차지했다. 아이플라이테크는 미국 기업 외에 유일하게 순위권에 이름을 올렸다. 국내 기업은 큰 점유율을 차지하지 못하고 있다.


(기사 출처 및 전체 기사 보기 : http://www.dt.co.kr)


반응형


AUDACITY : 오디오 편집/녹음 Free 유틸


A free audio editor and recorder.


아래 주소에서 받을 수 있습니다.





저는 Windows 사용자이기 때문에, Audacity 2.1.2 installer (25.3 MB, includes help files)를 내려 받았습니다.

내려받은 인스톨러를 실행하면, 설치할 언어를 선택하면, 아래와 같은 화면이 뜨며, 특별한 어려움 없이 인스톨이 됩니다.




실행하면 아래와 같은 화면 뜹니다.



반응형


블루투스 음성인식 활성화/비활성화에 대한 스펙 문서은 아래 링크에서 다운 받을 수 있습니다. 




아래 두개의 그림은 블루트스 프로파일 스트럭쳐와 프로파일의 종속 관계를 설명하고 있는데,


첫번째 그림은 1.5 스펙에 있는 그림이고, 두번째 그림은 1.6 스펙에 있는 그림입니다. 복잡하네요... ㅠㅠ



[1.5 스펙 Bluetooth profiles 그림]



[1.6 스펙 Bluetooth profiles 그림]



아래 글은 en.wikipedia.org에 Hands-Free Profile (HFP) 관련 설명 중 일부입니다.


1.6 버전에는 mSBC codec을 사용한 wide band speech (16Khz 모노 음성)가 옵션 사항으로 추가되었다고 하는 군요.


이것은, 기존에 BT 음성인식은 8Khz 모노만 지원되었었는데, 


1.6 버전에서는 BT 음성인식에서 16Khz 모노가 Optional로 지원 가능하도록 하였다는 의미겠군요...


Currently in version 1.6, this is commonly used to allow car hands-free kits to communicate with mobile phones in the car. It commonly uses Synchronous Connection Oriented link (SCO) to carry a monaural audio channel with continuously variable slope delta modulation or pulse-code modulation, and with logarithmic a-law or μ-law quantization. Version 1.6 adds optional support for wide band speech with the mSBC codec, a 16 kHz monaural configuration of the SBC codec mandated by the A2DP profile.


 (출처: https://en.wikipedia.org/wiki/List_of_Bluetooth_profiles)



스펙 내용중에서... 


음성인식 활성화와 비활성화 (Voice Recognition Activation/Deactivation)에 대한 내용만 간단하게 살펴보자면...


우선, Audio Gate (AG)Hands-Free unit (HF)에 정의에 대해서 기술되어 있습니다.


AG는 일반적으로 핸드폰이고, HFBT 디바이스HF가 설치된 차량에 해당합니다.


[핸즈프리의 전형적인 예]



The following roles are defined for this profile: 


Audio Gateway(AG) – This is the device that is the gateway of the audio, both for input and output. Typical devicesacting as Audio Gateways are cellular phones


Hands-Free unit (HF) – This is the device acting as the Audio Gateway’s remote audio input and output mechanism. It also providessome remote control means.  



블루투스 관련 AT 커멘드는 여러가지가 있지만,


그 중에서, 음성인식 활성화/비활성화 관련 커멘드는 "AT+BVRA=0", "AT+BVRA=1" 등이 있고, 


결과 코드로 "+BVRA:0", "+BVRA:1" 등이 있습니다.


4.33.3 Bluetooth Defined AT Capabilities


The new Bluetooth specific AT capabilities are listed below: 


AT+BVRA (Bluetooth Voice Recognition Activation) 

Syntax: AT+BVRA=<vrec> 

Description: 

Enables/disables the voice recognition function in the AG. 

Only support for execution command is mandated. Neither the read nor test commands are mandatory. 

Values: 

<vrec>: 0, 1, entered asinteger values, where 

0 = Disable Voice recognition in the AG, 1 = Enable Voice recognition in the AG 


+BVRA (Bluetooth Voice Recognition Activation)

Syntax: +BVRA: <vrect> 

Description: 

Unsolicited result code used to notify the HF when the voice recognition function in the AG is activated/deactivated autonomously from the AG. 

The unsolicited +BVRA:1 result code shall not be sent by the AG to the HF if the corresponding voice recognition activation has been initiated by the HF. Likewise, the unsolicited +BVRA:0 result code shall not be sent by the 

AG to the HF if the corresponding voice recognition deactivation has been initiated by the HF, regardless of which side initiated the voice recognition activation. 

Values: 

<vrect>: 0, entered as integer value, where 

0 = Voice recognition is disabled in the AG, 1 = Voice recognition is enabled in the AG 



음성인식 활성화는,


첫번째, HF(BT 디바이스) 쪽에서 AT+BVRA 명령어를 사용해서 활성화 또는 비활성화를 하는 경우가 있고,


둘번째, AG (핸드폰) 쪽에서 자체적으로 활성화 또는 비활성화를 하는 경우도 있습니다.


AG가 음성인식을 지원하는 경우에는, AT+BVRA 명령어를 지원해야 합니다.



첫번째의 경우, HF에서 AT+BVRA 명령어를 던지면, 


AG는 OK 결과 코드로 응답을 하고, 


오디오 커넥션이 이미 설정되어 있지 않다면 셋업을 진행하고 음성 입력을 시작해야 합니다.


만약에, AG가 음성인식을 지원하지 않는 경우에는, AG는 에러를 알려 주어야만 합니다.



두번째의 경우, AG에서 음성인식을 활성화하는 경우에는, +BVRA: 1 결과 코드를 HF에 전달하여야만 합니다.


그리고, 오디오 커넥션이 이미 설정되어 있지 않다면 셋업을 진행하고 음성 입력을 시작해야 합니다.



4.25 Voice Recognition Activation 


The HF, via the AT+BVRA command, or the AG autonomously, may activate/deactivate the voice recognition function resident in the AG. Beyond the audio routing and voice recognition activation capabilities, the rest of the voice recognition functionality is implementation dependent. 


Whenever the AG supports a voice recognition function it shall support the AT+BVRA command as described in the procedures in this section. 


If the HF issues the AT+BVRA command, the AG shall respond with the OK result code if it supports voice recognition, then initiate an Audio Connection to the HF (if the Audio Connection does not already exist) and begin the voice input sequence. 

If the AG does not support voice recognition, the AG shall respond with the ERROR indication. 


When the voice recognition function is activated from the AG, it shall inform the HF via the +BVRA: 1 unsolicited result code and the AG shall initiate an Audio Connection to the HF (if the Audio Connection does not already exist) and begin the voice input sequence.



[핸즈프리로부터 음성인식 활성화]



[오디오게이트로부터 음성인식 활성화]




일단 활성화가 되면, AG는 음성인식 활성화 상태를 유지해야만 합니다.


AG쪽에서 음성인식을 비활성화 하는 경우에는 +BVRA: 0 결과 코드를 HF쪽으로 전달해야 합니다.


HF쪽에서 음성이식을 비활성화 하는 경우에는 AT+BVRA 명령을 던집니다.


그리고, 여러가지 이유로 AG와 HF 사이의 커넥션이 끊어지는 경우가 있을 수 있습니다.



Once activated, depending upon the voice recognition implementation, the AG shall then keep the voice recognition function enabled: 


•  For the duration of time supported by the implementation (“momentary on” voice recognition implementation). In this case, the AG shall notify the HF by sending a +BVRA: 0 unsolicited result code. 


•  Or until the AT+BVRA command is issued to disable voice recognition from the HF. 


•  Or until the current Service Level Connection between the AG and the HF is dropped for any reason.


[오디오게이트로부터 음성인식 활성화]


[핸즈프리로부터 음성인식 활성화]



관련 약어들 모음입니다.


< List of Acronyms and Abbreviations >



반응형

마이크 감도(Sensitivity), EIN (Equivalent Input Noise)


마이크 스펙에 여러가지 용어들이 나옵니다. 

그 중에서 감도와 EIN는 무었일까요?


아래와 같은 마이크 스펙을 예로 들어 보자.

Sensitivity: -32dBVpk

SNR: 69dB (1kHz, 1Pa, A-Weighted)

Max Input SPL: 110dB SPL


[감도 (Sensitivity)]

감도 (Sensitivity)는 소리를 얼마나 높은 출력 전압으로 바꾸어 줄수 있지를 나타내는 지표이다. 감도가 높을 수록 높은 출력 전압을 만들어 내게 되며, 그 출력이 충분하다면 그 뒤단에 amplifier 등으로 증폭을 할 필요가 없게 된다. 

(예를 들어, -60dB가 -70dB보다 더 sensitive한 것이다.)


감도를 측정하여, 표시하는 방법은 두가지가 있는데,

국제 표준은 1kHz에서 pascal 당 millivolt로 나타내는 것으로, 단위는 mV/Pa 이다.

그리고, 더 오래된 미국 방식은, 1 V/Pa를 기준으로 dB 단위로 표시한다.


x mV/Pa -> dB 변환: 20 * Log( x/1000 )

x dB -> mV/Pa 변환: (10 ^ ( x/20 )) * 1000


위의 예제의 경우, -32dBV는 약 25mV/Pa로 변환 가능하다.


Sensitivity indicates how well the microphone converts acoustic pressure to output voltage. A high sensitivity microphone creates more voltage and so needs less amplification at the mixer or recording device. This is a practical concern but is not directly an indication of the microphone's quality, and in fact the term sensitivity is something of a misnomer, "transduction gain" being perhaps more meaningful, (or just "output level") because true sensitivity is generally set by the noise floor, and too much "sensitivity" in terms of output level compromises the clipping level. There are two common measures. The (preferred) international standard is made in millivolts per pascal at 1 kHz. A higher value indicates greater sensitivity. The older American method is referred to a 1 V/Pa standard and measured in plain decibels, resulting in a negative value. Again, a higher value indicates greater sensitivity, so −60  dB is more sensitive than −70 dB.

(출처: en.wikipedia.org)


[EIN (Equivalent Input Noise) = Self-Noise = Noise Floor]

대부분의 마이크 스팩에서는 1kHz, 1Pa로 측정한 SNR을 제공하기 때문에,

EIN (EQUIVALENT INPUT NOISE) 또는 Noise Floor는,

아래 그림에서도 알 수 있듯이, 아래와 같은 공식으로 계산할 수 있다.


EIN = Max Input( = acoustic overload point) − dynamic range

EIN = 94 dB − SNR


따라서, 예제의 경우, 94dB - 69dB = 25dB와 같이 계산된다.


[Dynamic range]

Dynamic range는 아래 공식과 같이 얻을 수 있다.  


dynamic range = Max Input - EIN




반응형

24 Bit PCM을 16 Bit PCM으로 변환하기


24bit PCM을 16bit PCM으로 변환하는 방법으로 가장 보편적인 방법으로는,
8bit만큼 Right shift하여, LSB 8bit을 날려버리는 방법이 있습니다. 

16bit_PCM = (24bit_PCM >> 8) & 0xFFFF

이것은 256으로 나누는 것과 동일한 효과입니다. (나머지는 버림)

따라서,

0 ~ 255의 값이 0으로,

256 ~ 511의 값이 1로,

512 ~ 767의 값이 2로,

768 ~ 1023의 값이 3으로,

...

n*256 ~ (n+1)*256 - 1의 값이 n으로 매핑되어지게 됩니다.

반응형

Opus (오푸스, 오디오 포맷)

          공식 홈페이지: https://www.opus-codec.org/


오푸스(Opus)는 국제 인터넷 표준화 기구(IETF)가 개발한 손실 오디오 압축 포맷이며, 특히 인터넷 상의 인터렉티브 실시간 응용 프로그램에 적합하게 만들어졌다. 

RFC 6716으로 표준화된 오픈 포맷으로서, 참조 구현이 3절 BSD 라이선스 하에 제공된다. 오푸스를 포함하는 모든 알려진 소프트웨어 특허는 무로열티 조건 하에 허가되어 있다. 

오푸스는 음성지향 SILK와 저지연 CELT 두가지 코덱의 기술을 포함하고있다. 오푸스는 높은 비트 레이트와 낮은 비트 레이트에 모두 매끄럽게 적용될 수 있다. 내부적으로 낮은 비트레이트의 선형 예측 코덱과 높은 비트레이트의 변형 코덱의 사이를 전환한다. 

오푸스는, 자연스러운 대화와 네트워크 음악 공연 혹은 립싱크를 가능하게 하는 낮은 오디오 지연시간 의사소통 연결의 부분으로서의 사용을 위해 필수적인, 아주 낮은 알고리즘 지연시간(기본 22.5 ms)을 갖고 있다. 오푸스는 5 ms 이하의 더 작은 알고리즘 지연시간을 달성하기 위해 품질 및 비트 레이트의 균형을 맞추는 것을 허용한다.현재까지는 5ms까지로 지연시간을 줄일 수 있다.

(출처: ko.wikipedia.org)



가능한 비트레이트, 지연 결합에 대한, 다른 코덱들과의 비교



(출처: ko.wikipedia.org)



다른 오디오 형식들과 Opus 간의 효율성 비교

(Comparison of coding efficiency between Opus and other popular audio formats)


(출처: https://en.wikipedia.org/wiki/Opus_(audio_format))


아래 싸이트에 OPUS 관련 내용이 잘 정리 되어 있습니다.


https://namu.wiki/w/Opus


반응형

'오디오 음성' 카테고리의 다른 글

마이크 감도(Sensitivity), EIN (Equivalent Input Noise)  (0) 2015.09.01
24 Bit PCM을 16 Bit PCM으로 변환하기  (0) 2015.08.12
24 Bit vs 16 Bit PCM  (0) 2015.08.11
Orthography (맞춤법, 철자법)  (0) 2015.08.05
Phoneme (음소)  (0) 2015.08.05

24 Bit vs 16 Bit PCM



Understanding bit depth

Bit depth determines dynamic range. When a sound wave is sampled, each sample is assigned the amplitude value closest to the original wave’s amplitude. Higher bit depth provides more possible amplitude values, producing greater dynamic range, a lower noise floor, and higher fidelity.

For the best audio quality, Audition transforms all audio in 32‑bit mode and then converts to a specified bit depth when saving files.

 Bit depth

 Quality level

 Amplitude values

 Dynamic range

 8‑bit

 Telephony

 256

 48 dB

 16‑bit

 Audio CD

 65,536

 96 dB

 24‑bit

 Audio DVD

 16,777,216

 144 dB

 32‑bit

 Best

 4,294,967,296

 192 dB

Higher bit depths provide greater dynamic range.


LINN 오디오 설치 네트워크 오디오 구축 - 스트리밍 하이파이 CD리핑 PC-FI 구축 FLAC 마스터링 음원 재생 24Bit-192kHz HDtrac 재생기계

80년대 초 소니와 필립스의 합작으로 CD 라는 재생매체가 처음 발표할때 많은 오디오애호가 들은 CD의 보급을 회의적으로 생각을 했습니다. 
하이파이 오디오에서 디지털이라는 새로운 매체의 생소함과 디지털 CD의 한계에 대해 많은 이야기 하였지만, LP와 다르게 깨끗한 음질과 사용하기 편리한 방법등으로 30년간 음원시장을 장악하게 되었습니다.

이러한 디지털 음원 시장에서 가장 큰 불만은 바로 음질 이었습니다. MP3 는 과도한 압축으로 인하여 일반 CD에 비해서도 현저히 떨어지는 음질을 들여주고 있습니다. 
이러한 저음질 음원으로 인하여 순수 음악 감상을 좋아하는 오디오유저들의 입장에서 CD를 대체 할만한 대안이 없었습니다. 이러한 디지털 음원시장에 한줄기 빛이 되어준것이 바로 FLAC 포멧 입니다. FLAC(Free Lossless Audio Codec) 은 무료 무손실 오디오 코덱의 약자 입니다.

CD가 처음 개발되었을당시 CD한장은 음원의 최대 녹음시간은 74분 이었습니다. 74분으로 정한 이유는 베토벤의 교향곡 을 담을수 있는 시간으로 정하였습니다.
하지만 이러한 시간때문에 당시에도 녹음가능하던 96kHz 나 고음질이 아닌 다운 샘풀링을 통하여 16bit / 44.1kHz PCM 이라는 포멧으로 용량을 줄여 CD 에 담기 시작하였고 이것이 지금것 일반적인 CD 포멧인 16Bit / 44.1kHz 라는 표준이 되었습니다.

하지만 더이상 CD 라는 포멧을 사용할 필요가 없는 지금 24Bit / 192kHz로 대표되는 고음질 마스터링음원 (HDtracks) 의 FLAC 파일들이 속속 오디오유저들의 마음을 사로잡고 있습니다.


24-Bit vs. 16-Bit Audio Test - Part II: RESULTS & CONCLUSIONS

In a naturalistic survey of 140 respondents using high quality musical samples sourced from high-resolution 24/96 digital audio collected over 2 months, there was no evidence that 24-bit audio could be appreciably differentiated from the same music dithered down to 16-bits using a basic algorithm (Adobe Audition 3, flat triangular dither, 0.5 bits).


테크니컬 컬럼 #2 - 24 Bit / 192 KHz 는 반드시 음질이 좋을까요?



최근 여러 음원 사이트들이 “고음질 음원” 서비스를 본격화하기 시작하면서, 일반 대중들도 “24 Bit / 192 KHz 음원이라 소리가 좋다!” 라는 문구를 자주 접하게 되었습니다. 막연하게만 생각하면 “16 Bit / 44.1 KHz 인 CD 보다 숫자가 높으니 당연히 소리가 좋다.” 라고 생각할 수 있겠지만, 과연 높은 Bit 와 Sample Rate 가 “좋은 음질” 을 보장할 수 있는 것일까요?

<중략>

결론적으로, 24 Bit / 192 KHz 의 음원은 이론상 분명 더 정확한 데이터를 표현할 수 있지만, 결코 “모든 상황에서 절대적으로” 고음질을 보장할 수는 없습니다.


반응형

'오디오 음성' 카테고리의 다른 글

24 Bit PCM을 16 Bit PCM으로 변환하기  (0) 2015.08.12
Opus (오푸스, 오디오 포맷)  (0) 2015.08.12
Orthography (맞춤법, 철자법)  (0) 2015.08.05
Phoneme (음소)  (0) 2015.08.05
Grapheme (문자소)  (0) 2015.08.05

Orthography (맞춤법, 철자법)


An orthography is a set of conventions for how to write a language. It includes rules of spellinghyphenationcapitalizationword breaksemphasis, and punctuation.


[출처: en.wikipedia.org] 


Orthography는 언어를 기록하는 규약들. spelling, 대소문자, 구두법등이 포함된다.

반응형

'오디오 음성' 카테고리의 다른 글

Opus (오푸스, 오디오 포맷)  (0) 2015.08.12
24 Bit vs 16 Bit PCM  (0) 2015.08.11
Phoneme (음소)  (0) 2015.08.05
Grapheme (문자소)  (0) 2015.08.05
Wave 파일 포맷  (0) 2015.07.14

Phoneme (음소)


phoneme /ˈfnm/ is a basic unit of a language's phonology, which is combined with other phonemes to form meaningful units, morphemes. The phoneme can be described as "The smallest contrastive linguistic unit which may bring about a change of meaning". In this way the difference in meaning between the English words kill and kiss is a result of the exchange of the phoneme /l/ for the phoneme /s/. Two words that differ in meaning through a contrast of a single phoneme form a minimal pair.


[출처: en.wikipedia.org]


의미의 변화를 가져올 수 있는 가장 작은 대조 언어학 단위. 

예를 들어, kill과 kiss는 /l/과 /s/의 차이로 두 단어의 의미가 달라지는 경우이다.

반응형

'오디오 음성' 카테고리의 다른 글

24 Bit vs 16 Bit PCM  (0) 2015.08.11
Orthography (맞춤법, 철자법)  (0) 2015.08.05
Grapheme (문자소)  (0) 2015.08.05
Wave 파일 포맷  (0) 2015.07.14
파스칼 (단위)  (0) 2015.07.09

Grapheme (문자소)


grapheme is the smallest unit used in describing the writing system of a language, originally coined by analogy with the phoneme of spoken languages. A grapheme may or may not carry meaning by itself, and may or may not correspond to a single phoneme. Graphemes include alphabetic letterstypographic ligaturesChinese charactersnumerical digits,punctuation marks, and other individual symbols of any of the world's writing systems.


[출처: en.wikipedia.org]


Spoken languages에서의 phoneme (음소) 처럼, writing system에서 기술하기 위해서 사용되어지는 최소 단위.

반응형

'오디오 음성' 카테고리의 다른 글

Orthography (맞춤법, 철자법)  (0) 2015.08.05
Phoneme (음소)  (0) 2015.08.05
Wave 파일 포맷  (0) 2015.07.14
파스칼 (단위)  (0) 2015.07.09
롬바드 효과 (Lombard Effect)  (0) 2015.06.18

Wave 파일 포맷


Wave 파일의 헤더는 44byte입니다.

Filesize가 131,244byte이고, 16Khz Mono PCM의 Wave 파일 헤더예제입니다.




다음은, Filesize가 262,444byte이고, 16Khz Stereo PCM의 예제입니다.




[Wave 란?]

WAV 또는 WAVE는 웨이브폼 오디오 포맷(웨이브 오디오 포맷, Waveform audio format)의 준말로 개인용 컴퓨터에서 오디오를 재생하는 마이크로소프트와 IBM오디오 파일 포맷 표준이다. 덩어리째로 데이터를 저장하기 위한 RIFF 비트스트림 포맷 방식에서 변화한 것으로, 아미가에 쓰이는 IFFF와 매킨토시 컴퓨터에 쓰이는 AIFF 포맷에 매우 가깝다. 가공되지 않은 오디오를 위한 윈도 시스템에 쓰이는 기본 포맷이다. 윈도 상에서는 WAV가 비압축 형식만 있는 것이 아니고 여러 압축 코덱을 이용할 수 있다. 그러나 윈도 비스타부터는 기본 지원 포맷이 WMA으로 바뀌었다.


출처: https://ko.wikipedia.org/wiki/WAV



[Big Endian / Little Endian]


Wave format에서는 ID (RIFF, WAVE, fmt, data 등)은 Big Endian으로 되어 있고,

나머지 값들은 모두 Little Endian으로 되어 있다.



[참고 사이트]

http://crystalcube.co.kr/123

http://soundfile.sapp.org/doc/WaveFormat/



반응형

'오디오 음성' 카테고리의 다른 글

Phoneme (음소)  (0) 2015.08.05
Grapheme (문자소)  (0) 2015.08.05
파스칼 (단위)  (0) 2015.07.09
롬바드 효과 (Lombard Effect)  (0) 2015.06.18
Root mean square (RMS)  (0) 2014.06.18

파스칼 (단위)


wikipedia에 다음과 같이 정의 되어 있습니다. (출처: wikipedia)


파스칼(기호 Pa)는 압력에 대한 SI 유도 단위이다. 1 파스칼은 1 제곱미터 당 1 뉴턴의 힘이 작용할 때의 압력에 해당한다. 단위의 이름은 프랑스의 수학자 블레즈 파스칼의 이름을 땄다.

정의[편집]

{\rm 1~Pa = 1~\frac{N}{m^2} = 1~\frac{\frac{kg \cdot m}{s^2}}{m^2} = 1~\frac{kg}{m \cdot s^2}}

여기서 N 은 뉴턴m 은 미터kg 은 킬로그램s 는 .


dBSPL(sound pressure level, 음압) : 음압(소리의 매질인 공기의 압력의 실효출력)의 단위는 파스칼(Pa)이지만, 2×10−5 Pa를 기준값(0 dBSPL)으로 한다.


반응형

'오디오 음성' 카테고리의 다른 글

Grapheme (문자소)  (0) 2015.08.05
Wave 파일 포맷  (0) 2015.07.14
롬바드 효과 (Lombard Effect)  (0) 2015.06.18
Root mean square (RMS)  (0) 2014.06.18
Equal-loudness contour (등청감 곡선)  (0) 2014.06.18

롬바드 효과 (Lombard Effect)


The Lombard effect or Lombard reflex is the involuntary tendency of speakers to increase their vocal effort when speaking in loud noise to enhance the audibility of their voice. This change includes not only loudness but also other acoustic features such as pitch, rate, and duration of sound syllables. This compensation effect results in an increase in the auditory signal-to-noise ratio of the speaker’s spoken words

The effect links to the needs of effective communication as there is a reduced effect when words are repeated or lists are read where communication intelligibility is not important. Since the effect is also involuntary it is used as a means to detect malingering in those simulating hearing loss. Research upon birds and monkeys finds that the effect also occurs in the vocalizations of nonhuman animals. 

(출처: http://en.wikipedia.org/wiki/Lombard_effect)


위의 내용을 요약하면, 

사람들은 심한 환경에서 말을 할때, 자신의 목소리가 좀 더 잘 들릴 수 있도록 하기 위해서, 자신도 모르게 말하는 방식에 변화를 주는 경향이 있으며, 이러한 경향을 롬바드 효과라고 한다.

목소리를 더 크게 해서 말하는 것이, 이 변화에 포함되며, 음의 높이, 말하는 속도, 음절의 간격 등을 포함한 음성적 특징 변화도 역시 포함된다. 이러한 보상 효과로 인해, SNR이 높아지게 된다. 


반응형

'오디오 음성' 카테고리의 다른 글

Wave 파일 포맷  (0) 2015.07.14
파스칼 (단위)  (0) 2015.07.09
Root mean square (RMS)  (0) 2014.06.18
Equal-loudness contour (등청감 곡선)  (0) 2014.06.18
Absolute threshold of hearing (최소 가청값, 최소 가청치)  (0) 2014.06.18

In mathematics, the root mean square (abbreviated RMS or rms), also known as the quadratic mean, is a statistical measure of the magnitude of a varying quantity. It is especially useful when variates are positive and negative, e.g., sinusoids. In the field of electrical engineering, the effective (RMS) value of a periodic current is equal to the DC voltage that delivers the same average power to a resistor as the periodic current.[1]

It can be calculated for a series of discrete values or for a continuously varying function. Its name comes from its definition as the square root of the meanof the squares of the values. It is a special case of the generalized mean with the exponent p = 2.


Definition[edit]

The RMS value of a set of values (or a continuous-time waveform) is the square root of the arithmetic mean (average) of the squares of the original values (or the square of the function that defines the continuous waveform).

In the case of a set of n values \{x_1,x_2,\dots,x_n\}, the RMS


x_{\mathrm{rms}} =
\sqrt{ \frac{1}{n} \left( x_1^2 + x_2^2 + \cdots + x_n^2 \right) }.

The corresponding formula for a continuous function (or waveform) f(t) defined over the interval T_1 \le t \le T_2 is


f_{\mathrm{rms}} = \sqrt {{1 \over {T_2-T_1}} {\int_{T_1}^{T_2} {[f(t)]}^2\, dt}},

and the RMS for a function over all time is


f_\mathrm{rms} = \lim_{T\rightarrow \infty} \sqrt {{1 \over {T}} {\int_{0}^{T} {[f(t)]}^2\, dt}}.

The RMS over all time of a periodic function is equal to the RMS of one period of the function. The RMS value of a continuous function or signal can be approximated by taking the RMS of a series of equally spaced samples. Additionally, the RMS value of various waveforms can also be determined withoutcalculus, as shown by Cartwright.[2]

In the case of the RMS statistic of a random process, the expected value is used instead of the mean.

(출처: http://en.wikipedia.org/wiki/Root_mean_square)

반응형

Equal-loudness contour (등청감 곡선)


등청감 곡선은 우리가 느끼는 소리의 크기를 나타낸 phon 곡선으로서 기준 톤은 1Khz입니다. 이 그래프는 18~30세의 정상 청각 보유자에 대해 적용할 수 있는 규격입니다.


(출처: http://en.wikipedia.org/wiki/Equal-loudness_contour)

An equal-loudness contour is a measure of sound pressure (dB SPL), over the frequency spectrum, for which a listener perceives a constantloudness when presented with pure steady tones. The unit of measurement for loudness levels is the phon, and is arrived at by reference to equal-loudness contours. By definition, two sine waves of differing frequencies are said to have equal-loudness level measured in phons if they are perceived as equally loud by the average young person without significant hearing impairment.

Equal-loudness contours from ISO 226:2003 shown with original ISO standard.

반응형

'오디오 음성' 카테고리의 다른 글

롬바드 효과 (Lombard Effect)  (0) 2015.06.18
Root mean square (RMS)  (0) 2014.06.18
Absolute threshold of hearing (최소 가청값, 최소 가청치)  (0) 2014.06.18
Sound Pressure Level (SPL)  (0) 2014.06.18
dB (Decibel, 데시벨)  (0) 2014.06.18

Absolute threshold of hearing 

(auditory threshold, 최소 가청값, 최소 가청치)


최소 가청값은 평균적인 귀로 들을 수 있는 가장 작은 음압 레벨이며, 

공기중에서는 일반적으로 20 µ Pa (micropascals) = 2×10−5 pascal (Pa)이다.

(대략적으로, 3m 떨어진 곳에서 모기가 날아다니는 소리의 크기.)


0 dB(SPL) = 20 * log10( 20µPa / 20µPa)

94 dB(SPL) = 20 * log10( 1Pa / 20µPa)


(출처: http://en.wikipedia.org/wiki/Absolute_threshold_of_hearing)


The absolute threshold of hearing (ATH) is the minimum sound level of a pure tone that an average ear with normal hearing can hear with no other sound present. The absolute threshold relates to the soundthat can just be heard by the organism. The absolute threshold is not a discrete point, and is therefore classed as the point at which a response is elicited a specified percentage of the time. This is also known as the auditory threshold.

The threshold of hearing is generally reported as the RMS sound pressure of 20 micropascals, or 0.98 pW/m2 at 1 atmosphere and 25 °C. It is approximately the quietest sound a young human with undamaged hearing can detect at 1,000 Hz. The threshold of hearing is frequency dependent and it has been shown that the ear's sensitivity is best at frequencies between 1 kHz and 5 kHz.


반응형

'오디오 음성' 카테고리의 다른 글

Root mean square (RMS)  (0) 2014.06.18
Equal-loudness contour (등청감 곡선)  (0) 2014.06.18
Sound Pressure Level (SPL)  (0) 2014.06.18
dB (Decibel, 데시벨)  (0) 2014.06.18
주파수(frequency), 샘플링 주파수(sampling frequency)  (0) 2014.06.18

+ Recent posts