Slide 1

Slide 1 text

ࠓ೔͔Β෼͔Δ AVAudioEngineͷશͯ 2020.09.19 ߹ಉձࣾφΫα
 ઎෦ ॡฏ

Slide 2

Slide 2 text

ࣗݾ঺հ ઎෦ ॡฏ • ߹ಉձࣾφΫαɹ୅ද • ΤϯλϝͷϥΠϒ഑৴Λࢧ͍͑ͯ ·͢ • झຯ͸࡞ۂͱωοτϫʔΫӡ༻ • iOSͷҰ൪޷͖ͳϑϨʔϜϫʔΫ͸ VideoToolboxͱAudioToolboxͱ Accelerate

Slide 3

Slide 3 text

͸͡Ίʹ 1.

Slide 4

Slide 4 text

w ຊ೔ͭ໨ͷηογϣϯͱ͍͏͜ͱͰɺօ͞Μ੝Γ্͕ͬ ͍ͯ·͔͢ʁ w ࠓ೔͸લ໷ࡇͰ͕͢ɺ໌೔໌ޙ೔΋༷ʑͳηογϣϯ͕͋ Γ·͢ iOSDC લ໷ࡇʂ

Slide 5

Slide 5 text

w ࠓ೔ͷηογϣϯ͸ɺଞͷํʑͷηογϣϯΛΑΓਂ͘ཧ ղ͢ΔͨΊʹɺ͋·Γ஌ΒΕ͍ͯͳ͍ίΞͳ࿩Λ͠·͢ w ੋඇࠓ೔ֶΜͰɺଞͷํͷηογϣϯͷࢀߟʹͳΕ͹ͱ ࢥ͍ͬͯ·͢ iOSDC લ໷ࡇʂ

Slide 6

Slide 6 text

w ࠓ೔͸χονͳ࿮ͳͷͰɺ͋·Γʹ΋ٕज़͹͔Γ࿩͍ͯ͠ Δͱ຾ͨ͘ͳΓͦ͏ͳͷͰɺఔΑ͘ࡶஊ΋ڬΈͳ͕Βਐߦ ͍͖ͯ͠·͢ w ෼ͱ௕͍ͷͰɺਫ෼ͪΌΜͱऔ͍ͬͯͩ͘͞ʂ iOSDC લ໷ࡇʂ

Slide 7

Slide 7 text

w ͜ͷηογϣϯͰ͸ɺ؆ུԽͷͨΊʹදݱΛม͍͑ͯΔ෦ ෼͕ଟ͋͘Γ·͢ w ޡࣈ୤ࣈ΍ؒҧ͍ͳͲؾ͍ͮͨΒɺεϐʔΧʔ·Ͱͬͦ͜ Γڭ͍͑ͯͩ͘͞ɻԹ͔͍໨Ͱݟक͍͚ͬͯͨͩΔͱ޾͍ Ͱ͢ɻ iOSDC લ໷ࡇʂ

Slide 8

Slide 8 text

w ͦΕͰ͸ɺຊ୊ʹೖΓ·͢ɻ iOSDC લ໷ࡇʂ

Slide 9

Slide 9 text

͸͡Ίʹ "VEJP6OJU "7"VEJP4FTTJPO "7"VEJP&OHJOF "7"VEJP/PEF &YBNQMFT ·ͱΊ ࢀߟࢿྉ ΋͘͡

Slide 10

Slide 10 text

w J04Ͱ͸ɺΦʔσΟΦपΓͷػೳ͸$PSF"VEJPͱݺ͹ΕΔ ΞʔΩςΫνϟʹ·ͱΊΒΕ͍ͯΔ w $PSF"VEJPʹ͸ͭͷϑϨʔϜϫʔΫ͕͋Γɺͦͷதʹ αʔϏεͱݺ͹ΕΔػೳ͕͋Δɹ CoreAudio

Slide 11

Slide 11 text

iOS Audio Stack "7"VEJP&OHJOFJO1SBDUJDF"QQMFΑΓਤΛҾ༻ IUUQTEFWTUSFBNJOHDEOBQQMFDPNWJEFPTXXEDYYWPWPWL@BWBVEJPFOHJOF@JO@QSBDUJDFQEG

Slide 12

Slide 12 text

w $PSF"VEJPͷҰ෦ػೳ͸"7'PVOEBUJPOʹҠಈ͞Ε͍ͯΔ w "7"VEJP4FTTJPO "VEJP4FTTJPO "7"VEJP&OHJOF "6(SBQI w ݟͯͷ௨Γɺ"7'PVOEBUJPOʹ͸QSFGJYʹ"7͕෇͍͍ͯΔ w $PSF"VEJPΛ֮͑ͳͯ͘΋ΞϓϦ͸͔͚Δ͕ɺτϥϒϧγϡʔςΟ ϯά͢Δ࣌ʹେมͳͷͰɺ$PSF"VEJPΛֶΜͰཧղΛਂΊ͍ͨ CoreAudio

Slide 13

