Share My Creation 20Tracks MPX-Player

Today I need the help form the community...

I would like to receive feedback for my completely new app "20tracks". It is a beta-test of the DEMO-Version. At first I need to know, whether it runs stabil or crashes. Also interesting for me is to know, whether there are design problems on different devices.

Now updated version 1.0.2 is avaiable
If you want to help testing, ask me for a Upgrade-Code you can convert this version into a STUDIO-version for free!



Please download the app from the google playstore...
https://play.google.com/store/apps/details?id=midimaster.twentytrackd

... and do some first test. If you find a problem or a bug, please send me a report with detailed informations about bug, device and perhaps also a screenshot. If you are the first who reports a problem and your report helps me to optimize the app you will get a "20Track STUDIO-Version" (price 15 EUR) for free and invitation to participate also in the next phase of testing. Please send the reports to info@midimaster.de or here as a personal message.


PlayerVersionS.png
SongInfoPlayer.png
StimmeEdit.png
MetronomEdit.png


well... what is 20Tracks? This Audio-Player plays music saved in a new format MPX, that enables to switch on/off individual instruments during playback. Perfect for Karaoke, perfect for practice your instrument in an arrangement. Also perfect for live stage situations, where one of the musicians is missing today.

The app comes in three different versions: DEMO-Version for only testing, whether the decive is able to run the software. PLAYER-Version for playback the MPX-songs and STUDIO-Version for creating own MPX from upto 20 recording tracks saved as 20 WAV-files.

You can find more detailed informations here:
 
Last edited:

JordiCP

Expert
Licensed User
Longtime User
Just downloaded it, it works/sounds nicely and shows correctly with a Xiaomi Mi A2 Lite (Android 10)

No bugs nor crashes observed. However, I see some small inconsistencies regarding user interface/experience. They are just personal opinions :)

  • I would add a small in-app 'mini-help' page, so that the user doesn't have to go to the web site.good to add the
  • Sometimes the app's Titlebar label returns to "Startup" so that the current song is not shown.
  • Time slider: in the demo version, the 0:30 falls out of screen.
  • Volume: for me, it is not intuitive that there is a range. A good option would be to always show all the range, with the right bars in dark gray for instance.
  • Mute and Solo work correctly, but the button behavior is not intuitive (for instance, if BASS has both M and S pressed, it plays). In my opinion, as they are mutually exclussive commands, I would change the UI logic, for instance (just as examples)
    • Option 1
      • M and S won't show their state. They are only buttons.
      • If one instrument is enabled/disabled, it will be shown in the instrument label color. For instance, enabled = Green , disabled = Gray
      • If we press any S, we go to solo mode (internal app boolean flag)
        • If we are not already in solo mode, all instruments will be disabled except the pressed one.
        • If we are already in solo mode and press another instrument's "S", that instrument's enabled/disabled state will be toggled.
      • If we press any M, we go to Mute mode.
        • If we are not already in mute mode, all instruments will change to enabled except the selected instrument.
        • If we are already in mute mode, the instrument related to the M command will toggle its state.
    • Option 2:
      • Add a "Select All" and "Mute All" buttons at top or bottom
      • Remove the M and S buttons.
      • Pressing "Select All" will enable all of them, showing their state with the instrument color label in Green
      • Pressing "Mute All" will disable all of them, showing their state with the instrument color label in Gray
      • Pressing any instrument label will toggle its enabled/disabled state.
 

Midimaster

Active Member
Licensed User

Hi Jordi,

thank you for you detailed report. It helps me to understand users wishes and thinkings.

STARTUP-SONG
The return to the startup-song was caused by the fact, that the paused app would block a lot of RAM, if the current song remains in the app. But now I will change to remove the current song when sleeping and reload it, when resuming.

TIMER-SLIDER-SCALE
comes from 5 images from 1:00 upto 5:00 min and scaled by th current song lenghth. I never know what is diesplayed last and whether the last number is comletepy visible. I will think about hiding the last number, but thats not so easy...

