convolution reverb requirements document -...

13
Page 1 Convolution Reverb Requirements Document Colt Hartstein Dain Marvel Taylor Morris

Upload: trinhnga

Post on 30-Jan-2018

253 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 1  

Convolution Reverb

Requirements Document

Colt Hartstein

Dain Marvel Taylor Morris

Page 2: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 2  

CONTENTS

1 INTRODUCTION....................................................................................................... 3

1.1 Purpose..................................................................................................................... 3

1.2 Scope........................................................................................................................ 3

1.3 Background............................................................................................................... 3

1.4 References................................................................................................................ 4

1.5 Assumptions and Constraints.................................................................................... 4

2 METHODOLOGY...................................................................................................... 5

3 FUNCTIONAL REQUIREMENTS............................................................................. 5

3.1 Context..................................................................................................................... 5

3.2 User Requirements................................................................................................... 6

3.3 Data Flow Diagrams................................................................................................. 7

3.4 Functional Requirements......................................................................................... 7

4 OTHER REQUIREMENTS....................................................................................... 7

4.1 Interface Requirements............................................................................................ 8

4.2 Data Conversion Requirements............................................................................... 8

4.3 Hardware/Software Requirements........................................................................... 8

4.4 Operational Requirements....................................................................................... 9

APPENDIX A - GLOSSARY................................................................................................ 11

Page 3: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 3  

1 INTRODUCTION

Consider a sound emitted from a point source speaker in a room of finite dimension. The air

pressure waves propagate throughout the space and interact with the room’s walls, floor and ceiling until

they lose sufficient energy to remain audible. These interactions- instances of reflection and absorption-

define the reverberance of said space. Two products are being designed to capture the reverberant

characteristics of any enclosed space and, by means of convolution, artificially apply such to any music

track, resulting in audio which has been affected to sound as if it has been emitted in the captured space.

Project V-IR-Bull’s Convolution Reverb (short for reverberation) systems utilize this process to simulate

the reverberation – or persistence of sound – within a physical or virtual space.

1.1 Purpose

Reverb systems have populated the professional and consumer audio markets for a substantial

length of time, but the existing system are limited in their scope; the existing designs can only offer pre-

determined ‘presets’. Project V-IR-Bull’s Convolution Reverb systems take the traditional one step

deeper- the ability to also capture any space and create a fully usable, high fidelity impulse response

representing said space via the utilization of digital convolution of these captured characteristics with an

audio file of the user’s choosing.

1.2 Scope

The scope of our project is to successfully implement a convolution algorithm with an audio

signal and, for that output to have zero distortion and/or zero clipping issues. Our goal is to have two fully

functional systems to perform Capture, Convolution and allow for Playback to a variety of outputs. One

system will target audio professionals, with a focus on recording applications, while the other targets the

consumer audiophile, with a focus on causal music playback.

Page 4: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 4  

1.3 Background

The most common method in the audio industry by which to artificially apply reverb to audio is

via a delay-line tap configuration. But these systems are limited in their scope, due to the finite nature of

reverb characteristics made available by their designs. Our system offers the user not only the reverb

effect, but most importantly the freedom to use any real-world environment of their preference to

convolve with their dry music signals with a Capture feature. This will give an illusion that a

musician/performer will sound like they are actually in an acoustic space that is truly of the user’s

preference. Professionals can take their live rooms with them in remote recording and mixing sessions,

and consumers can take, say, their favorite music rooms with them when listening to their album

collections.

1.4 References “Audio Ease’s Altiverb 7.” Audio Ease. Web. Accessed 7 Oct 2013

http://www.audioease.com/Pages/Altiverb/

“The Audio Expert.” Ethan Winer. Focal Press. 2012. ISBN# 978-0-240-82100-9.

“Designing Audio Effect Plug-ins in C++.” Will Pirkle. Focal Press. 2012.

ISBN# 978-0-240-82515-1

“Intro to DAWs.” GA Tech. Web. Accessed 26 Nov 2013.

http://earsketch.gatech.edu?learning?intro-to-daw/introduction-to-daws-digital-audio-

workstations

“Quantum Leap Spaces.” East West. Web. Accessed 7 Oct 2013.

http://www.soundsonline.com/Spaces

“Waves IR-1.” Waves. Web. Accessed 10 Oct 2013.

http://www.waves.com/bundles/ir1-convolution-reverb

Page 5: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 5  

1.5 Assumptions and Constraints

1.5.1 Assumptions ● Fully functioning convolution program to apply reverb effect.

● Capture system to import reverberant characteristics of spaces.

● Playback system in two configurations- professional for recording applications, consumer for

listening applications.

● Have an array of multiple preset impulse responses from around USF and Tampa Bay.

● Controls and interfaces: pushbuttons, LCD, HTML server, USB, HMDI, audio line in, line out

● Safe, in-box power distribution to each system component

1.5.2 Constraints All of the following constraints can be classified as considerations in gear selection and integration,

or as preferences as of yet unattainable due to complexity level of operation with our current knowledge