Slide 13 text

AudioUnit 2.

Slide 14

Slide 14 text

w ΦʔσΟΦϢχοτͱݺ͹ΕΔΦʔσΟΦॲཧ༻ͷϓϥά ΠϯΛ࢖༻͢ΔͨΊͷΠϯλʔϑΣʔεΛఏڙ͍ͯ͠Δ w J04Ͱ͸"QQMF͕ఏڙ͍ͯ͠ΔΦʔσΟΦϢχοτ͔͠࢖ ༻͢Δ͜ͱ͕ग़དྷͳ͍ AudioUnit

Slide 15

Slide 15 text

w L"VEJP6OJU5ZQF@0VUQVU w L"[email protected]%FWJDF w L"VEJP6OJU5ZQF@'PSNBU$POWFSUFS w L"VEJP6OJU5ZQF@&GGFDU w L"[email protected] w L"VEJP6OJU5ZQF@(FOFSBUPS AudioUnitͷछྨ

Slide 16

Slide 16 text

w L"VEJP6OJU4VC5ZQF@3FNPUF*0 w J04Ͱ͸جຊతʹ3FNPUF*0͕࢖ΘΕΔ w L"VEJP6OJU4VC5ZQF@7PJDF1SPDFTTJOH*0 w 7P*1Λ࢖͏ͱ͖ʹ࢖ΘΕΔ w ΤίʔΩϟϯηϧ΍ϊΠζΩϟϯηϧ͕ࣗಈతʹ0/ʹͳΔ kAudioUnitType_Output

Slide 17

Slide 17 text

w L"VEJP6OJU4VC5ZQF@4BNQMFS w αϯϓϥʔΛ໐Βͨ͢ΊͷΦʔσΟΦϢχοτ kAudioUnitType_MusicDevice

Slide 18

Slide 18 text

w L"VEJP6OJU4VC5ZQF@"6$POWFSUFS w L"VEJP6OJU4VC5ZQF@"6J1PE5JNF0UIFS w L"VEJP6OJU4VC5ZQF@%FGFSSFE3FOEFSFS w L"[email protected] w L"[email protected] w L"VEJP6OJU4VC5ZQF@/FX5JNF1JUDI w L"VEJP6OJU4VC5ZQF@3PVOE5SJQ""$ kAudioUnitType_FormatConverter w L"VEJP6OJU4VC5ZQF@4QMJUUFS w L"VEJP6OJU4VC5ZQF@7BSJTQFFE

Slide 19

Slide 19 text

w L"VEJP6OJU4VC5ZQF@#BOE1BTT'JMUFS w L"VEJP6OJU4VC5ZQF@%FMBZ w L"VEJP6OJU4VC5ZQF@%JTUPSUJPO w L"VEJP6OJU4VC5ZQF@%ZOBNJDT1SPDFTTPS w L"VEJP6OJU4VC5ZQF@)JHI1BTT'JMUFS w L"VEJP6OJU4VC5ZQF@)JHI4IFMG'JMUFS w L"VEJP6OJU4VC5ZQF@-PX1BTT'JMUFS w L"VEJP6OJU4VC5ZQF@-PX4IFMG'JMUFS kAudioUnitType_Effect w L"VEJP6OJU4VC5ZQF@/#BOE&2 w L"VEJP6OJU4VC5ZQF@1BSBNFUSJD&2 w L"VEJP6OJU4VC5ZQF@1FBL-JNJUFS w L"VEJP6OJU4VC5ZQF@4BNQMF%FMBZ

Slide 20

Slide 20 text

w L"[email protected]$IBOOFM.JYFS w ෳ਺ͷνϟϯωϧΛϛοΫε͢ΔΦʔσΟΦϢχοτ w L"[email protected] w ෳ਺νϟϯωϧΛͦͷ··ѻ͏ΦʔσΟΦϢχοτ kAudioUnitType_Mixer

Slide 21

Slide 21 text

w L"VEJP6OJU4VC5ZQF@4DIFEVMFE4PVOE1MBZFS w ࢦఆͨ࣌ؒ͠ʹ࠶ੜ͢ΔΦʔσΟΦΛεέδϡʔϦϯά͢Δ δΣωϨʔλʔϢχοτ w L"VEJP6OJU4VC5ZQF@"VEJP'JMF1MBZFS w ϑΝΠϧͷ࠶ੜΛߦ͏δΣωϨʔλʔϢχοτ kAudioUnitType_Generator

Slide 22

Slide 22 text

w "VEJP6OJUΛͦͷ··ѻ͏ͷ͸ͱͯ΋େม w ͦͷͨΊɺ"7"VEJP6OJUͱݺ͹ΕΔϥούʔ͕͋Δ w "7"VEJP&OHJOFͰ͸"7"VEJP6OJUΛ࢖͏͜ͱͰɺ಺෦ తʹ͸"VEJP6OJUΛݺͼग़͍ͯ͠Δ AVAudioUnit

Slide 23

Slide 23 text

AVAudioSession 3.

