Exploration of Strongly-typed Units: A Case Study from Digital Audio
polyglot consultant ● Involved in early days of Swift Evolution ● 7 years writing C++ for digital audio ● Artisanal unit vocabulary types By Buchla 100 series at NYU.jpg: Bennettderivative work: Clusternote vs newton-secondsWhat do units matter? … “is it supposed to make sound?”Not life and death, but audio bugs can be dangerous ● Hearing loss ● Damaged speakers ● Crashes during live performanceI tried journey to mp-units… https://github.com/mpusz/mp-unitsMy journey to to mp-units… ● P1386 A Standard Audio API for C++: Motivation, Scope, and Basic Design ○ Wanted standard vocabulary types ■ Multichannel0 码力 | 106 页 | 5.66 MB | 5 月前3A Case-study in Rewriting a Legacy GUI Library for Real-time Audio Software in Modern C++
iZotope real-time audio plug-ins | music, film, television, and radio iZotope Inc.iZotope real-time audio plug-ins | music, film, television, and radio iZotope Inc.iZotope real-time audio plug-ins | music music, film, television, and radio iZotope Inc.iZotope real-time audio plug-ins | music, film, television, and radio iZotope Inc.Glass Properties Making a legacy run-time system compile-time safe iZotope Users need responsive control of audio Threading model - Hosts can call us from any thread - Each host may do this this differently Challenges for real-time audio plug-ins Confidential property of0 码力 | 138 页 | 2.75 MB | 5 月前3Contracts for C++
Crab – Fable by Ivan Krylov, 18143 Copyright (c) Timur Doumler | @timur_audio | https://timur.audio Widget getWidget (index i) pre (i > 0) // precondition assertion Proposal: add contract assertions to C++4 Copyright (c) Timur Doumler | @timur_audio | https://timur.audio Widget getWidget (index i) pre (i > 0) // precondition assertion to C++ Function contract assertions5 Copyright (c) Timur Doumler | @timur_audio | https://timur.audio Widget getWidget (index i) pre (i > 0) // precondition assertion0 码力 | 181 页 | 4.44 MB | 5 月前3Noexcept: Enabling Testing of Contract Checks
16Copyright (c) Timur Doumler | @timur_audio | https://timur.audio 17 Copyright (c) Timur Doumler | @timur_audio | https://timur.audio Unit testing In the original presentation Copyright (c) Timur Doumler | @timur_audio | https://timur.audio 18 Copyright (c) Timur Doumler | @timur_audio | https://timur.audio Unit testing Contracts and unit testing complement Copyright (c) Timur Doumler | @timur_audio | https://timur.audio 19 Copyright (c) Timur Doumler | @timur_audio | https://timur.audio Let's unit-test a function with a narrow contractCopyright0 码力 | 90 页 | 1.38 MB | 5 月前3Ubuntu Desktop Training 2009
257 8.3. Playing and Extracting Audio CDs ...... 271 8.3.1. Playing Audio CDs ................. 271 8.3.2. Extracting Audio CDs ............. 274 8.4. Burning Audio CDs ........................... 280 ...................... 293 8.7. Creating and Editing Audio Files ........ 298 8.7.1. Creating Audio Files ............... 298 8.7.2. Editing Audio Files ................. 301 8.8. Playing DVDs ...... Playing Music Files Playing and Extracting Audio CDs Burning Audio CDs Playing Proprietary Multimedia Formats Using an iPod Creating and Editing Audio Files Using DVDs Playing Online Media Editing0 码力 | 428 页 | 57.45 MB | 1 年前3强大的音视频处理工具:FFmpeg
对于每个时间段,用ffmpeg提取指定时间段的音频 ffmpeg -i input.mp4 -ss 00:00:11.270 -to 00:00:14.550 -b:a 128k output_audio_000011270_000014550.mp3 给视频加字幕=把字幕嵌入合并到视频中 srt字幕 软字幕 内挂字幕 ffmpeg -i video_no_subtitle.mp4 -i ffmpeg -i show_14322648_audio.mp3 -acodec copy -ss ffmpeg -i show_14322648_audio.mp3 -acodec copy -ss 00:00:03.110 -to 00:00:06.110 00:00:03.110 -to 00:00:06.110 show_14322648_audio_000003110_000006110 0.mp3 show_14322648_audio_000003110_000006110.mp3 参数解释 -i :input 输入文件 -acodec copy : -acodec = audio codec :音频编码器 == -c copy 等价于: ffmpeg -i show_14322648_audio.mp3 -c ffmpeg -i show_14322648_audio0 码力 | 139 页 | 9.35 MB | 1 年前3强大的音视频处理工具: FFmpeg
对于每个时间段,⽤ffmpeg提取指定时间段的⾳频 ffmpeg -i input.mp4 -ss 00:00:11.270 -to 00:00:14.550 -b:a 128k output_audio_000011270_000014550.mp3 给视频加字幕=把字幕嵌⼊合并到视频中 srt字幕 软字幕 内挂字幕 ffmpeg -i video_no_subtitle.mp4 -i 此处整理,从完整的⾳频⽂件中,提取其中⼀段,即提取⾳频⽚段。 从mp3中提取某个时间段的mp3 参数解释 -i :input 输⼊⽂件 -acodec copy : -acodec = audio codec :⾳频编码器 == -c copy 等价于: 官⽹⽂档 Stream-copy ffmpeg Documentation 3.2 Stream copy Stream show_14322648_audio.mp3 -acodec copy -ss 00:00:03 ffmpeg -i show_14322648_audio.mp3 -acodec copy -ss 00:00:03 ffmpeg -i show_14322648_audio.mp3 -c copy ffmpeg -i show_14322648_audio.mp3 -c copy0 码力 | 73 页 | 11.57 MB | 1 年前3Oracle VM VirtualBox 5.2.40 User Manual
7 Storage settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.8 Audio settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.9 Network USB layer which abstracts the USB protocol and allows the use of remote USB devices. • Audio. See chapter 3.8, Audio settings, page 57. 3.4 General settings In the Settings window, under “General”, you can virtual machine window. 3.8 Audio settings The “Audio” section in a virtual machine’s Settings window determines whether the VM will see a sound card connected, and whether the audio output should be heard0 码力 | 387 页 | 4.27 MB | 5 月前3Oracle VM VirtualBox 5.2.42 User Manual
Storage settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.8 Audio settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.9 Network USB layer which abstracts the USB protocol and allows the use of remote USB devices. • Audio. See chapter 3.8, Audio settings, page 57. 3.4 General settings In the Settings window, under “General”, you virtual machine window. 3.8 Audio settings The “Audio” section in a virtual machine’s Settings window determines whether the VM will see a sound card connected, and whether the audio output should be heard0 码力 | 387 页 | 4.27 MB | 1 年前3Oracle VM VirtualBox 5.2.34 User Manual
Storage settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.8 Audio settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.9 Network USB layer which abstracts the USB protocol and allows the use of remote USB devices. • Audio. See chapter 3.8, Audio settings, page 57. 3.4 General settings In the Settings window, under “General”, you virtual machine window. 3.8 Audio settings The “Audio” section in a virtual machine’s Settings window determines whether the VM will see a sound card connected, and whether the audio output should be heard0 码力 | 386 页 | 4.27 MB | 1 年前3
共 596 条
- 1
- 2
- 3
- 4
- 5
- 6
- 60