Yandex.Musicã§äœæ¥ããããã«ã¯ãé³ãæã€ããŸããŸãªç¹çŽ°ããèŠããŠããããšãåžžã«éèŠã§ãã ããªã¥ãŒã ãšã¯äœã§ãããã©ã®ããã«å€åããäœã«äŸåããŸããïŒ ãµãŠã³ããã£ã«ã¿ãŒã¯ã©ã®ããã«æ©èœããŸããïŒ ãã€ãºã¯äœã§ããïŒ é³ã¯ã©ã®ããã«å€åããŸããïŒ äººã ããããã©ã®ããã«ç¥èŠãããã
![](https://habrastorage.org/files/41a/17f/d3e/41a17fd3e25d4ba080ef4702c6a106f7.png)
ç§ãã¡ã¯ãããžã§ã¯ãã®äœæ¥äžã«ããããã¹ãŠã«ã€ããŠå€ãã®ããšãåŠã³ãŸãããä»æ¥ã¯ãããžã¿ã«ãµãŠã³ãåŠçãæ±ãå Žåã«ç¥ã£ãŠããå¿ èŠã®ããåºæ¬çãªæŠå¿µãæã§èª¬æããŠã¿ãŸãã ãã®èšäºã«ã¯ãé«éããŒãªãšå€æãªã©ã®æ·±å»ãªæ°åŠã¯ãããŸããããããã®åŒã¯ãããã¯ãŒã¯äžã§ç°¡åã«èŠã€ããããšãã§ããŸãã çŽé¢ããªããã°ãªããªããã®ã®æ¬è³ªãšæå³ã説æããŸãã
ãã®æçš¿ã®çç±ã¯ãYandex.Music ã¢ããªã±ãŒã·ã§ã³ã«é«å質ïŒ320kbpsïŒã§ãã©ãã¯ãèŽãæ©èœãè¿œå ãããããšèããããŸã ã ãããŠãããªãã¯æ°ããããªãã ã ããã
ããžã¿ã«åããŸãã¯ããã«æ»ã£ãŠ
ãŸããããžã¿ã«ä¿¡å·ãšã¯äœããã¢ããã°ä¿¡å·ããã©ã®ããã«ååŸãããã®ããå®éã«ã¯ã¢ããã°ä¿¡å·ãã©ãããæ¥ãã®ããç解ããŸãã åŸè ã¯ããã€ã¯ããã³ã®èã®æ¯åããçããé»å§å€åãšããŠã§ããã ãç°¡åã«å®çŸ©ã§ããŸãã
![](https://habrastorage.org/files/e2c/baa/ea0/e2cbaaea0dbb453499a0e90a62b82ac7.jpg)
å³ 1.é³æ³¢ã®æ³¢åœ¢
ããã¯é³ã®æ³¢åœ¢ã§ã-ããããªãŒãã£ãªä¿¡å·ã®èŠãæ¹ã§ãã ç§ã¯èª°ãããã®ãããªåçã人çã§å°ãªããšãäžåºŠèŠãããšããããšæããŸãã ã¢ããã°ä¿¡å·ãããžã¿ã«ã«å€æããããã»ã¹ãã©ã®ããã«é 眮ãããŠããããç解ããã«ã¯ãã°ã©ãçšçŽã«é³ã®æ³¢åœ¢ãæãå¿ èŠããããŸãã ååçŽç·ã«å¯ŸããŠã波圢ãšåçŽã¹ã±ãŒã«äžã®æãè¿ãæŽæ°å€ãšã®äº€ç¹ãèŠã€ããŸã-ãã®ãããªå€ã®ã»ããã¯ãããžã¿ã«ä¿¡å·ã®æãåçŽãªèšé²ã«ãªããŸãã
![](https://habrastorage.org/files/eb5/f97/81c/eb5f9781c81f4082bc0b7fbaa6934572.png)
å³ 2.æ³¢ã®è¿œå ãšä¿¡å·ã®ããžã¿ã«åã®ã€ã³ã¿ã©ã¯ãã£ããªäŸã
ãœãŒã¹ïŒ www.desmos.com/calculator/aojmanpjrl
ãã®ã€ã³ã¿ã©ã¯ãã£ããªäŸã䜿çšããŠãç°ãªãåšæ³¢æ°ã®æ³¢ãäºãã«ã©ã®ããã«éãªãåããããžã¿ã«åãã©ã®ããã«çºçããããç解ããŸãã å·ŠåŽã®ã¡ãã¥ãŒã§ã¯ãã°ã©ãã®è¡šç€ºãæå¹/ç¡å¹ã«ããããå ¥åãã©ã¡ãŒã¿ãŒãšãµã³ããªã³ã°ãã©ã¡ãŒã¿ãŒãæ§æããããåã«ã³ã³ãããŒã«ãã€ã³ãã移åãããã§ããŸãã
ããŒããŠã§ã¢ã¬ãã«ã§ã¯ãããã¯ãã¡ãããã¯ããã«è€éã«èŠããŸããããŒããŠã§ã¢ã«ãã£ãŠã¯ãä¿¡å·ããŸã£ããç°ãªãæ¹æ³ã§ãšã³ã³ãŒãã§ããŸãã æãäžè¬çãªã®ã¯ãã«ã¹ã³ãŒãå€èª¿ã§ãç¹å®ã®ä¿¡å·ã¬ãã«å€ãåç¬éã«èšé²ãããã®ã§ã¯ãªããçŸåšã®å€ãšåã®å€ã®å·®ãèšé²ãããŸãã ããã«ããããµã³ãã«ãããã®ãããæ°ãçŽ25ïŒ åæžãããŸãã ãã®ãšã³ã³ãŒãæ¹åŒã¯ã PCM WAVã³ã³ãããŒã䜿çšããæãäžè¬çãªãªãŒãã£ãªåœ¢åŒïŒWAVãMP3ãWMAãOGGãFLACãAPEïŒã§äœ¿çšãããŸãã
å®éã«ã¯ããªãŒãã£ãªã®é²é³æã«ã¹ãã¬ãªå¹æãäœæããããã«ãã»ãšãã©ã®å Žå1ã€ã§ã¯ãªããè€æ°ã®ãã£ã³ãã«ãé²é³ãããŸãã 䜿çšããã¹ãã¬ãŒãžåœ¢åŒã«å¿ããŠãåå¥ã«ä¿åã§ããŸãã ãŸããä¿¡å·ã¬ãã«ã¯ãã¡ã€ã³ãã£ãã«ã®ã¬ãã«ãšé»æµã®ã¬ãã«ã®å·®ãšããŠèšé²ã§ããŸãã
ããžã¿ã«ä¿¡å·ããã¢ããã°ä¿¡å·ãžã®éå€æã¯ãç°ãªãããã€ã¹ãšåäœåçãæã€ããžã¿ã«-ã¢ããã°ã³ã³ããŒã¿ãŒã䜿çšããŠå®è¡ãããŸãã ãã®èšäºã§ã¯ããããã®ååã®èª¬æã¯çç¥ããŸãã
é¢æ£å
ãåç¥ã®ããã«ãããžã¿ã«ä¿¡å·ã¯æå®ãããééã§èšé²ãããä¿¡å·ã¬ãã«å€ã®ã»ããã§ãã é£ç¶ã¢ããã°ä¿¡å·ãããžã¿ã«ä¿¡å·ã«å€æããããã»ã¹ã¯ããµã³ããªã³ã°ïŒæéãšã¬ãã«ïŒãšåŒã°ããŸãã ããžã¿ã«ä¿¡å·ã«ã¯ããµã³ããªã³ã°ã¬ãŒããšã¬ãã«ããšã®ãµã³ããªã³ã°æ·±åºŠãšãã2ã€ã®äž»èŠãªç¹æ§ããããŸãã
![](https://habrastorage.org/files/761/232/8c2/7612328c265141268884b6133bc7d615.png)
å³ 3.ä¿¡å·ã®é¢æ£åã
ãœãŒã¹ïŒ https : //en.wikipedia.org/wiki/Sampling_(signal_processingïŒ
ãµã³ããªã³ã°ã¬ãŒãã¯ãä¿¡å·åŒ·åºŠããŒã¿ãéä¿¡ãããæéééã瀺ããŸãã ã³ãã«ãã³ãã®å®çããããŸãïŒè¥¿æŽæåŠã§ã¯ãã€ãã¹ãã»ã·ã£ãã³ã®å®çãšåŒã°ããŸãããã³ãã«ãã³ãã»ã·ã£ãã³ã®ååããããŸãïŒãã¢ããã°ä¿¡å·ã§ã 20 Hzãã20 kHzã®ç¯å²ã§äººãç¥èŠããé³ã®åšæ³¢æ°ã®ããããã®ç¯å²ããšãå Žåãæé©ãªãµã³ããªã³ã°åšæ³¢æ°ïŒ ãã€ãã¹ãåšæ³¢æ° ïŒã¯çŽ40 kHzã§ãªããã°ãªããŸããã æšæºã®ãªãŒãã£ãªCDã®å Žåã44.1 kHz
![](https://habrastorage.org/files/87e/92e/8d5/87e92e8d5d0a492f8d9d4225d84c23aa.png)
å³ 4.ä¿¡å·ã®éååã
ãœãŒã¹ïŒ https : //ru.wikipedia.org/wiki/ Quantization_ïŒä¿¡å·åŠçïŒ
ã¬ãã«ããšã®ãµã³ããªã³ã°æ·±åºŠã¯ãæ°å€ã®ããã深床ãè¡šããä¿¡å·ã¬ãã«ãè¡šããŸãã ãã®ç¹æ§ã¯ãä¿¡å·ã¬ãã«ãšãã®æå°å€ãèšé²ãã粟床ã«å¶éã課ããŸãã ãã®ç¹æ§ã¯é³éã«é¢ä¿ããªãããšã«æ³šæããŠãã ãã-ä¿¡å·èšé²ã®ç²ŸåºŠãåæ ããŠããŸãã ãªãŒãã£ãªCDã®æšæºãµã³ããªã³ã°æ·±åºŠã¯16ãããã§ãã åæã«ãç¹å¥ãªã¹ã¿ãžãªæ©åšã䜿çšããªãå Žåã倧åã¯ãã§ã«10ã12ãããã®é åã«ãããµãŠã³ãã®éãã«æ°ã¥ããŸããã ãã ãããµã³ããªã³ã°ã®æ·±ãã倧ããããããµãŠã³ããããã«åŠçããéã«ãã€ãºãçºçããã®ãé²ãããšãã§ããŸãã
éšé³
ããžã¿ã«ãªãŒãã£ãªã«ã¯ã3ã€ã®äž»ãªãã€ãºæºããããŸãã
ãžãã¿
ãããã¯ãååãšããŠããã¹ã¿ãŒçºæ¯åšã®åšæ³¢æ°ã®äžå®å®æ§ãŸãã¯åãä¿¡å·ã®ç°ãªãåšæ³¢æ°æåã®ç°ãªãäŒæé床ã«èµ·å ããã©ã³ãã ãªä¿¡å·åå·®ã§ãã ãã®åé¡ã¯ãããžã¿ã«åã®æ®µéã§çºçããŸãã
ç²ç é³
ãµã³ããªã³ã°ã®æ·±ãã«çŽæ¥é¢ä¿ããŠããŸãã ä¿¡å·ãããžã¿ã«åããããšããã®å®éã®å€ã¯ç¹å®ã®ç²ŸåºŠã§äžžããããããããã®æ倱ã«é¢é£ãã匱ããã€ãºãçºçããŸãã ãããã®ãã€ãºã¯ãããžã¿ã«åã®æ®µéã ãã§ãªããããžã¿ã«åŠçã®ããã»ã¹ã§ãçºçããå¯èœæ§ããããŸãïŒããšãã°ãä¿¡å·ã¬ãã«ãæåã«äœäžããŠããåã³äžæããå ŽåïŒã
ãšã€ãªã¢ã¹
ããžã¿ã«åããå Žåãå ã®ä¿¡å·ã«ã¯ãªãã£ãåšæ³¢æ°æåãããžã¿ã«ä¿¡å·ã«çŸããå¯èœæ§ããããŸãã ãã®ãšã©ãŒã¯AliasingãšåŒã°ããŸãã ãã®å¹æã¯ããµã³ããªã³ã°ã¬ãŒãããŸãã¯ãã€ãã¹ãåšæ³¢æ°ã«çŽæ¥é¢é£ããŠããŸãã ãããã©ã®ããã«èµ·ããããç解ããæãç°¡åãªæ¹æ³ã¯ã次ã®å³ãèŠãããšã§ãã
![](https://habrastorage.org/files/66b/e65/44e/66be6544e5404b15b5bcc469be255491.png)
å³ 5.ãšã€ãªã¢ã¹ã ãœãŒã¹ïŒ en.wikipedia.org/wiki/Aliasing
ç·ã¯åšæ³¢æ°æåã瀺ãããã®åšæ³¢æ°ã¯ãã€ãã¹ãåšæ³¢æ°ãããé«ããªã£ãŠããŸãã ãã®ãããªåšæ³¢æ°æåãããžã¿ã«åããå Žåãæ£ãã説æã«ååãªããŒã¿ãæžã蟌ãããšã¯ã§ããŸããã ãã®çµæãåçäžã«å®å šã«ç°ãªãä¿¡å·ãåŸãããŸã-é»è²ã®æ²ç·ã
ä¿¡å·åŒ·åºŠ
æåã«ãããžã¿ã«ä¿¡å·ã«é¢ããŠã¯ãçžå¯Ÿçãªä¿¡å·ã¬ãã«ã«ã€ããŠãã話ããªãããšãããã«ç解ããå¿ èŠããããŸãã 絶察å€ã¯äž»ã«åçæ©åšã«äŸåããçžå¯Ÿå€ã«çŽæ¥æ¯äŸããŸãã çžå¯Ÿçãªä¿¡å·ã¬ãã«ãèšç®ããå Žåã ãã·ãã«ã䜿çšããã®ãäžè¬çã§ãã ãã®å Žåãç¹å®ã®ãµã³ããªã³ã°æ·±åºŠã§æ倧ã®æ¯å¹ ãæã€ä¿¡å·ãåºæºç¹ãšããŠååŸãããŸãã ãã®ã¬ãã«ã¯0 dBFSãšããŠç€ºãããŸãïŒdBã¯ãã·ãã«ãFS =ãã«ã¹ã±ãŒã«ã¯ãã«ã¹ã±ãŒã«ïŒã äœãä¿¡å·ã¬ãã«ã¯ã-1 dBFSã-2 dBFSãªã©ãšããŠç€ºãããŸãã åã«é«ãã¬ãã«ããªãããšã¯æããã§ãïŒæåã¯å¯èœãªéãé«ãã¬ãã«ãæ¡çšããŸãïŒã
æåã¯ããã·ãã«ãšå®éã®ä¿¡å·ã¬ãã«ãã©ã®ããã«é¢é£ããŠããããææ¡ããã®ã¯å°é£ã§ãã å®éããã¹ãŠãã·ã³ãã«ã§ãã ã6 dBïŒããæ£ç¢ºã«ã¯20 logïŒ2ïŒã6.02 dBïŒããšã«ãä¿¡å·ã¬ãã«ã®2åã®å€åã瀺ãããŸãã ã€ãŸãã-12 dBFSã®ã¬ãã«ã®ä¿¡å·ã«ã€ããŠè©±ããšããããã¯ã¬ãã«ãæ倧å€ã®4åã-18 dBFS-8ãªã©ã®ä¿¡å·ã§ããããšãããããŸãã ãã·ãã«ã®å®çŸ©ãèŠããšãå€ã瀺ããŠããŸã
泚ïŒãã®å Žåã®å¯Ÿæ°ã¯10é²æ°ãšããŠæ±ãããŸãããlogãšåŒã°ããé¢æ°ã®äžã«ããã»ãšãã©ã®ã©ã€ãã©ãªã¯èªç¶å¯Ÿæ°ãæå³ããŸãã
ããŸããŸãªãµã³ããªã³ã°æ·±åºŠã§ããã®ã¹ã±ãŒã«ã®ä¿¡å·ã¬ãã«ã¯å€åããŸããã -6 dBFSã®ã¬ãã«ã®ä¿¡å·ã¯ã-6 dBFSã®ã¬ãã«ã®ä¿¡å·ã®ãŸãŸã§ãã ããã§ãããã€ãããã¯ã¬ã³ãžãšãã1ã€ã®ç¹æ§ãå€ãããŸãã ä¿¡å·ã®ãã€ãããã¯ã¬ã³ãžã¯ãæå°å€ãšæ倧å€ã®å·®ã§ãã ããã¯åŒã«ãã£ãŠèšç®ãããŸã
ç¥èŠ
人ã®é³ã®ç¥èŠã«ã€ããŠè©±ããšãããŸã人ãé³ãã©ã®ããã«ç¥èŠããããç解ããå¿ èŠããããŸãã æããã«è³ã§èããã®ã é³æ³¢ã¯éŒèãšçžäºäœçšããéŒèãå€äœãããŸãã æ¯åã¯å è³ã«äŒéãããããã§å容äœã«ææãããŸãã éŒèãã©ã®çšåºŠã·ãããããã¯ã é³å§ãªã©ã®ç¹æ§ã«äŸåããŸãã ãã®å Žåã ç¥èŠãããé³éã¯ãçŽæ¥ã§ã¯ãªã察æ°çã«é³å§ã«äŸåããŸãã ãããã£ãŠãé³éãå€æŽãããšãã¯ãçžå¯ŸSPLïŒé³å§ã¬ãã«ïŒã¹ã±ãŒã«ã䜿çšããã®ãäžè¬çã§ããã®å€ã¯ãã¹ãŠåããã·ãã«ã§ç€ºãããŸãã ç¥èŠãããé³éã¯ãé³å§ã¬ãã«ã ãã§ãªããé³ã®åšæ³¢æ°ã«ãäŸåããããšã«æ³šæããŠãã ããã
![](https://habrastorage.org/files/57c/20b/819/57c20b81930649248b5c92cce4fe71e6.png)
å³ 6.ç¥èŠãããã©ãŠããã¹ã®åšæ³¢æ°ãšé³ã®æ¯å¹ ãžã®äŸåã
ãœãŒã¹ïŒ en.wikipedia.org/wiki/ Sound Volume
ããªã¥ãŒã
ãµãŠã³ãåŠçã®æãåçŽãªäŸã¯ãé³éãå€æŽããããšã§ãã ãã®å Žåãä¿¡å·ã¬ãã«ã«åçŽã«åºå®å€ãæããŸãã ãã ããé³éå¶åŸ¡ãªã©ã®åçŽãªåé¡ã§ããèœãšãç©Žã1ã€ãããŸãã åè¿°ããããã«ãç¥èŠãããé³éã¯é³å§ã®å¯Ÿæ°ã«äŸåããŸããã€ãŸããç·åœ¢ã®é³éã¹ã±ãŒã«ã䜿çšããŠãããŸãå¹æçã§ã¯ãããŸããã ç·åœ¢ã®ããªã¥ãŒã ã¹ã±ãŒã«ã§ã¯ã2ã€ã®åé¡ãåæã«çºçããŸããããªã¥ãŒã ã®é¡èãªå€åã®ããã«ãã¹ã©ã€ããŒãã¹ã±ãŒã«ã®äžå€®ããäžã«ãããšãã¯ãã¹ã©ã€ããŒãååã«ç§»åããå¿ èŠããããŸãããã¹ã±ãŒã«ã®äžçªäžã«è¿ã¥ããšãã·ããã¯é«ªã®å€ªãããå°ãããããªã¥ãŒã ãååã«å€æŽã§ããŸãïŒç§ã¯æã誰ããããã«åºããããŸããïŒã ãã®åé¡ã解決ããããã«ã察æ°ããªã¥ãŒã ã¹ã±ãŒã«ã䜿çšãããŸãã ããã«ãã¹ã©ã€ããŒãäžå®ã®è·é¢ã ã移åãããšãããªã¥ãŒã ãåãåæ°ã ãå€åããŸãã ããã®é²é³ããã³åŠçæ©åšã§ã¯ãååãšããŠã䜿çšãããã®ã¯å¯Ÿæ°é³éã¹ã±ãŒã«ã§ãã
æ°åŠ
察æ°ã¹ã±ãŒã«ã®å®è£ ã¯å€ãã®äººã«ãšã£ãŠããã»ã©åçŽã§æçœãªãã®ã§ã¯ãªããã€ã³ã¿ãŒãããã§ãã®åŒãèŠã€ããããšã¯ç§ãã¡ãæãã»ã©ç°¡åã§ã¯ãªããããããã§ããããå°ãæ°åŠã«æ»ããŸãã åæã«ãããªã¥ãŒã å€ãdBFSã«ããŸãã¯ãã®éã«å€æããã®ãããã«ç°¡åãã瀺ããŸãã 詳现ã«ã€ããŠã¯ãããã圹ç«ã¡ãŸãã
// - var EPSILON = 0.001; // dBFS var DBFS_COEF = 20 / Math.log(10); // var volumeToExponent = function(value) { var volume = Math.pow(EPSILON, 1 - value); return volume > EPSILON ? volume : 0; }; // var volumeFromExponent = function(volume) { return 1 - Math.log(Math.max(volume, EPSILON)) / Math.log(EPSILON); }; // dBFS var volumeToDBFS = function(volume) { return Math.log(volume) * DBFS_COEF; }; // dBFS var volumeFromDBFS = function(dbfs) { return Math.exp(dbfs / DBFS_COEF); }
ããžã¿ã«åŠç
ããŠãã¢ããã°ä¿¡å·ã§ã¯ãªããããžã¿ã«ä¿¡å·ããããšããäºå®ã«æ»ããŸãããã ããžã¿ã«ä¿¡å·ã«ã¯ãé³éãæäœãããšãã«èæ ®ããå¿ èŠããã2ã€ã®æ©èœããããŸãã
- ä¿¡å·ã¬ãã«ã瀺ããã粟床ã¯å¶éãããŠããŸãïŒãããŠéåžžã«åŒ·åã§ãã16ãããã¯ãæšæºã®æµ®åå°æ°ç¹æ°ã«äœ¿çšããããã®ã®2åã§ãïŒã
- ä¿¡å·ã«ã¯ããããè¶ ããããšãã§ããªãã¬ãã«ã®äžéããããŸãã
ä¿¡å·ã¬ãã«ã«ã¯ç²ŸåºŠã®å¶éããããšããäºå®ããã2ã€ã®ããšãç¶ããŸãã
- é³éã倧ãããªããšãç²ç ãã€ãºãå¢å ããŸãã å°ããªå€æŽã®å Žåãåæãã€ãºã¬ãã«ã¯ç®ç«ã£ãŠéãã§ãããããããã¯éåžžããã»ã©éèŠã§ã¯ãããŸããããŸããå®å šã«4ã8åäžããããšãã§ããŸãïŒããšãã°ã±12dBã®ã¹ã±ãŒã«å¶éãæã€ã€ã³ã©ã€ã¶ãŒã䜿çšããŸãïŒã
- æåã«ä¿¡å·ã¬ãã«ãå€§å¹ ã«äžããŠãã匷ãäžããã¹ãã§ã¯ãããŸãã-åæã«ãæåã¯ååšããªãã£ãæ°ããç²ç ãã€ãºãçŸããå¯èœæ§ããããŸãã
ä¿¡å·ã«äžéã¬ãã«ããããšããäºå®ããã1ãè¶ ããŠå®å šã«é³éãäžããããšã¯ã§ããŸããã ãã®å Žåãå¢çãããé«ãããŒã¯ã¯ãã«ãããªãããããããŒã¿æ倱ãçºçããŸãã
![](https://habrastorage.org/files/e23/2f9/08e/e232f908e2324696a1e80607184a2d75.png)
å³ 7.ã¯ãªããã³ã°ã
ãœãŒã¹ïŒ https : //en.wikipedia.org/wiki/Clipping_(audioïŒ
å®éã«ã¯ãããã¯ãã¹ãŠããªãŒãã£ãªCDã®æšæºãµã³ããªã³ã°ãã©ã¡ãŒã¿ïŒ16ãããã44.1 kHzïŒã§ã¯åé·æ§ãã»ãšãã©ãªããããé«å質ã®ãµãŠã³ãåŠçãã§ããªãããšãæå³ããŸãã ãããã®ç®çã«ã¯ãããåé·ãªåœ¢åŒã䜿çšããããšããå§ãããŸãã ãã ããåèšãã¡ã€ã«ãµã€ãºã¯é¢æ£åãã©ã¡ãŒã¿ãŒã«æ¯äŸããããããã®ãããªãã¡ã€ã«ããªã³ã©ã€ã³åççšã«çºè¡ããããšã¯ãå§ãã§ããŸããã
äœç©æž¬å®
2ã€ã®ç°ãªãä¿¡å·ã®ããªã¥ãŒã ãæ¯èŒããã«ã¯ããŸãäœããã®æ¹æ³ã§ããã枬å®ããå¿ èŠããããŸãã ä¿¡å·ã®ã©ãŠããã¹ã枬å®ããããã®å°ãªããšã3ã€ã®ã¡ããªãã¯ããããŸã-æ倧ããŒã¯å€ãä¿¡å·ã¬ãã«ã®å¹³åå€ãããã³ReplayGainã¡ããªãã¯ã
æ倧ããŒã¯å€ã¯ãããªã¥ãŒã ãæšå®ããããã®ããªã匱ãã¡ããªãã¯ã§ãã äžè¬çãªé³éã¬ãã«ã¯äžåèæ ®ãããŸãããããšãã°ãé·éšãé²é³ãããšãã»ãšãã©ã®å Žåãéãã«é³ã鳎ããé·ã ããæ°å鳎ããŸãã ãã®ãããªé²é³ã®ä¿¡å·ã¬ãã«ã®æ倧ããŒã¯å€ã¯éåžžã«é«ããªããŸãããã»ãšãã©ã®é²é³ã®ä¿¡å·ã¬ãã«ã¯éåžžã«äœããªããŸãã ãã ãããã®ã¡ããªãã¯ã¯äŸç¶ãšããŠæçšã§ããããã«ãããã¬ã³ãŒãã«é©çšã§ããæ倧ã²ã€ã³ãèšç®ã§ãããã¯ãªããã³ã°ãããŒã¯ã«ããããŒã¿æ倱ã¯ãããŸããã
ä¿¡å·ã¬ãã«ã®å¹³åå€ã¯ãããæçšãªã¡ããªãã¯ã§ãããç°¡åã«èšç®ã§ããŸãããããã§ãé³ã®ç¥èŠæ¹æ³ã«é¢é£ããé倧ãªæ¬ ç¹ããããŸãã åãå¹³åä¿¡å·ã¬ãã«ã§èšé²ãããäžžéžã®éåã声ãšæ»ã®roé³ã¯ããŸã£ããç°ãªãæ¹æ³ã§ç¥èŠãããŸãã
ReplayGainã¯ãé²é³ããªã¥ãŒã ã®ç¥èŠã¬ãã«ãæãæ£ç¢ºã«äŒããé³é¿ç¥èŠã®ççåŠçããã³å¿ççç¹æ§ãèæ ®ããŸãã ã¬ã³ãŒãã£ã³ã°ã®å·¥æ¥çç£ã§ã¯ãå€ãã®ã¬ã³ãŒãã£ã³ã°ã¹ã¿ãžãªã§äœ¿çšãããŠãããã»ãšãã©ã®äžè¬çãªã¡ãã£ã¢ãã¬ãŒã€ãŒã§ããµããŒããããŠããŸãã ïŒ ãã·ã¢ã® WIKI ã«é¢ããèšäºã«ã¯å€ãã®äžæ£ç¢ºããå«ãŸããŠãããå®éã«ã¯æè¡ã®æ¬è³ªãæ£ãã説æããŠããŸããïŒ
ããªã¥ãŒã ã®æ£èŠå
ããŸããŸãªé²é³ã®é³éã枬å®ã§ããå Žåã¯ãæ£èŠåã§ããŸãã ããŒãã©ã€ãºã®èãæ¹ã¯ãç°ãªãã¬ãã«ã®é³ãåãã¬ãã«ã®ç¥èŠã©ãŠããã¹ã«ããããšã§ãã ãããè¡ãã«ã¯ãããã€ãã®ç°ãªãã¢ãããŒãã䜿çšãããŸãã ååãšããŠãé³éãæ倧åããããšããŸãããæ倧信å·ã¬ãã«ã®å¶éã«ãããããã¯åžžã«å¯èœãšã¯éããŸããã ãããã£ãŠãéåžžããã¹ãŠã®ä¿¡å·ãå°éããããšããæ倧å€ïŒããšãã°ã-14 dBFSïŒãããããã«å°ããå€ã䜿çšãããŸãã
ããªã¥ãŒã ã®æ£èŠåã¯ãåäžã®é²é³ã®ãã¬ãŒã ã¯ãŒã¯å ã§å®è¡ãããå ŽåããããŸãããé²é³ã®ç°ãªãéšåã¯ç°ãªãå€ã§å¢å¹ ããããããç¥èŠãããé³éã¯åãã«ãªããŸãã ãã®ã¢ãããŒãã¯ãã³ã³ãã¥ãŒã¿ãããªãã¬ãŒã€ãŒã§éåžžã«ãã䜿çšãããŸããå€ãã®æ ç»ã®ãµãŠã³ããã©ãã¯ã«ã¯ãé³éã倧ããç°ãªãã»ã¯ã·ã§ã³ãå«ãŸããŠããå ŽåããããŸãã ãã®ãããªç¶æ³ã§ã¯ãåŸã§ããããã©ã³ãªãã§æ ç»ãèŠããšãã«åé¡ãçºçããŸããäž»äººå ¬ã®ãããããéåžžèãããé³éã§ã¯ãã·ã§ãããé£äººãèµ·ããããšãã§ããŸãã ãããŠãã·ã§ãããè³ã«åœãããªãããªã¥ãŒã ã§ã¯ããããã声ã¯äžè¬çã«èŠåããã€ããªããªããŸãã ãã©ãã¯å ã®é³éã®æ£èŠåã«ããããã¬ãŒã€ãŒã¯éããªãšãªã¢ã§ã¯é³éãèªåçã«äžãã倧ããªãšãªã¢ã§ã¯é³éãäžããŸãã ãã ãããã®ã¢ãããŒãã¯ãéããªé³ãšå€§ããªé³ã®éã®æ¥æ¿ãªç§»è¡äžã«åçŸã®æçœãªã¢ãŒãã£ãã¡ã¯ããäœæããæã«ã¯ããã€ãã®é³ã®é³éãé倧è©äŸ¡ããŸãã
ãŸãããã©ãã¯ã®å šäœçãªé³éãäžããããã«å éšæ£èŠåãå®è¡ãããå ŽåããããŸãã ããã¯ãå§çž®ã䌎ãæ£èŠåãšåŒã°ããŸãã ãã®ã¢ãããŒãã§ã¯ãä¿¡å·å šäœãç¹å®ã®éã§å¢å¹ ããããšã«ãããä¿¡å·ã¬ãã«ã®å¹³åå€ãæ倧åãããŸãã æ倧ã¬ãã«ãè¶ ããããã«ãå²ç€Œããåããã¯ãã®é åã¯ããããåé¿ããŠãããå°ãªãéã§å¢å¹ ãããŸãã ãã®é³éãäžããæ¹æ³ã¯ããã©ãã¯ã®é³è³ªãå€§å¹ ã«äœäžãããŸãããããã§ããå€ãã®ã¬ã³ãŒãã£ã³ã°ã¹ã¿ãžãªã¯ããã䜿çšããããšã軜èŠããŸããã
ãã£ã«ã¿ãªã³ã°
ãã¹ãŠã®ãªãŒãã£ãªãã£ã«ã¿ãŒã«ã€ããŠã¯èª¬æããŸãããWebAudio APIã«ååšããæšæºçãªãã£ã«ã¿ãŒã«éå®ããŸãã æãåçŽã§æãäžè¬çãªã®ã¯ããã€ã«ãããã£ã«ã¿ãŒïŒ BiquadFilterNode ïŒã§ããããã¯ãéåžžã«å€æ°ã®å¹æãåçŸã§ããç¡éã€ã³ãã«ã¹å¿çãæã€ã¢ã¯ãã£ããª2次ãã£ã«ã¿ãŒã§ãã ãã®ãã£ã«ã¿ãŒã®åäœåçã¯ããããã2ã€ã®ãµã³ãã«ãæã€2ã€ã®ãããã¡ãŒã®äœ¿çšã«åºã¥ããŠããŸãã 1ã€ã®ãããã¡ãŒã«ã¯å ¥åä¿¡å·ã®æåŸã®2ã€ã®ã«ãŠã³ããå«ãŸãããã1ã€ã®ãããã¡ãŒã«ã¯åºåä¿¡å·ã®æåŸã®2ã€ã®ã«ãŠã³ããå«ãŸããŸãã çµæã®å€ã¯ãçŸåšã®ãµã³ãã«ãšãäž¡æ¹ã®ãããã¡ããã®ãµã³ãã«ã«äºåã«èšç®ãããä¿æ°ãä¹ç®ãã5ã€ã®å€ãåèšããããšã«ãã£ãŠååŸãããŸãã ãã®ãã£ã«ã¿ãŒã®ä¿æ°ã¯çŽæ¥èšå®ãããŸããããåšæ³¢æ°ãQãã¡ã¯ã¿ãŒïŒQïŒãã²ã€ã³ã®ãã©ã¡ãŒã¿ãŒããèšç®ãããŸãã
以äžã®ãã¹ãŠã®ã°ã©ãã«ã¯ã20 Hzã20,000 Hzã®åšæ³¢æ°ç¯å²ã衚瀺ãããŸãã 暪軞ã¯åšæ³¢æ°ã瀺ãã察æ°ç®çãããã«æ²¿ã£ãŠé©çšãããŸãã瞊軞ã¯ã0ãã2ãŸã§ã®å€§ããïŒé»è²ã®ã°ã©ãïŒããŸãã¯-PiããPiãŸã§ã®äœçžã·ããïŒç·è²ã®ã°ã©ãïŒã瀺ããŸãã ãã¹ãŠã®ãã£ã«ã¿ãŒã®åšæ³¢æ°ïŒ632 HzïŒã¯ãã°ã©ãã®èµ€ãç·ã§ããŒã¯ãããŠããŸãã
ããŒãã¹
![](https://habrastorage.org/files/548/4ac/993/5484ac993c1c4d7893868e2b15144589.png)
å³ 8.ããŒãã¹ãã£ã«ã¿ãŒã
èšå®ããåšæ³¢æ°ããäœãåšæ³¢æ°ã®ã¿ãééãããŸãã ãã£ã«ã¿ãŒã¯ãåšæ³¢æ°ãšå質ä¿æ°ã«ãã£ãŠèšå®ãããŸãã
ãã€ãã¹
![](https://habrastorage.org/files/f68/238/4a9/f682384a97784e89912d01db8420f965.png)
å³ 9.ãã€ãã¹ãã£ã«ã¿ãŒã
ããŒãã¹ãšåæ§ã«æ©èœããŸãããæå®ããåšæ³¢æ°ãããé«ãåšæ³¢æ°ãééãããäœãåšæ³¢æ°ãééãããªãç¹ãç°ãªããŸãã
ãã³ããã¹
![](https://habrastorage.org/files/8a8/5c8/5a9/8a85c85a974644d5ae25907f29db4ed4.png)
å³ 10.ãã³ããã¹ãã£ã«ã¿ãŒã
ãã®ãã£ã«ã¿ãŒã¯ããéžæçã§ã-ç¹å®ã®åšæ³¢æ°åž¯åã®ã¿ãééãããŸãã
ããã
![](https://habrastorage.org/files/ed0/ec7/937/ed0ec7937c154cc68d749f306a881b0e.png)
å³ 11.ãã£ã«ã¿ãŒã¯ãããã§ãã
ããã¯ãã³ããã¹ã®å察ã§ã-äžãããã垯åå€ã®ãã¹ãŠã®åšæ³¢æ°ãééãããŸãã ããããè¡æã®æžè¡°ã®ã°ã©ããšãããã®ãã£ã«ã¿ãŒã®äœçžç¹æ§ã®éãã«æ³šç®ãã䟡å€ããããŸãã
ããŒã·ã§ã«ã
![](https://habrastorage.org/files/65a/074/993/65a0749931fe4b388eaf503b30cd1bf1.png)
å³ 12.ããŒã·ã§ã«ããã£ã«ã¿ãŒã
ããã¯ããããã¹ããŒãããªãã€ãã¹ããŒãžã§ã³ã§ããç¹å®ã®åšæ³¢æ°ããäœãåšæ³¢æ°ãå¢åŒ·ãŸãã¯æžè¡°ããå€æŽããã«é«ãåšæ³¢æ°ãééãããŸãã ãã£ã«ã¿ã¯ãåšæ³¢æ°ãšã²ã€ã³ã«ãã£ãŠèšå®ãããŸãã
ãã€ã·ã§ã«ã
![](https://habrastorage.org/files/cee/836/d36/cee836d3681e49fab031fbc957c50f49.png)
å³ 13.ãã€ã·ã§ã«ããã£ã«ã¿ãŒã
ããŒãã¹ã®ããã¹ããŒããªããŒãžã§ã³-æå®ã®åšæ³¢æ°ããé«ãåšæ³¢æ°ã匷åãŸãã¯æžè¡°ããããããäœãåšæ³¢æ°ãå€æŽããã«æž¡ããŸãã
ããŒãã³ã°
![](https://habrastorage.org/files/9cc/341/c65/9cc341c65d8c4da39f7c32a9964b04f1.png)
å³ 14.ãã£ã«ã¿ãŒã¯ããŒã¯ã«éããŠããŸãã
ããã¯ãããã®ãããã¹ããŒãããªããŒãžã§ã³ã§ã-ç¹å®ã®ç¯å²ã®åšæ³¢æ°ã匷åãŸãã¯æžè¡°ããä»ã®åšæ³¢æ°ãå€æŽããã«ééãããŸãã ãã£ã«ã¿ãŒã¯ãåšæ³¢æ°ãã²ã€ã³ãå質ä¿æ°ã«ãã£ãŠèšå®ãããŸãã
ãªãŒã«ãã¹ãã£ã«ã¿ãŒ
![](https://habrastorage.org/files/358/631/ab9/358631ab9be448ec9e0b3071e1d96da3.png)
å³ 15.ãªãŒã«ãã¹ãã£ã«ã¿ãŒã
ãªãŒã«ãã¹ã¯ä»ã®ãã¹ãŠãšã¯ç°ãªããŸã-ä¿¡å·ã®æ¯å¹ ç¹æ§ãå€æŽããã代ããã«ç¹å®ã®åšæ³¢æ°ã®äœçžã·ãããè¡ããŸãã ãã£ã«ã¿ãŒã¯ãåšæ³¢æ°ãšå質ä¿æ°ã«ãã£ãŠèšå®ãããŸãã
WaveShaperNodeãã£ã«ã¿ãŒ
ãŠã§ãŒãã·ã§ã€ããŒ ïŒ en ïŒã¯ããµãŠã³ãã®æªã¿ã®è€éãªå¹æãå®åŒåããããã«äœ¿çšãããŸããç¹ã«ã ãæªã¿ã ã ããªãŒããŒãã©ã€ãã ãããã³ããã¡ãºãã®å¹æãå®è£ ããããã«äœ¿çšã§ããŸãã ãã®ãã£ã«ã¿ãŒã¯ãå ¥åä¿¡å·ã«ç¹å¥ãªã·ã§ãŒãã³ã°æ©èœãé©çšããŸãã ãã®ãããªé¢æ°ãæ§ç¯ããããã®ååã¯éåžžã«è€éã§ãããå¥ã®èšäºã«åºã¥ããŠããããããããã®èª¬æã¯çç¥ããŸãã
ConvolverNodeãã£ã«ã¿ãŒ
ç¹å®ã®ã€ã³ãã«ã¹å¿çãèšå®ãããªãŒãã£ãªãããã¡ãŒã§å ¥åä¿¡å·ã®ç·åœ¢ç³ã¿èŸŒã¿ãçæãããã£ã«ã¿ãŒã ã€ã³ãã«ã¹å¿çã¯ãåäžã®ã€ã³ãã«ã¹ã«å¯Ÿããç¹å®ã®ã·ã¹ãã ã®å¿çã§ãã ç°¡åã«èšãã°ãããã¯é³ã®ãåçããšåŒã¶ããšãã§ããŸãã å®éã®åçã«å æ³¢ãåå°ãåžåãçžäºäœçšã®çšåºŠã«é¢ããæ å ±ãå«ãŸããŠããå Žåãã€ã³ãã«ã¹å¿çã«ã¯é³æ³¢ã«é¢ããåæ§ã®æ å ±ãå«ãŸããŠããŸãã ãªãŒãã£ãªã¹ããªãŒã ãšåæ§ã®ãåçããšã®ç³ã¿èŸŒã¿ã¯ãå ¥åä¿¡å·ã«ã€ã³ãã«ã¹å¿çãåãããç°å¢ã®åœ±é¿ããã®ãŸãŸèª²ããŸãã
ãã®ãã£ã«ã¿ãŒã§ã¯ãä¿¡å·ãåšæ³¢æ°æåã«å解ããå¿ èŠããããŸãã ãã®å解ã¯ã é«éããŒãªãšå€æã䜿çšããŠå®è¡ãããŸã ïŒæ®å¿µãªããããã·ã¢èªã®ãŠã£ãããã£ã¢ã«ã¯ãFFTãäœã§ããããæ¢ã«ç¥ã£ãŠããŠãåãéèŠã§ãªãèšäºãèªåã§æžãããšãã§ãã人ã®ããã«ããŸã£ããæå³ã®ãªãèšäºãæžãããŠããããã§ãïŒã å°å ¥éšã§è¿°ã¹ãããã«ããã®èšäºã§ã¯FFTæ°åŠãåŒçšããŸããããããžã¿ã«ä¿¡å·åŠçã®åºç€ãšãªãã¢ã«ãŽãªãºã ã«ã€ããŠèšåããªãã®ã¯ééã£ãŠããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãªããŒãå¹æãå®è£ ããŸã ã ããŸããŸãªãšãã§ã¯ãïŒ 1ã2 ïŒãå®è£ ããããã®ãã£ã«ã¿ãŒçšã®æ¢è£œã®ãªãŒãã£ãªãããã¡ãŒã®ã©ã€ãã©ãªãå€æ°ãããŸãããã®ãããªã©ã€ãã©ãªã¯ããªã¯ãšã¹ãã«å¿ããŠããèŠã€ãããŸã[ã€ã³ãã«ã¹å¿çmp3]ã
çŽ æ
- é³ã®ããžã¿ã«è¡šçŸã«ãããé³éã®æŠå¿µãšé³éãäžããæ¹æ³ã«ã€ããŠ
- é³
- æ¯å¹
- é »åºŠ
- ããžã¿ã«ä¿¡å·
- ã¢ããã°ä¿¡å·
- ããžã¿ã«ä¿¡å·åŠç
- æ³¢ã®è¿œå ãšããžã¿ã«åã®ã€ã³ã¿ã©ã¯ãã£ããªäŸ
- A / Dã³ã³ããŒã¿ãŒ
- D / Aã³ã³ããŒã¿ãŒ
- ãã«ã¹ç¬Šå·å€èª¿
- PCM WAV圢åŒ
- ãµã³ããªã³ã°ïŒenïŒ
- ãµã³ããªã³ã°ã¬ãŒã
- ã³ãã«ãã³ãã®å®ç
- ãã€ãã¹ãåšæ³¢æ°
- ãµã³ããªã³ã°æ·±åºŠ
- ãšã€ãªã¢ã¹
- ãã·ãã«
- è³ã®æ§é
- é³å§
- ç¥èŠããªã¥ãŒã
- ã¯ãªããã³ã°
- ReplayGainã®èª¬æ
- ReplayGainã®ä»æ§
- é«éããŒãªãšå€æ ã Wiki ã Wiki
- ã€ã³ãã«ã¹å¿ç
- äœçžåšæ³¢æ°å¿ç
- åšæ³¢æ°å¿ç
- ç¡éã€ã³ãã«ã¹å¿çãã£ã«ã¿ãŒ
- æéã€ã³ãã«ã¹å¿çãã£ã«ã¿ãŒ
- åäºæ¬¡ãã£ã«ã¿ãŒïŒenïŒ
- BiquadFilterNode
- HTML5ãªãŒãã£ãªW3C
- Web Audio API
- ãŠã§ãŒãã·ã§ã€ããŒ
- æªã¿
- ãªãŒããŒãã©ã€ã
- ãã¡ãº
- ãªããŒã
- ç³ã¿èŸŒã¿
- ã€ã³ã©ã€ã¶ãŒ
ãã®èšäºã®è³æãåéããæçãªã¢ããã€ã¹ãæäŸããŠãããååã«æè¬ããŸãã
ããªã¥ãŒã ãæ£èŠåããã³æ倧åããããã®ã¢ã«ãŽãªãºã ã説æããŠãããTaras Audiophile Kovrizhenkoãšããã®èšäºã«é¢ããå€ãã®èª¬æãšãã³ããSergeyãå¿ããŠããŸã£ã Konstantinovã«æè¬ããŸãã
UPDã ãã£ã«ã¿ãªã³ã°ã«é¢ããã»ã¯ã·ã§ã³ãä¿®æ£ããããŸããŸãªã¿ã€ãã®ãã£ã«ã¿ãŒã®ãªã³ã¯ãè¿œå ããŸããã Denis deniskreshikhin KreshikhinãšNikita merlin -vrn Kipriyanovã«æ³šæãæã£ãŠãããŠããããšãã