Slide 24

Slide 24 text

iOS Audio Stack "7"VEJP&OHJOFJO1SBDUJDF"QQMFΑΓਤΛҾ༻ IUUQTEFWTUSFBNJOHDEOBQQMFDPNWJEFPTXXEDYYWPWPWL@BWBVEJPFOHJOF@JO@QSBDUJDFQEG

Slide 25

Slide 25 text

w J04Ͱ͸ɺ"VEJP4FTTJPO4FSWJDFTͱݺ͹ΕΔαʔϏε͕ ͋ͬͨ w ଞͷΞϓϦέʔγϣϯͷঢ়گʹԠͯ͡ɺΞϓϦέʔγϣϯ ͷΦʔσΟΦͷಈ࡞Λ؅ཧ͢Δ͜ͱ͕Ͱ͖Δ AudioSession

Slide 26

Slide 26 text

w ݩʑ"VEJP4FTTJPO͸"VEJP5PPMCPYʹ͕͋ͬͨɺݱࡏ͸ "7'PVOEBUJPOʹ͋Δ"7"VEJP4FTTJPOʹஔ͖׵Θͬͨ w "7"VEJP4FTTJPO͸ɺ"VEJP4FTTJPOΑΓ΋ѻ͍΍͘͢ ͳ͍ͬͯΔ AVAudioSession

Slide 27

Slide 27 text

w EFGBVMU w ௨ৗ࣌͸ͪ͜ΒΛબ୒ w WPJDF$IBU WJEFP$IBU w "VEJP6OJUͷ7PJDF1SPDFTTJOH*0͕༗ޮʹͳΔ w NPWJF1MBZCBDL w εςϨΦ͕ڧԽ͞ΕΔ w TQPLFO"VEJP w Ի੠ͷׂΓࠐΈ࣌ʹҰ࣌தஅ͢Δͱ͖ʹ࢖͏ʢΧʔφϏήʔγϣϯͷҊ಺ͳͲʣ Mode

Slide 28

Slide 28 text

w BNCJFOU w ϩοΫͨ͠৔߹΍αΠϨϯτʹͨ͠৔߹͸Ի͕ϛϡʔτʹͳΔ w QMBZCBDL w BNCJFOUͱ͸ҟͳΓɺϩοΫͨ͠৔߹΍αΠϨϯτʹͨ͠৔߹Ͱ΋Ի͸ྲྀΕΔ w SFDPSE w ࿥Ի͢Δ৔߹ʹ࢖͏ɻ࿥Ի͠ͳ͕ΒԿ͔ྲྀ͍ͨ͠৔߹͸QMBZ"OE3FDPSEΛ࢖ ͏ɻ Category

Slide 29

Slide 29 text

w NJY8JUI0UIFST w ଞͷΞϓϦ͔ΒׂΓࠐΈ͕͋ͬͯ΋࠶ੜΛதஅ͠ͳ͍Φϓγϣϯ w BMMPX#MVFUPPUI w #MVFUPPUIΛϧʔςΟϯάͰ͖ΔΑ͏ʹ͢Δ w BMMPX"JS1MBZ w "JS1MBZΛϧʔςΟϯάͰ͖ΔΑ͏ʹ͢Δ w EFGBVMU5P4QFBLFS w ϧʔςΟϯάΛ಺ଂεϐʔΧʔ༏ઌʹ͢Δ Category Options

Slide 30

Slide 30 text

w TFU1SFGFSSFE4BNQMF3BUF w αϯϓϧϨʔτΛࢦఆͰ͖Δɻ͋͘·Ͱ΋༏ઌͳͷͰɺඞͣ͠΋ࢦఆ͞ΕͨαϯϓϧϨʔτ͕࢖ΘΕΔͱ ͸ݶΒͳ͍ɻ w TFU1SFGFSSFE%BUB4PVSDF w ͲͷϚΠΫΛ࢖͏͔ࢦఆ͢Δ͜ͱ͕Ͱ͖Δɻલ໘ɾഎ໘Ͱ੾Γସ͍͑ͨͱ͖ʹ࢖͏ɻ w TFU1SFGFSSFE*OQVU w ೖྗͷϙʔτΛࢦఆ͢Δ͜ͱ͕Ͱ͖Δɻ64#΍#MVFUPPUIΛ༏ઌͯ͠࢖͍͍ͨͳͲɻ w PWFSSJEF0VUQVU"VEJP1PSU w ग़ྗϙʔτΛ্ॻ͖Ͱ͖Δɻ͕ɺ͜ΕΛࢦఆ͢Δͱڍಈ͕͓͔͘͠ͳΔ͜ͱ͕Α͘ଟ͍ɻ Other

Slide 31

Slide 31 text

