Pidvs user manual

Page 1

 

PiDVS An all-in-one Raspberry Pi based embedded Digital Vinyl System (DVS) allowing DJs the ability to use DVS without the need for a separate laptop or sound card


Project by: Sam Spreadborough Supervised by: Dr Chris Nash Contact details Sam Spreadborough Email: Sam.Spreadborough@uwe.ac.uk LinkedIn: https://www.linkedin.com/in/sam-spreadborough-0a16049a/ Dr Chris Nash Email: Chris.Nash@uwe.ac.uk



Table of Contents _______________________________________________________________________________________

Table of Contents

3

1.0 Introduction

4

1.1 Project details

4

1.2 Feature list

4

2.0 Hardware Overview

5

2.1 Technical Details

5

3.0 Software Overview

6

3.1 Libraries

6

3.2 Performance

6

4.0 Getting Started

7

4.1 Connecting the equipment

7

4.2 Preparing your music

7

5.0 GUI Overview

8

5.1 Main Screen Overview

8

5.2 Play Screen Overview

10

5.3 File Browser Overview

12

5.4 App Settings Overview

14

6.0 Other Features

16

6.1 Ethernet Link

16

6.2 MIDI

16

7.0 Future Development

17

7.1 Case

17

7.2 Effects bank

17

7.2 Master Tempo

17

8.0 Further information

18

9.0 Appendix

19


1.0 Introduction _______________________________________________________________________________________

1.1 Project details This is a undergraduate final year project for the Broadcast Audio and Music Technology degree course at The University of the West of England (UWE Bristol). As well as producing a final product, the project also looks to examine the user experience of using DJ products, and using this research, looks to produce efficient user experience for the PiDVS. The project idea came from seeing how easy the Pioneer CDJ 2000 (and similar) range of CDJs are; you just bring a USB music, and then seeing how complicated a standard DVS setup is. This project would be perfect for any DJ who enjoys playing using vinyl and would like to simplify their setup, or, for the DJ who's interested in learning to use vinyl but is intimated by other DVS solutions. The PiDVS is able to be adapted to work with any turntable or CD player (basically anything that can output Timecode) so long as one of the supported Timecode types are used (see section 5.4).

1.2 Feature list • 0.7 ms latency • Scrolling waveform • BPM display • Cue points • Loops • Able to play music from USB drive • File browser search • Software phono preamp for turntables without line level output • Players linked via ethernet can share beat counter information


2.0 Hardware Overview _______________________________________________________________________________________

2.1 Technical Details Below is a list of the equipment used in this project: Raspberry Pi 3 Model B 1.2 GHz ARMv8, 1GB RAM Handles the computation.

Official Raspberry Pi 7� Touchscreen RGB 800x480 touch display Touch screen display and frame for all other hardware to attach.

Audio Injector sound card 96KHz, 32 bit. 0.54 ms latency Provides stereo audio in and out.

Teensy 3.2 72 MHz Cortex-M4 Converts the digital scroll wheel to MIDI.

Fully assembled product


3.0 Software Overview _______________________________________________________________________________________

3.1 Libraries • Written in C++ using the JUCE framework library. https://www.juce.com

• Timecode decoding by the open source software XWAX. http://xwax.org

• Metadata extraction by the open source library TagLib. http://taglib.org

• BPM detection by the open source SoundTouch Audio Processing Library. https://www.surina.net/soundtouch/

Operating system - Rapsbian Jessie (a Raspberry Pi optimised version of Debian Linux) https://www.raspbian.org

3.2 Performance The PiDVS runs at 48KHz sampling rate, using a 32 sample block size. This gives a total latency of 0.7 ms. The scrolling waveform has a refresh rate of 60 frames per second.


4.0 Getting Started _______________________________________________________________________________________

4.1 Connecting the equipment To begin, connect the RCA cable from the turntable to the audio input on the PiDVS (the bottom two RCA connectors). Connect an additional RCA lead from the audio output (right hand audio connectors) to the mixer. Make sure that the volume knobs for both audio sockets are turned up to full.

4.2 Preparing your music The PiDVS doesn't require any track analysis prior to use. To create playlists, simply create a folder in your USB’s root directory. Any music files in that folder will appear in the file browser in that playlist. The PiDVS will extract metadata from the music files if it is present. PiDVS currently supports AIFF, MP3 and WAV audio formats.


5.0 GUI Overview _______________________________________________________________________________________

5.1 Main Screen Overview 1

2

3

4

5

6 7 8 9

10

11

12

13

14


Function

Description

1 Play screen button

Tapping anywhere on the play screen button will take you to the play screen

2 Beatgrid marker

Marks the beginning of a new beat

3 Scrolling waveform

The waveform of the audio being played will scroll. Can be zoomed in/ out from play screen. Shows any cue point markers.

4 Playhead

Indicates where on the waveform the audio is currently playing

5 Cue marker

Displays a coloured marker that corresponds with the cue colour in the play screen

6 File browser button

Tapping anywhere on the file browser button will take you to the file browser

7 Song title

Displays the song title of the currently playing song

8 Artist name

Displays the artist name of the currently playing song

9 Album Artwork

Shows the embedded artwork for the music file that is loaded. Tapping the album artwork brings up detailed track information.

10 Static waveform playhead/ cue marker

Indicates where on the static waveform that the audio is currently playing. Also marks the placement of cue points that corresponds to the cue colour in the play screen

11 Static Waveform

Shows the complete overview of the loaded music file. Can be tapped or scrubbed to move to a different part of the track

12 Time remaining/elapsed

Tapping this button will switch between time remaining and time elapsed

13 BPM/pitch

Tapping this button will switch between displaying the current BPM and the current pitch percentage

14 App settings button