Your volume slider idea is nice. I will change the images.

MUTE SOLO
This behavior is identic to a lot of real mixing consoles. Musicians are used to this behavior. You need groups of SOLOs and also MUTE more than one instrument at the same time. The SOLO was historical invented to immediately listen to a MUTEd instrument. Mixing console use these buttons for realize two additional CONTROL channels. One works positive the other negative.

If you are interested in a full version ssend me a pm and you will get a free STUDIO-Version (coming soon).
 

JohnC

Expert
Licensed User
Longtime User
I had an idea like this 20 years ago in which songs would have a "Multi-Track" feature, that allowed the end user to control the "volume" of each instrument/voice independently.

My idea was to create a new way to adjust your music way better then using an Equalizer (which can effect the sound of more then one instrument when you adjust a EQ band).

This way you could increase the volume of the bass-drum without also increasing the bass-guitar.
 
Last edited:

Unobtainius

Active Member
Licensed User
Longtime User
⭐⭐⭐⭐⭐
 

Midimaster

Active Member
Licensed User
This way you could increase the volume of the bass-drum without also increasing the bass-guitar.
This is exactly, what my app is able to do. Now is the right time for apps like this, because the Memory consumption is not as important as it was 10 years ago. A MPX file has typical 100MB instead of the 5 MB of the the same MP3-file. But audio size does not matter any longer compared to the sizes videos have today.
 

JohnC

Expert
Licensed User
Longtime User
When I had my idea 20 years ago, the potential problems I thought were:

1) Size (as you mentioned)
2) Would recording labels support this format due to increased copyright violations for all the new variations of a song a user can produce.
3) Would recording studios support this format because you are basically replacing the job of the recording engineer that does the Mastering/mixing.
4) Would artists support this format because they probably want people to hear the song as they intended the user to hear it, and not some alternate version of it.
 

Midimaster

Active Member
Licensed User
problem 2 to 4 are still valid. But is it necessary, that MPX replaces old formats like MP3? I think it could be an additional audio format, which serves special interest and users:
  • Sheet music publisher, which offer a Playalongs with there partiture
  • Live Bands will need a adjustable playback track, if somebody is ill today
  • Live Bands, when a musician change the band and thenew one needs to learn his part
  • Members of big bands to practice there part
 

JohnC

Expert
Licensed User
Longtime User
And of course.....Karaoke :)
 

JohnC

Expert
Licensed User
Longtime User
Don't get me wrong - I would love it if this format got popular!
 

annitb

Member
Licensed User
Longtime User
is the synchronisation correct? i've personally modified the haveged on android: https://github.com/Openand-I/haveged

for a) relative time instead of absolute time - process time does not call real system time and doesn't need it especially since it's a track synchronisation software
b) remove tcp timestamps from the tcp params so that network access doesn't keep asking for the system time... https://github.com/openand-inc/waut.ch

more importantly in addition to relative process time that'll help a treat for track synchronisation, one needs a nanosecond actual relative timestamp in the track itself...so that every 1 second or upto 15 seconds configurable, the tracks themselves synchronise with each other...this is important as the system clock tends to change due to the governor and everything...

also isn't it more of a wavx instead of an MPX? and to be sure hope that the tracks are playing using callback instead of playing 20 tracks using 20x cpu...thanks...

might as well put a 'duplicate track with configurable delay' option because you can..for your listening pleasure.. ( all rights are waived CC and full track modification with 0.3ms discernible delay ) - https://soundcloud.com/solo-recluse/2020-08-20-162320a
 
Last edited:

annitb