in coding and computer science.

● Full automation of capture, convolution and playback sequences.

● Full HTML browse and upload user interface (proof of concept, with text sends, is attainable).

● The frequency response of the equipment used for impulse response capture can affect the

accuracy or correctness of the impulse response.

● Getting a clean impulse; meaning little to no background noise in places captured.

2 METHODOLOGY

The hardware implemented in this is system can be divided into three categories: power, controls

and audio. All audio hardware interfaces with the connectors on the panel faces, and is processed on the

Wolfson Pi sub-system, performing ADAC on all I/Os. Such hardware includes: microphones,

microphone preamps, speakers, headphones, mixers, the Wolfson Audio Card and media players. All

Page 6: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 6  

controls hardware consists of networks that serve to give the user control over the preset selection and

implementation; pushbutton networks and an LCD display and the Convolution Pi. All power hardware is

distributed internally from a rail system that draws power from an external wall wart, and employs a

switch system for ultimate user control over which elements are powered for which time (for instance, the

fan can be independently deactivated during the capture process). All hardware works to allow the user to

interface with the Raspian OS on each Raspberry Pi to run the appropriate software and affect their audio

with reverberant characteristics via convolution.

3 FUNCTIONAL REQUIREMENTS

3.1 Context We have split up our approach up into the separate stages. The impulse response capture stage

and the implementation of the convolution algorithm stage and the playback stage. Capturing the impulse

response of an acoustic space requires the use of a 10 ms pink noise chirp to “excite” the room and the

recording of the reverberation characteristics of that space simultaneously, incorporating analog to digital

conversion in I/Is, hi fidelity signal flow and a digital audio workstation. The second stage involves

taking that impulse response recorded and using it as a part of a convolution algorithm to convolve it with

the dry music input signal. The third stage exports the convolved .wav file through digital to analog

converters and out the I/Os to the target destination; mixing or listening.

3.2 User Requirements in System Sequence

U1. A 10s 1kHz test tone is used to establish 85-90dB at the microphone capsule, using an SPL meter to

measure.

U2. A 16 bit 10ms pink noise chirp track is played out of the LX Music player from the Wolfson

Raspberry Pi sub-system, and is emitted by the speaker.

U3. The microphone captures a 10ms chirp and the reverberated copies and reflections of the chirp from

the room, thus providing the frequency and timing information necessary to define the acoustic

Page 7: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 7  

characteristics of the room.

U4. The captured audio signal is sent from the mic through a mic cable with an XLR connector, into a

microphone preamp, which amplifies the signal by about 40dB and into the analog line-in jack on the

Wolfson audio card.

U5. This sound-card uses its onboard ADAC to convert the analog electrical signal to digital data, ready

for manipulation by a digital audio workstation (DAW) installed on the RPi (Note: Audacity currently

acts as the DAW for the consumer system, for which step by step guide has been written and would be

included in the literature with the product).

U6. After proper editing is performed in the DAW on the capture, it is then exported as a .wav file.

U7. The Wolfson RPi system then sends this capture.wav file to the Convolution Raspberry Pi sub-

system, which performs FFT analysis to produce an impulse response map of the room.

U8. This is impulse response then convolved with a music track of the users choosing in the modified

SciPy program.

U9. When the convolution stage is completed, the convolution Pi network sends the convolved .wav file

back to the Wolfson Pi, which can then either be played back through the line-out or headphone out as-is

in .wav format using LX music, or can be run on through a conversion program to compress the file into

mp3, mp4, or AAC (& etc) file formats size-friendly to personal listening devices.

Note: Also an option, the Convolution Pi offers USB access to the SD memory, such that the user can

save their new music tracks onto their USB flash drive for use in other applications, such as mixing.

3.3 Data Flow Diagrams

Page 8: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 8  

3.4 Functional Requirements The functional requirements of the system include being able to record, convert and edit upload

the selected room’s reverberant capture to the Wolfson Pi system. It must then perform Pi-Pi

communication via sending the captured reverb in a .wav file to the Convolution Pi, which must be partly

controllable through a series of pushbuttons and LCD display for importing music and calling on a preset

reverb recording. The Convolution Pi must then run a convolution program to apply the captured signal

to an uploaded music file. Finally, the resultant convolved .wav file must be sent back to the Wolfson Pi

to be outputted to the user

Page 9: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 9  

3.4.1 Functional Requirements Group

Table 1 - Requirements Group

Section/ Requirement ID Requirement Definition

FR1.0. The system shall upload the user’s music file.

FR1.1 The system shall capture and upload the reverberance of a room.

FR2.0 The system shall convolve the above sources.

FR3.0 The system shall playback the resultant output.

4 OTHER REQUIREMENTS

This system must be able to perform at optimum fidelity, integrating and interfacing with the

highest quality audio capture deceives- microphones, speakers and microphone preamps. High slew rates

in op amps, high SNR values in all equipment, standard input and output impedances in all cabling and

appropriate signal flow must be established and maintained at all times.