w "7"VEJP4FTTJPO͸TFU"DUJWF USVF ͰɺͦͷηογϣϯΛ༗ޮʹ͢Δ͜ͱ͕Ͱ͖Δ w TFU"DUJWF࣌ʹOPUJGZ0UIFST0O%FBDUJWBUJPOͷΦϓγϣϯΛ෇༩͢Δ͜ͱͰɺࣗ਎ͷηογϣϯ͕ඇΞΫ ςΟϒʹͳͬͨ࣌ʹଞͷΞϓϦʹ௨஌͢Δ͜ͱ͕Ͱ͖Δ w "7"VEJP4FTTJPOͷTFU"DUJWF͸Կ౓΋ݺͼग़ͯ͠΋͍͍ɻҰ౓༗ޮʹͳ͍ͬͯΔ৔߹͸Τϥʔ͕ฦͬͯ͘ Δɻ w ΞϓϦΛऴྃ͢Δ৔߹͸ɺηογϣϯ͕ඞཁͳ͍৔߹͸TFU"DUJWF GBMTF ͰηογϣϯΛऴྃͤ͞Δඞཁ͕͋ Δ w ଟ͘ͷΞϓϦʹ͓͍ͯɺηογϣϯΛऴྃ͠ͳ͍έʔε͕ଟ͍ͨΊɺࠔ͍ͬͯ·͢ɻօ͞ΜɺඞͣΞϓϦ ऴྃ͢Δ৔߹͸TFU"DUJWF GBMTF ʹ͍ͯͩ͘͠͞ʂ Active

Slide 32

Slide 32 text

w "7"VEJP4FTTJPOͰ͸ɺ/PUJGJDBUJPO$FOUFSͰηογϣϯͷঢ়ଶΛऔಘ͢Δ͜ͱ͕Ͱ͖Δ w "7"VEJP4FTTJPOJOUFSSVQUJPO/PUJGJDBUJPOͰ͸ɺ్தͰׂΓࠐΈ͕ೖͬͨࡍʹ௨஌Λड͚औΔ͜ͱ͕Ͱ͖ Δɻ·ͨɺͦͷ࣌ʹׂΓࠐΈཧ༝͕"7"VEJP4FTTJPO*OUFSSVQUJPO5ZQFͱͯ͠औಘ͢Δ͜ͱ͕Ͱ͖Δɻ w "7"VEJP4FTTJPOSPVUF$IBOHF/PSUJGJDBUJPOͰ͸ɺԻ੠ग़ྗͷϧʔτ͕มߋʹͳͬͨࡍʹ௨஌Λड͚औΔ͜ ͱ͕Ͱ͖Δɻ·ͨɺͦͷ࣌ʹมߋཧ༝͕"7"VEJP4FTTJPO3PVUF$IBOHF3FBTPOͰऔಘͰ͖Δɻ w "7"VEJP4FTTJPONFEJB4FSWJDFT8FSF3FTFU/PUJGJDBUJPOͰ͸ɺϝσΟΞαʔϏε͕࠶ىಈͨ͠ࡍʹ௨஌Λ ड͚औΔ͜ͱ͕Ͱ͖ΔɻϝσΟΞαʔϏεͷ࠶ىಈ͸ɺҙਤͤͣʹམͪΔ৔߹͕ଟ͘ɺ࠶ىಈͨ͠৔߹͸طଘ ͷηογϣϯ͸ແޮʹͳΔͨΊɺ࠶౓"DUJWF͢Δඞཁ͕͋Δɻ NotificationCenter

Slide 33

Slide 33 text

AVAudioEngine 4.

Slide 34

Slide 34 text

iOS Audio Stack "7"VEJP&OHJOFJO1SBDUJDF"QQMFΑΓਤΛҾ༻ IUUQTEFWTUSFBNJOHDEOBQQMFDPNWJEFPTXXEDYYWPWPWL@BWBVEJPFOHJOF@JO@QSBDUJDFQEG

Slide 35

Slide 35 text

