Crossfades

Writing software that inputs and/or outputs audio and performs DSP algorithms such as filters, new codecs or audio effects.
Post Reply
glennalday
User
Posts: 2
Joined: Mon 2016-08-08 8:28

Crossfades

Post by glennalday » Mon 2016-08-08 9:35

Hello,
I am new to this kind of electronics. I am working on an MP3 player that can play the next song just before the current song end. With the current song decreasing volume before it ends and the next song will slowly increase volume. I also want the beat to sync if its possible.
I am aware that the VS1053 can only play 1 MP3 file at once so I can't use that on my application.
Is this possible on other VLSI products?

User avatar
pasi
VLSI Staff
Posts: 1388
Joined: Thu 2010-07-15 16:04

Re: Crossfades

Post by pasi » Mon 2016-08-08 12:48

Synchronizing the beat of two songs would need to:
1) determine the beats of each song (bpm, and the timing)
2) decode both songs
3) to match the tempo of the two songs, speed-shift one (the ending one, probably) or both songs during the matching process, and mix the results

The decoding of both songs is a solved problem - you can always use more than one decoder. The other steps are the issues to solve.

Are the songs fixed? Can you perform pre-processing to determine their tempo (beats) and timing?

What is the required quality for the speed-shifting? It isn't trivial to perform them well. (Pitch shifting is equivalent to speed shifting with playback rate adjustment.)
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

User avatar
Panu
VLSI Staff
Posts: 2406
Joined: Tue 2010-06-22 13:43

Re: Crossfades

Post by Panu » Mon 2016-08-08 20:38

Hmm...
  • VS1005 has been demonstrated to be able to play two MP3 songs at the same time, although this is not trivial and is not supported by the stock software. A basic shortcoming is that the VS1005 only has one SRC.
  • Pitch shifting might not be strictly necessary for the beat matching - I mean back in the Tecnar LP DJ days, the LP disc was just played at an adjusted RPM. Similar technique might be good enough and definitely retro.
  • This is a very challenging application to make and especially automate.
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

glennalday
User
Posts: 2
Joined: Mon 2016-08-08 8:28

Re: Crossfades

Post by glennalday » Wed 2016-08-17 8:53

Yes this is a very challenging design especially I haven't seen one embedded system that has this feature. Crossfades is easy right? But the main problem is how to sync beats. This is a multimedia player so any song will be played. So pre-processing of songs is not an option.
Do you guys have a reference design for using 2 VS1005 sharing 1 USB flash drive?

User avatar
Henrik
VLSI Staff
Posts: 1035
Joined: Tue 2010-06-22 14:10

Re: Crossfades

Post by Henrik » Thu 2016-09-01 12:24

Hello!

We don't have such a solution available. It would require for one VS1005 to transmit file data to the other one; perhaps through SPI, and commanding it as a slave. Technically it could be done, but would require quite a bit of research and work.

Kind regards,
- Henrik
Good signatures never die. They just fade away.

Post Reply

Who is online

Users browsing this forum: No registered users