VS1005 4-channel HiRes Recorder

Discussion about writing software for VS1005 and the VSOS Operating System. Also posts about VS1005-related hardware design and device drivers should be posted here.
User avatar
Henrik
VLSI Staff
Posts: 1294
Joined: Tue 2010-06-22 14:10

VS1005 4-channel HiRes Recorder

Post by Henrik »

Hello!

During the last few years, from time to time there have been people asking us whether we could record high-quality PCM to SD cards. Our answer has always been "Unfortunately not, because modern SD cards introduce occasional delays up to one second, so we would need buffer memory to implement that". Today, this changes.

It is with extraordinay pleasure that I present you with the VS1005 HiRes Recorder application. Features of the application are:
  • Records up to 96 kHz 24-bit stereo PCM to SD Card. EDIT 190219: 4-channel recording support added
  • Maximum supported size of SD card 64 GB. EDIT 230215: with VSOS 3.66 or higher, up to 1 TB works
  • Uses VS23S040 as a 4-Mbit audio buffer.
  • Graphical user interface.
  • Uses stdaudioin so can be configured to use either VS1005's own ADCs or external ADC.
  • Dynamic range 98 dB(A) with VS1005's own ADC.
  • For longer recordings, can split audio to multiple 2 GB files with zero sample loss, overcoming FAT32 file size limitations.
  • Recording time on 64 GB card from over 30 hours (96k/24b) to over 92 hours (48k/16b).
  • Automatic file system recovery if power is lost while recording
.

The HiRes Recorder application can run on two VS1005 boards: On the Ext1 board, VS1005 HiRes Recorder several of its features: 1.77" LCD, rotary controller, and VS23S040 memory for buffering. The buffer memory is required because modern, large capacity SD cards sometimes pause up to 1 second when they are being written to. The battery backed-up memory of VS1005 is used for bookkeeping while recording, and if the unit loses main power during recording (battery drain, dropping the device, etc), the file system will automatically be restored at next restart, and only up to a few seconds of the recording will be lost.

Attached to this post is v0.30 of the HiRes recorder, as well as its documentation for both the Ext1 and BOB20 boards. You can quickly change #define statements to compile a version for either of the boards.

Have fun!

Kind regards,
- Henrik
Attachments
HiResRec_Ext1_v030.pdf
HiRes Recorder documentation for VS1005 DevBoard Ext1
(434.88 KiB) Downloaded 889 times
HiResRec_Bob2_v030.pdf
HiRes Recorder documentation for BOB 2.0
(334.69 KiB) Downloaded 938 times
HiResRec030.zip
VSIDE Solution of the HiRes Recorder
(56.53 KiB) Downloaded 802 times
Good signatures never die. They just fade away.
User avatar
Henrik
VLSI Staff
Posts: 1294
Joined: Tue 2010-06-22 14:10

Re: VS1005 HiRes Recorder v0.31

Post by Henrik »

Hello!

Here is a new v0.31 of the HiRes Recorder. It now can gracefully handle situations where an SD card is insterted that contains an unknown file system, like exFAT. In such a case, the HiRes Recorder asks whether to format the card to FAT32. This new version requires VSOS 3.52 or higher to work.

Kind regards,
- Henrik
Attachments
HiResRec031.zip
VSIDE Solution of the HiRes Recorder
(64.74 KiB) Downloaded 741 times
HiResRec_Ext1_v031.pdf
HiRes Recorder documentation for VS1005 DevBoard Ext1
(435.16 KiB) Downloaded 854 times
HiResRec_Bob2_v031.pdf
HiRes Recorder documentation for BOB 2.0
(334.99 KiB) Downloaded 787 times
Good signatures never die. They just fade away.
User avatar
Henrik
VLSI Staff
Posts: 1294
Joined: Tue 2010-06-22 14:10

Re: VS1005 HiRes Recorder

Post by Henrik »

Hello!

The documentation for the HiRes Recorder v0.31 says that card sizes up to 64 GB are supported. However, there is actually no intentionally set limit, and I have today successfully tested the recorder with a 128 GB card. Note, however, that for support of cards larger than 32 GB to work you need VSOS 3.52, the version of Format.dl3 that is included in the VSOS 3.52 Root and Libraries package, and HiRes Recorder v0.31.