Member
Licensed User
Longtime User
in the very least, the wav tracks should contain a 'relative time from start of song' field for each frame, that contains as fine grained, even nanosecond timestamp, so every N seconds ( with it's process/thread time ) or so the app playing all the tracks just checks that field to see whether some track is slightly off-time and then linearly adjusts that track...

it can be seen as a problem similar to this:


"CMemDC is a class used for double buffering. This is a technique used in computer animation to avoid screen flicker, which was a major problem due to the fact that the screen is updated (repainted) several times each second. The technique used here is to create an off-screen buffer to which the image is drawn. The final image is then copied to the screen"

but for audio.

Yes, there may be threads, thank you, but callbacks can do much more, one may be able to have only one buffer filled and sent to the audio device...

Also for reference, https://www.einval.com/~steve/software/JTE/

"parallel-sums is a simple extra utility to generate checksums quickly and efficiently, reading file data only once and calculating checksums using multiple algorithms in parallel using threads."

Only this app is uniquely positioned to add an ECHO feature ( with configurable delay ) for a single track or few tracks.

Also there is this something I read somewhere that all MP3 players on Android are not using the floating point functionality. You'll find the build flags in my app to enable that if required at all:

 
Last edited:

klaus

Expert
Licensed User
Longtime User
I tested your application. on my Samsung Galaxy S10 phone and Samsung Tab2 tablet.
Very nice application!

A few points in addition to what has already been said.
1. On the phone the layout looks OK.
2. On the tablet, there is no space between the buttons M and S, see screenshot.
3. On the tablet, the time scale doesn't look good, the values are too stretched.
4. When there are not many tracks, like in Start Up, the track height is relatively big and the total height is bigger than the visible part and needs to scroll. I suggest leave a standard height and adapt the height of the internal Panel.
5. The volume selection seems to work only when touching the screen, when touching and moving it jumps almost every time to the max value.
6. When you move the time cursor, the song starts every time at the same place independent of the cursor position.
Shouldn't it start at the current cursor position?
7. How are we supposed to quit the program ?
Clicking on the Back key opens the menu and I haven't found how to leave the program.
 

Attachments

  • Screenshot_20200915-100212[1].png
    Screenshot_20200915-100212[1].png
    119.1 KB · Views: 282

Midimaster

Active Member
Licensed User
Thank you klaus for your detailed report.

2.
At the moment I'm struggling with the various design problems on different devices. The "no space" is new for me. I will have a look on it.

3.
I thought it would be a good idea to paint images of timescales and stretch it if necessary. But I have got a lot of bad looking time scales now. Think about a new way. I did not want to use canvases in my first app.

4.
I want that all song with less than 10 tracks fill the screen. but exactly. There should no need for scrolling in this cases. I will have a look on it. thank you for pointing me to this.

5.
yes I also had the feeling that it does not work correctly. It happens when I additional move the SCROLL-VIEW. Than the volume jumps imediately to the my value. The additional scrolling causes an ACTION-value=3 in the TOUCH_EVENT sub. When I return in the case of action=3 it looks like an acceptable workaround.

6.
This a feature!!! Even a main feature!!! Normaly audios starts anywhere. But musicians need to start always on the "1" of a new bar. So the starting points are based on a "grid" of bars. This also works with the Loop feature

7.
I thougt Android user do not expect to stop an app? I can change this! The "back key opens menu"-problem was already known, will be fixed with coming update.

Do you want to have a free STUDIO-Version? Write me an PM
 
Last edited:

klaus

Expert
Licensed User
Longtime User
3. I am sure that Canvas is the solution.

5. How do you do it ? Maybe I could help.

6. I didn't know this, I am not a 'specialist'.

7. Almost all programs I used close the program with the back button, some expect a second click.
 

Geezer

Active Member
Licensed User
Longtime User
Just one crash so far. Sliding the position to the end of the time line will crash it on a Samsung S10+ with Android 10.

Edit: Only happens on startup song. Not after you select another song.
 

Midimaster

Active Member
Licensed User
Just one crash so far. Sliding the position to the end of the time line will crash it on a Samsung S10+ with Android 10.

Edit: Only happens on startup song. Not after you select another song.
Thank you... Yes i can replicate this bug. Will try to find out, what happens.


Do you want to have a free STUDIO-Version? Write me an PM
 
Top