Tapping anywhere on this button will take you to the app settings screen. This button also displays the current settings of the system


_______________________________________________________________________________________

5.2 Play Screen Overview 1

2

3

4

5

6

8

7

12

9

13 10

11 14

15 17

16

Function

Description

1 Zoom in waveform

Tapping anywhere on this portion of the waveform will zoom in the waveform

2 Back

Returns you to the overview screen

3 BPM display

Displays the current BPM of the playing track

4 Beat counter for this deck

Displays a visual representation of the position of the track within the musical bar.


5 Beat counter of the linked PiDVS deck

If two players are linked via ethernet, this beat counter will display the position of the track within the musical bar of the linked PiDVS deck

6 Musical bar counter display

Displays the musical bar counter

7 Zoom out waveform

Tapping anywhere on this portion of the waveform will zoom out the waveform

8 Cues tab

Tapping this tab will bring up the cues tab

9 Loops tab

Tapping this tab will bring up the loops tab

10 Cue button

Tapping this will place a cue point in the track. The button text will change to show a timestamp and will change colour. Tapping it again will return the track to the cue point.

11 Static waveform

Shows a full waveform of the loaded audio file

12 Pitch Drift Correction button

Still in development: this function will correct for turntable wow and flutter when enabled.

13 Clear Cue

Once enabled, any cue you tap will be cleared.

14 Start of track cue

Tapping this restarts the track back to 00:00:00 time

15 Loop In

Places a loop in point. This point is quantised to the beat grid

16 Loop out

Places a loop out point. This point is quantised to the beat grid

17 Exit

Exits the loop


_______________________________________________________________________________________

5.3 File Browser Overview 1

2

3

4

5 6

7 8

9


Function

Description

1 Back

Returns to the overview screen

2 Load

Loads the selected track to the deck

3 Search

When tapped, brings up the on-screen keyboard. Displays the current search term. The file browser will update as you type

4 Clear

Will clear the search bar and the file browser will reset

5 Playlists

Displays the available playlists. Tapping on them will display the tracks in the file browser

6 File browser

Shows all the tracks in the chosen playlist. Each track will show the track title, artist name, time, BPM, and key. When a file has been loaded, the key section will highlight in green files that are in compatible keys. Also displays the artwork that is embedded in the file.

7 On-screen keyboard

Appears once the search bar has been tapped

8 Delete

Deletes the last character

9 Hide

Hides the on-screen keyboard


_______________________________________________________________________________________

5.4 App Settings Overview 1

2

3

12

4 5

6 7 8 9

10 Function

11 Description

1 Back

Returns to the overview screen

2 Audio device settings

For development purposes. Will be omitted from finished version

3 Exit app

For development purposes. Will be omitted from finished version

4 Timecode Model

Select from the following supported Timecode vinyl types: Serato 2nd Edition Side A Serato 2nd Edition Side B Serato CD Traktor Scratch Side A Traktor Scratch Side B Mixvibes V2 Mixvibes 7�


5 Playback Mode

Select from the following playback modes: Internal mode Relative mode Absolute mode (still in development) Through mode

6 Deck number

For development purposes. Will be omitted from finished version

7 Music Drive

Any connected music sources will be displayed here

8 Scanning label

During initial scanning of the drive, will display the found files

9 Software Preamp

If the turntable outputs phono level audio, you should enable this. Works fine during normal playback, however is less accurate at slower pitches. For best results use a turntable that outputs line level audio, or use a hardware phono preamp.

10 Static Waveform

Shows a full waveform of the loaded audio file

11 Noise Threshold

If the turntable has grounding issues, or the turntable is picking up feedback noise. Turn the turntable off and press this to calibrate the noise threshold

12 Beatgrid

Enables/disables the beat grid markers


6.0 Other Features _______________________________________________________________________________________

6.1 Ethernet Link The PiDVS system is able to send OSC messages to each deck when connected via ethernet. When connected, the connected deck’s beat counter will be displayed in the play screen. Features still in development: Network sharing of USB drives using SAMBA. BPM sync

6.2 MIDI The PiDVS is fully MIDI compatible. For the purposes of this project a MIDI scroll wheel was developed using the Teensy. When the scroll knob is turned, the file browser will automatically appear and will allow you to scroll up and down the file browser. When the scroll knob is pressed in, the selected file will be loaded. Because the PiDVS is fully MIDI compatible, it is entirely possible to MIDI map any MIDI compatible device to control the software. Possible hardware combinations for MIDI support could be: PiDVS and the Novation Dicer : The dicer could be used to execute cue points, loops, and track selection.

PiDVS and the Reloop RP 8000 : The RP 8000 is a MIDI compatible vinyl turntable, so would be the perfect choice to compliment the PiDVS. It is also line level output.


7.0 Future Development _______________________________________________________________________________________

7.1 Case A 3D printed case is currently being designed.

7.2 Effects bank Depending on whether the computing power of the Raspberry Pi will allow this, the project could have a small range of effects that can be manipulated either through multitouch or from scratching of the vinyl.

7.2 Master Tempo Having the ability to maintain the frequency pitch of the music file whilst the platter speed is changed. From early experiments with this feature, the Raspberry Pi struggles to perform this well. There would need to be experimentation with other algorithms in order to find a good balance between performance and audio quality.


8.0 Further information _______________________________________________________________________________________ If you are interested in the project and would like further information, please contact: Sam Spreadborough Email: Sam.Spreadborough@uwe.ac.uk LinkedIn: https://www.linkedin.com/in/sam-spreadborough-0a16049a/

There are currently no plans to release this commercially. 


9.0 Appendix _______________________________________________________________________________________

Project presentation poster - shows an overview of the project; shows an older version of the software


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.