Kind regards,
- Henrik
Good signatures never die. They just fade away.
User avatar
Henrik
VLSI Staff
Posts: 1294
Joined: Tue 2010-06-22 14:10

Re: VS1005 HiRes Recorder v0.32

Post by Henrik »

Hello!

Here is a new version 0.32 of the HiRes Recorder. The main new features are:
  • Added new section to the documentation, called Features.
  • Tested SD cards up to 256 GB (was up to 64 GB).
  • Handles better when an SD card is removed and inserted.
  • Still compatible with VSOS 3.52, but finalizing recordings is more than an order of magnitude faster when used under VSOS 3.53. Example: Finalizing 17 audio files with a total size of 34.3 GB (16 hours and 34 minutes of 24-bit 96 kHz recording) takes 89 seconds under VSOS 3.52, but only 4 seconds under VSOS 3.53.
Have fun!

Kind regards,
- Henrik
Attachments
HiResRec032.zip
VSIDE Solution of the HiRes Recorder
(64.95 KiB) Downloaded 734 times
HiResRec_Ext1_v032.pdf
HiRes Recorder documentation for VS1005 DevBoard Ext1
(441.7 KiB) Downloaded 785 times
HiResRec_Bob2_v032.pdf
HiRes Recorder documentation for BOB 2.0 (board not released yet)
(341.47 KiB) Downloaded 862 times
Good signatures never die. They just fade away.
cruedag
User
Posts: 11
Joined: Mon 2017-03-20 13:58

Re: VS1005 HiRes Recorder

Post by cruedag »

These are great news for us, thanks a lot for your work, that's a long awaited feature.

I have a question regardign ogg vorbis quality encoding, and don't know if it is better to create a new thread on that issue or not.

I've recently upgrade the VSOS kernel to v3.53 and have found a relevant change in the way that maximum quality ogg vorbis (10 out ot 10) recorded at 48kHz are now stored: now I get a compressed file where an internal 20 KHz cutoff frequency seems to be applied to the recording; the same code gave me up to 24kHz signals (no internal cutoff frequency, antialiasing or whatever you called it) with previous VSOS versions.

Is there any new directive in the libencvorb dll to disable that internal filtering, or is there anyway to recover that feature?
User avatar
Henrik
VLSI Staff
Posts: 1294
Joined: Tue 2010-06-22 14:10

Re: VS1005 HiRes Recorder

Post by Henrik »

Hello!
cruedag wrote: Mon 2018-02-05 17:50 These are great news for us, thanks a lot for your work, that's a long awaited feature.
Yes, I'm pretty excited myself over this new recorder because it now allows for us to store uncompressed audio with zero compromises with audio quality.
I have a question regardign ogg vorbis quality encoding, and don't know if it is better to create a new thread on that issue or not.
Actually, it would be better handled elsewhere, so I've created a new thread so as not to clutter this one. You can find my answers here:
viewtopic.php?f=13&t=2219

Kind regards,
- Henrik
Good signatures never die. They just fade away.
User avatar
Henrik
VLSI Staff
Posts: 1294
Joined: Tue 2010-06-22 14:10

Re: VS1005 HiRes Recorder v0.40

Post by Henrik »

Hello!

Here is version 0.40 of the HiRes Recorder. This version has some support for Broadcast Wave Format file linking. It should help in making BWF aware programs recognize and link audio streams that span multiple files.

Kind regards,
- Henrik
Attachments
HiResRec040.zip
VSIDE Solution of the HiRes Recorder
(69.74 KiB) Downloaded 718 times
HiResRec_Ext1_v040.pdf
HiRes Recorder documentation for VS1005 DevBoard Ext1
(449.82 KiB) Downloaded 812 times
HiResRec_Bob2_v040.pdf
HiRes Recorder documentation for BOB 2.0 (board not released yet)
(349.26 KiB) Downloaded 893 times
Good signatures never die. They just fade away.
User avatar
Henrik
VLSI Staff
Posts: 1294
Joined: Tue 2010-06-22 14:10