4.1 Interface Requirements

Our user interface will include a network of pushbuttons and an LCD display, as well as options

to connect to the Raspberry Pi’s as one would with computer for the software functions (editing and

convolution). Once our project has accomplished the foundational goal of basic, segmented capture,

convolution and playback of reverb effects on an inputted music file, additional automation features and

wireless interface mechanisms will be developed. We will have to remain mindful of keeping the user’s

conversation with the system and their music as simple and elegant as possible.

Page 10: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 10   

4.1.1 Software Interfaces

The Raspberry Pi systems will utilize C, C++, and Python coding, in the implementation of the

control systems, audio recording and convolution functions. The Wolfson Pi will run a digital audio

workstation program, such as Audacity, and file conversion programs. The Convolution Pi will run SciPy

convolution programs and C/C++ developed terminal functions for the control systems.

4.1.2 Communications Interfaces

The Raspberry Pis must be able to communicate with one another and send .wav files (large sized

audio files). The Convolution Pi must be able to communicate with local storage or access media from a

USB port, or from the HTML server. It must also communicate with the LCD display and the pushbutton

network. The Wolfson Pi must communicate with standard audio electronics such as microphones, mic

preamps, speakers, headphones and standard media devices.

4.2 Data Conversion Requirements

Conversion programs can be run to up/down convert the .wav files to or .mp3, .mp4 or .aac files

for import/export.

4.3 Hardware/Software Requirements

Both systems must provide the hardware connectors for user interface (line level 3 pole inputs

and outputs, USB and HDMI access) with the Raspberry Pi networks developed, control systems

(pushbuttons, LCD screens), I/Os with hi fidelity ADAC functions and a safe power distribution and

switch system.

4.4 Operational Requirements

The user must be able to upload and download music files from the Pi network from the USB

ports, and must have made headway in HTML server upload and download abilities. The presets must be

Page 11: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 11   

callable from the pushbutton networks, and the LCD screen must display key data from the pushbuttons

pressed. The system must be fully powered by the plugging in of a single power system, with switches fro

control over key elements (such as the fan for deactivation during capture). The captured audio must be

easily input from a microphone into the system, and conversely, the system must also be able to stream

out audio directly from the box.

4.4.1 Security and Privacy

Possible security issues may arise during operation of the system. A loss or corruption of

data/files may occur due to some aforementioned circumstance. Introduction of malware, such as viruses

may enter the Raspberry Pi operating systems due to breach in the HTML server securities, or if a file is

uploaded as an input signal that hosts the virus. Factors ranging from computer spyware, malware, or

individual’s lack of software updates and/or instillation of antivirus programs has a potential to play a part

in security and privacy on any given computer. That is why we will only require personal information

when the consumer purchases our product. Once a consumer buys our convolution reverb systems, we

require personal information such as standard credit/debit card information to process the transaction.

Then, the consumer will receive a physical system that hosts all hardware and Raspberry Pi systems with

a unique serial number. We intend on keeping our consumer’s private information safe by keeping it

separate from the actual serial number.

4.4.2 Reliability

The convolution reverb systems should operate consistently and reliably in that executing the

capture, the convolution, and playback stages.

Page 12: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 12   

4.4.3 Recoverability

In the event the system experiences failure, the systems will usually be able to be restored by

powering down the system and then powering up after a 12 second wait. All other corruption would have

to be sent in for repair and restoration.

4.4.4 System Availability

The application will be available to use 24/7 by the user. Peak times will usually occur from

12:00pm to 10:00pm EST.

4.4.5 General Performance

The response time for any updates or queries made by the user would be answered within 24

hours of any noticeable fault in the system. The expected rate of user activity would be on average of 50

times a day by a regular consumer during mixing or listening sessions.

4.4.6 Data Retention

The length of time that the convolved signal will be retained would be operable until the user

decides to discard the saved reverb effect. The Raspberry Pi networks function as computers, and so

retain data as long and efficiently their contemporary computing systems would.

4.4.7 Error Handling

If a catastrophic error occurs, then the system would have to be sent in for repair, as there are

many components that need electrical engineering knowledge to identify and repair.

4.4.8 Conventions/Standards

AES (Audio Engineering Society) Standards and interpretations: 44.1k sampling rate and 16 bit

resolution for CD production, loudness levels below -6dB while in a digital domain, 85-90dB present at

mic for capture, no clipping in recorded captures,

Page 13: Convolution Reverb Requirements Document - Weeblyusfconvolutionreverb.weebly.com/uploads/2/4/9/7/24978057/... · Convolution Reverb Requirements ... Project V-IR-Bull’s Convolution

     

Page 13   

APPENDIX A - GLOSSARY AND CONVENTIONS/STANDARDS

IR - Impulse Response: The acoustic fingerprint of a particular environment. Represents the frequency

content and magnitude in decibels of that acoustic space.

ADAC- Analog-digital-analog conversion

I/O- Input and Output configuration

EQ - Equalizer. Adjustable frequency gain filter with varying bandwidths.