w "7"VEJP&OHJOF͸ɺΦʔσΟΦ৴߸ͷੜ੒ͱॲཧɺΦʔσΟΦͷೖग़ྗ΍ΦʔσΟΦϊʔυͷͭͳ͗ࠐΈΛ ߦ͏Ϋϥε w લੈ͸"VEJP5PPMCPYʹ͋ͬͨ"VEJP6OJU1SPDFTTJOH(SBQI4FSWJDFT "6(SBQI Ͱ͋Δ w "6(SBQIͰ͸ɺάϥϑΦϒδΣΫτͱͯ͠ɺΦʔσΟΦϢχοτΛϊʔυͰ઀ଓ͢Δ͜ͱ͕Ͱ͖͕ͨɺ "7"VEJP&OHJOF΋ಉ͜͡ͱ͕Ͱ͖Δ w "6(SBQIʹൺ΂Δͱɺ"7'PVOEBUJPOʹҠ੶ͨͨ͠Ίɺͱͯ΋ѻ͍΍͘͢ͳ͍ͬͯΔ AVAudioEngine

Slide 36

Slide 36 text

AVAudioNode 5.

Slide 37

Slide 37 text

AVAudioEngine 1MBZFS/PEF .JYFS/PEF 0VUQVU/PEF *OQVU/PEF

Slide 38

Slide 38 text

w "7"VEJP/PEF͸ɺ"7"VEJP&OHJOFʹ͓͍ͯɺ֤ΦʔσΟΦϢχοτΛͭͳ͛ΔϞδϡʔϧͰ͋Δ w "7"VEJP/PEFΛܨ͍͛ͯ͘͜ͱͰɺೖྗͱॲཧͱग़ྗΛ࣮ݱ͢Δ͜ͱ͕Ͱ͖Δ w "7"VEJP/PEF͸ɺ͍͔ͭ͘ͷ੍໿͕͋Δ w 0VUQVU/PEFҎ֎͸ϑΥʔϚοτΛڞ௨ʹ͢Δඞཁ͕͋Δ w .JYFS/PEFͱ0VUQVU/PEF͸໌ࣔతʹݺ͹ΕΔͨΊ࡟আ͢Δ͜ͱ͕Ͱ͖ͳ͍ w ֤ϊʔυ͸ഉଞ੍ޚͰ͋ΔɻͦͷͨΊɺ֤ϊʔυΛෳ਺Օॴ͔ΒݺͿͱϨʔείϯσΟγϣϯ͕ൃੜ͢Δ AVAudioNode

Slide 39

Slide 39 text

AVAudioEngine 1MBZFS/PEF .JYFS/PEF 0VUQVU/PEF *OQVU/PEF

Slide 40

Slide 40 text

w "7"VEJP1MBZFS΍"71MBZFSͱ͸શ͘ҟͳΔ w "7"VEJP1MBZFS/PEF͸"7"VEJP1$.#VGGFS΍"7"VEJP'JMFͳͲͷೖྗΛαϙʔτ͍ͯ͠Δ AVAudioPlayerNode

Slide 41

Slide 41 text

AVAudioEngine 1MBZFS/PEF .JYFS/PEF 0VUQVU/PEF *OQVU/PEF

Slide 42

Slide 42 text

w "7"VEJP*OQVU/PEF͸҉໧తʹݺͼग़͞ΕΔ w ͜͜Ͱ͸ɺೖྗϋʔυ΢ΣΞʢϚΠΫͳͲʣ͔ΒΦʔσΟΦσʔλΛड͚औΔ w "7"VEJP*OQVU/PEFΛଞͷϊʔυͱܨ͛Δ͜ͱͰɺ*OQVU/PEF͔ΒͷೖྗΛड͚औΔ͜ͱ͕Ͱ͖Δ AVAudioInputNode

Slide 43

Slide 43 text

AVAudioEngine 1MBZFS/PEF .JYFS/PEF 0VUQVU/PEF *OQVU/PEF

Slide 44

Slide 44 text

w "7"VEJP.JYFS/PEF͸ɺෳ਺ͷೖྗΛϛοΫεͯ͠ɺͭͷग़ྗʹม׵͢Δ w "7"VEJP.JYFS/PEF͸ɺ҉໧తʹݺ͹ΕΔͷͰফ͢͜ͱ͸Ͱ͖ͳ͍ w .JYFS/PEFʹೖྗ͢Δ΋ͷ͸ϑΥʔϚοτ͕ͦΕͧΕҟͳ͍ͬͯͯ΋໰୊ͳ͍ AVAudioMixerNode

Slide 45

Slide 45 text

AVAudioEngine 1MBZFS/PEF .JYFS/PEF 0VUQVU/PEF *OQVU/PEF

Slide 46

Slide 46 text

w "7"VEJP0VUQVU/PEF͸ɺϋʔυ΢ΣΞʹग़ྗ͢ΔϊʔυͰ͋Δ w "7"VEJP0VUQVU/PEF΋҉໧తʹݺ͹ΕΔͨΊɺফ͢͜ͱ͕Ͱ͖ͳ͍ w ϛϡʔτ͍ͨͨ͠Ίʹ0VUQVU/PEFΛ֎͢͜ͱ͸Ͱ͖ͳ͍͕ɺϛϡʔτΛ࣮૷͢Δ͜ͱ͸Ͱ͖Δʢޙड़ʣ AVAudioOutputNode

Slide 47

Slide 47 text

w "7"VEJP/PEF͸ɺ͜ΕΒҎ֎ʹ΋Ի੠ʹ༷ʑͳΤϑΣΫτΛ͔͚Δ͜ͱ͕Ͱ͖Δ Audio Enhancements

Slide 48

Slide 48 text

w "7"VEJP6OJU3FWFSC w "7"VEJP6OJU5JNF&GGFDU w "7"VEJP6OJU5JNF1JUDI w "7"VEJP6OJU7BSJTQFFE w "7"VEJP6OJU&GGFDU w "7"VEJP6OJU%FMBZ w "7"VEJP6OJU%JTUPSUJPO w "7"VEJP6OJU&2 Audio Enhancements

Slide 49

Slide 49 text

Examples 6.

Slide 50

Slide 50 text

͔͜͜Β͸"7"VEJP&OHJOFͷجຊతͳ࢖͍ํʹֶ͍ͭͯΜͰ͍͖·͠ΐ͏ɻ ࠓճ࢖͏ͷ͸σΟετʔγϣϯͱϦόʔϒͰ͢ɻ جຊతͳ࢖͍ํ

Slide 51

Slide 51 text

جຊతͳ࢖͍ํ ·ͣ͸"7"VEJP4FTTJPOΛηοτΞοϓ͠·͠ΐ͏ɻ*0#VGGFS%VSBUJPOΛઃఆ͢Δ͜ͱͰɺϩʔςϯγʔͰऔಘ ͢Δ͜ͱ͕ՄೳʹͳΓ·͢ɻ

Slide 52

Slide 52 text

جຊతͳ࢖͍ํ "7"VEJP&OHJOFͱ֤/PEFͷηοτΞοϓΛ͍͖ͯ͠·͠ΐ͏ɻBUUBDI͸͓๨Εͳ͘ɻ

Slide 53

Slide 53 text

جຊతͳ࢖͍ํ Ξλον͞Εͨϊʔυ͸࠷ޙʹ઀ଓΛߦ͍·͢ɻͦͷޙɺ"7"VEJP&OHJOFΛελʔτͤ͞ΔͱɺεϐʔΧʔ͔ ΒԻ͕ྲྀΕΔ͸ͣͰ͢ɻ

Slide 54

Slide 54 text

೚ҙͷԻ੠ϑΝΠϧΛ࠶ੜ͢Δ ࠓ౓͸೚ҙͷϑΝΠϧΛ࠶ੜͯ͠Έ·͠ΐ͏ɻϑΝΠϧΛ࠶ੜ͢Δʹ͸·ͣ"7"VEJP'JMFΛ࡞Δඞཁ͕͋Γ· ͢ɻ

Slide 55

Slide 55 text

೚ҙͷԻ੠ϑΝΠϧΛ࠶ੜ͢Δ Ի੠ϑΝΠϧΛ࠶ੜ͢Δʹ͸"7"VEJP1MBZFS/PEFΛ࢖͍·͢ɻઌ΄Ͳͱಉ༷ʹΞλονͯ͠ܨ͗ࠐΈ·͢ɻ ͦͷޙɺઌ΄Ͳ࡞ͬͨTPVSDF'JMFΛQMBZFSͷTDIFEVMF'JMFΛ࢖ͬͯɺϑΝΠϧΛಡΈࠐΈɺ࠶ੜ͠·͢ɻ

Slide 56

Slide 56 text

֤/PEFͰ͸ɺJOTUBMM5BQͰϊʔυͷग़ྗΛ؂ࢹ͢Δ͜ͱ͕Ͱ͖·͢ ͜ͷͱ͖ɺग़ྗόε΍όοϑΝαΠζɺϑΥʔϚοτΛࢦఆ͢Δ͜ͱ͕ՄೳͰ͢ installTap

Slide 57

Slide 57 text

ઌ΄ͲͷJOTUBMM5BQΛ࢖ͬͯɺ"7"VEJP'JMFʹॻ͖ࠐΜͰΈ·͠ΐ͏ɻࠓճ͸ܾΊΒΕͨϑΥʔϚοτͰग़ྗ͢ ΔΑ͏ʹઃఆ͠·͢ɻ AVAudioFileʹॻ͖ࠐΉ

Slide 58

Slide 58 text

"7"VEJP&OHJOF͸ɺग़ྗ͕҉໧తʹݺ͹ΕΔͨΊɺͦͷ··ͩͱεϐʔΧʔ͔ΒԻ͕ྲྀΕͯ͠·͍·͢ɻ ͜ΕΛ๷͙ͨΊʹ"7"VEJP.JYFS/PEFΛ׆༻ͯ͠ɺϛϡʔτΛ࣮૷ͯ͠Έ·͠ΐ͏ɻ ԻΛग़ྗ͠ͳ͍Α͏ʹ͢Δ

Slide 59

Slide 59 text

ԻΛग़ྗ͠ͳ͍Α͏ʹ͢Δ .JYFS/PEFΛͭ࡞Γ·͢ PVUQVU.JYFS͸JOTUBMM5BQΛ࢖͍ɺԻ੠ͷόοϑΝΛͱΔͨΊʹ࢖͍·͢ NVUF.JYFS͸ɺԻ͕εϐʔΧʔʹग़ྗ͠ͳ͍ͨΊʹ༻ҙͨ͠μϛʔͷϛΩαʔͰ͢

Slide 60

Slide 60 text

ԻΛग़ྗ͠ͳ͍Α͏ʹ͢Δ Ξλονͯ͠ܨ͗ࠐΈ·͢ɻ͜ͷͱ͖ॱ൪͕େࣄͰ͢ɻ ઌʹPVUQVU.JYFSΛܨ͗ࠐΈɺ࠷ޙʹNVUF.JYFSΛܨ͗ࠐΈ·͢ɻ͜͏͢Δ͜ͱͰɺεϐʔΧʔ͔Β͸ NVUF.JYFSͷԻ͕ग़ΔͨΊɺແԻʹͳΓ·͢ɻ

Slide 61

Slide 61 text

JOTUBMM5BQΛ׆༻͢Δ͜ͱͰɺ3.4Λऔಘ͢Δ͜ͱ͕Ͱ͖·͢ɻ3.4Λऔಘ͢Δͱɺ༷ʑͳγʔϯͰ׆༻͢Δ͜ ͱ͕Ͱ͖·͢ɻ RMSΛऔಘ͢Δ

Slide 62

Slide 62 text

JOTUBMM5BQͰɺ"7"VEJP1$.#VGGFS͕΍͖ͬͯ·͢ɻ"7"VEJP1$.#VGGFS͔ΒGMPBU$IBOOFM%BUBΛऔΓग़ ͠ɺDIBOOFM%BUB7BMVFʹೖΕ·͢ɻ͜ͷ഑ྻ͸6OTBGF.VUBCMF1PJOUFS'MPBUͰ͋ΔͨΊɺ'MPBUͷ഑ྻʹ ม׵͠·͢ɻ'MPBUͷ഑ྻʹͨ͠ޙɺ3.4ͷܭࢉΛ͠·͢ɻ·ͣ഑ྻͷ஋Λೋ৐͠଍͠߹Θͤ·͢ɻͦͷ߹ܭ஋Λ όοϑΝαΠζͰׂΓɺฏํࠜΛٻΊΔͱ3.4͕ٻΊΒΕ·͢ɻ RMSΛऔಘ͢Δ

Slide 63

Slide 63 text

ϘίʔμʔϥΠϒϥϦͷ8PSMEΛ࢖ͬͯɺ"7"VEJP&OHJOF͔Βऔ͖ͬͯͨόοϑΝ͔Βϐονγϑτͯ͠Έ· ͠ΐ͏ɻ 8PSMEͷϥούʔͰ͋Δ8PSME*O"QQMF IUUQTHJUIVCDPNGV[JLJ8PSME*O"QQMF ͷ&YBNQMFTͰ͸ɺ "7"VEJP&OHJOFΛ࢖࣮ͬͯ૷͞Ε͍ͯ·͢ɻͦͷத͔ΒϙΠϯτΛݟ͍͖ͯ·͠ΐ͏ɻ WOLRDͰϘΠενΣϯδϟʔΛ࣮૷ͯ͠ΈΔ

Slide 64

Slide 64 text

8PSME͕ೖྗ͢ΔϑΥʔϚοτ͕'MPBUͷ഑ྻʹରͯ͠ɺJ04Ͱ͸'MPBU͔͠औΕ·ͤΜɻͦͷͨΊɺϑΥʔ ϚοτΛม׵͢Δඞཁ͕͋Γ·͢ɻ WOLRDͰϘΠενΣϯδϟʔΛ࣮૷ͯ͠ΈΔ

Slide 65

Slide 65 text

$POWFSUFSΫϥεͰ͸ɺ"7"VEJP1$.#VGGFSΛ"7"VEJP$POWFSUFSΛ࢖ͬͯɺผͷϑΥʔϚοτʹม׵͍ͯ͠ ·͢ɻ WOLRDͰϘΠενΣϯδϟʔΛ࣮૷ͯ͠ΈΔ

Slide 66

Slide 66 text

$POWFSUFSΫϥεͰ͸ɺ"7"VEJP1$.#VGGFSΛ"7"VEJP$POWFSUFSΛ࢖ͬͯɺผͷϑΥʔϚοτʹม׵͍ͯ͠ ·͢ɻ WOLRDͰϘΠενΣϯδϟʔΛ࣮૷ͯ͠ΈΔ

Slide 67

Slide 67 text

JOTUBMM5BQΑΓ΍͖ͬͯͨόοϑΝʔΛ"7"VEJP$POWFSUFSͰɺ'MPBUʹม׵͠ɺ8PSMEͷύϥϝʔλΛ࢖͍ɺϐο νγϑτΛ͔͚ɺͦΕΛ'MPBUʹ໭ͯ͠ɺ"7"VEJP1MBZFS/PEFͷTDIFEVMF#VGGFSΛ࢖ͬͯ࠶ੜ͠·͢ɻ WOLRDͰϘΠενΣϯδϟʔΛ࣮૷ͯ͠ΈΔ

Slide 68

Slide 68 text

"7"VEJP&OHJOFͰ͸ɺجຊతʹ3FNPUF*0ͰԻΛऔಘ͠·͢ɻ J04Ҏ͔߱ΒɺTFU7PJDF1SPDFTTJOH&OBCMFEʹΑΓɺ7PJDF1SPDFTTJOH*0Λબ୒͢Δ͜ͱ͕ग़དྷ·ͨ͠ɻ ࠓճ͸.BOVBM3FOEFSJOHΛ࢖͍ɺ"VEJP6OJU͔Βऔಘ͢Δํ๏ʹ͍ͭͯઆ໌͠·͢ɻ ͳ͓ɺຊ࣮૷Ͱ͸0CKFDUJWF$Λ࢖͍·͢ɻ ManualRenderingͰVPIOΛ༗ޮʹ͢Δ

Slide 69

Slide 69 text

ManualRenderingͰVPIOΛ༗ޮʹ͢Δ "VEJP6OJUͰԻΛऔಘ͢ΔͨΊͷίʔϧόοΫΛ࡞੒͠·͢ɻ*OQVU$BMMCBDLͰ͸ɺ"VEJP6OJU͔Βདྷͨ΋ͷΛ όοϑΝʹॻ͖ࠐΈ·͢ɻ

Slide 70

Slide 70 text

ManualRenderingͰVPIOΛ༗ޮʹ͢Δ 3FOEFS$BMMCBDLͰ͸ɺόοϑΝ͕ஷΊऴΘͬͨΒݺͼग़͞Ε·͢ɻ͜ͷ࣌ʹ"7"VEJP&OHJOFͷ .BOVBM3FOEFSJOHΛ࣮ߦͤ͞·͢ɻ

Slide 71

Slide 71 text

ManualRenderingͰVPIOΛ༗ޮʹ͢Δ "VEJP6OJUͷॳظԽΛߦ͍·͢

Slide 72

Slide 72 text

ManualRenderingͰVPIOΛ༗ޮʹ͢Δ #64͕ग़ྗɺ#64͕ೖྗͰ͢ɻ #64ʹରͯ͠ɺ7PJDF1SPDFTTJOH*0Λ༗ޮʹ͠·͢ɻ

Slide 73

Slide 73 text

ManualRenderingͰVPIOΛ༗ޮʹ͢Δ SFOEFS$BMMCBDLʹઌ΄Ͳ࡞ͬͨίʔϧόοΫΛࢦఆ͠·͢ɻ

Slide 74

Slide 74 text

ManualRenderingͰVPIOΛ༗ޮʹ͢Δ ͋ͱ͸"7"VEJP&OHJOFͱܨ͗ࠐΈΛ͢Δ͚ͩͰ͢ɻ"7"VEJP&OHJOFͷ*OQVU/PEFʹ͸ TFU.BOVBM3FOEFSJOH*OQVU1$.'PSNBUͷJOQVU#MPDLΛ࢖ͬͯɺCVGGFSΛࢦఆ͠·͢ɻ

Slide 75

Slide 75 text

·ͱΊ 7.

Slide 76

Slide 76 text

"7"VEJP&OHJOFͷ஌ࣝ͸ਂ·Γ·ͨ͠Ͱ͠ΐ͏͔ʁ J04%$Ͱ͸ɺ"7"VEJP&OHJOFΛ࢖ͬͨηογϣϯ͕͍͔ͭ͋͘Γ·͢ ੋඇຊηογϣϯͰֶΜͰ͍͖ͨͩɺͦΕͧΕͷηογϣϯ΋ݟ͍͚ͯͨͩΕ͹ԿΑΓͰ͢ ·ͱΊ

Slide 77

Slide 77 text

ࢀߟʹͤͯ͞௖͍ͨࢿྉ 8.

Slide 78

Slide 78 text

هࣄ w J04Ͱ࢖༻Ͱ͖Δ"VEJP6OJUҰཡ IUUQTRJJUBDPNTIVJUFNTCBFCBGBFEB w "7"VEJP&OHJOF5VUPSJBMGPSJ04(FUUJOH4UBSUFE IUUQTXXXSBZXFOEFSMJDIDPN BWBVEJPFOHJOFUVUPSJBMGPSJPTHFUUJOHTUBSUFE w "7"VEJP&OHJOFͰΤίΩϟϯ࣮૷ XJUI.BOVBM3FOEFSJOH IUUQTTPSBOPCBOFUQSPHSBNNJOHWPJDF QPSPDFTTJOHXJUIBWBVEJPFOHJOF Φʔϓϯιʔειϑτ΢ΣΞ w 4XJGUZ"VEJP IUUQTHJUIVCDPNBSJFMFMLJO4XJGUZ"VEJP w 5XJMJP7JEFP2VJDLTUBSUGPSJ04 IUUQTHJUIVCDPNUXJMJPWJEFPRVJDLTUBSUJPT w 8PSME*O"QQMF IUUQTHJUIVCDPNGV[JLJ8PSME*O"QQMF ࢀߟࢿྉ

Slide 79

Slide 79 text

ͦͷଞ ೔໨ͷ-5Ͱ"QQMF-PX-BUFODZ)-4ͷ࿩Λ͠·͢ 88%$Ͱൃද͞Εͨ಺༰ΛΈΜͳͰ෮श͠·͠ΐ͏ʂ

Slide 80

Slide 80 text

ͦΕͰ͸ɺҾ͖ଓ͖J04%$Λָ͓͠Έ͍ͩ͘͞ʂ ͓ΘΓ