Re: VS1005 HiRes Recorder v0.51

Post by Henrik »

Hello!

Attached to this message is the VS1005 HiRes Recorder release 0.51. Hope you enjoy it!

We have also just released the VS1005 BreakOut Board Mark II, which supports the recorder. It is available from here:
http://www.vlsi.fi/en/support/evaluatio ... order.html

Kind regards,
- Henrik
Attachments
HiResRec051.zip
VSIDE Solution of the HiRes Recorder
(79.88 KiB) Downloaded 701 times
HiResRec_Ext1_v051.pdf
HiRes Recorder documentation for VS1005 DevBoard Ext1
(453.51 KiB) Downloaded 1029 times
HiResRec_Bob2_v051.pdf
HiRes Recorder documentation for the brand new VS1005 breakout board 2.0
(352.37 KiB) Downloaded 854 times
Good signatures never die. They just fade away.
Hannu
VLSI Staff
Posts: 542
Joined: Mon 2016-05-30 11:54
Location: Finland
Contact:

Re: VS1005 HiRes Recorder

Post by Hannu »

The VS1005 break out board Mk2 is available in our web-shop: http://webstore.vlsi.fi/VS1005-Breakout-Board-Mk2

Working with the break out board only with jumper wires to set up the boot mode and resetting can be quite time consuming. To get over that slow process, make a small programming board. VHIGH, GND, TX, RX, D0, D1 and XRST are the real minimum. In image below, there is prototype of the programming board which provides UART, reset and S1 button. Building it took something like two hours.

The other board is enhanced version of the prototype. It has internal flash eraser for debricking (short the jumper and reset) and S2 button. We use it to flash the firmware and test break out boards.

Another difference is that the enhanced board has much tighter grip on the break out board, so releasing from prototype board is easier.
Programming boards for VS1005 break out board
Programming boards for VS1005 break out board
progboards.jpg (79.92 KiB) Viewed 15706 times
The schematics are provided for your reference how to build your own programming board. The break out board symbol and footprint can be found from our Eagle library http://www.vlsi.fi/fileadmin/manuals_gu ... e7_lib.zip

Sorry about the clutter which comes from the measuring connectors. In reality those just break further the pins from break out board. The flash eraser (IC1) pulls some pins high as described in viewtopic.php?f=13&t=681#p6868

So building something like those boards is really minimum effort, maximum value when developing software with VS1005 break out board.
Attachments
programmerboard_schematics.pdf
Programmerboard schematics
(44.68 KiB) Downloaded 774 times
User avatar
Henrik
VLSI Staff
Posts: 1294
Joined: Tue 2010-06-22 14:10

Re: VS1005 4-channel HiRes Recorder v0.60

Post by Henrik »

Hello everyone!

We have some exciting new development: The VS1005 HiRes Recorder can now also record 4-channel 24-bit audio!
lcd4ch2.png
lcd4ch2.png (9.24 KiB) Viewed 15025 times
If you connect a stereo I2S A/D converter to VS1005, you can now record 4 channels at the same time: both from VS1005 and from the I2S source! This functionality is directly available on the VS1005 Extension Board 1 version 2.0, which amongst other things, contains an I2S ADC. For details on that board, see:
http://www.vlsi.fi/en/support/evaluatio ... sion1.html

To better see what is required to get four channels working, have a good look at the documentation, particularly at the aptly named new Chapter 8: 4-Channel Recording.

This is the very first 4-channel release, so there may be bugs left. If you have any issues, or other comments, please let us know!

Kind regards,
- Henrik
Attachments
HiResRec060.zip
VSIDE Solution of the HiRes Recorder
(83.58 KiB) Downloaded 704 times
HiResRec_Ext1_v060.pdf
HiRes Recorder documentation for VS1005 DevBoard Ext1
(464.81 KiB) Downloaded 691 times
HiResRec_Bob2_v060.pdf
HiRes Recorder documentation for the brand new VS1005 breakout board 2.0
(356.53 KiB) Downloaded 673 times
Good signatures never die. They just fade away.
Post Reply