Share My Creation Guitar Rhythm

I would like to share a prototype of my first B4A app GuitarRhythm and I would appreciate very much if you are interested to try and leave suggestions.
The idea is to arrange bars with chords and rhythm patterns to play with as a background accompanying tool or to test chord progression.

I knew B4A first time years ago but at that time seems I did not get enough confidence after a quite shallow looking around. I am so glad months ago I met B4A again and really tried it deeper. Thanks to Erel and the helpful forum.

Some notes and questions left:
  • I made a circular knob for parameter setting but it has UX problem as fingers will block the values shown in the middle during adjusting. No idea what kind of controls will be more proper.
  • Starter service/activity/back button management problem. I am using ExitApplication to make sure the starter service will start again to correctly initialize everything including audio and thread, but not know whether this is the right method
  • Audiobuffer playing pointer and UI sync problem seems quite hard to solve. I do see some metronome apps sync the UI beat with sound you hear perfectly on Android

Screenshot_2020-10-09-20-10-14.png
Screenshot_2020-10-09-20-10-28.png


As I can't access Google drive I hope this drive works (click blue button):
Download Apk. Password: gpxu
 

josejad

Expert
Licensed User
Longtime User
if you are interested to try and leave suggestions
Hi:

It's interesting, not very intuitive when you start, but useful for learning rythms.
Probably is good idea some welcome tutorial (maybe AS Onboarding View) or something like that, because I've started touching the arrows, the copy icon... and I've modified the song :)
When you touch an item, appears the chords to choose and change the original one. That's great, but first I thought it was just expanding the original one to show the chord, and touching I changed the original one again :) You can recover the original song just reopening the app.
I've received a notify from another app while the song was playing, so I touched the notify, another app was open and the song was still playing. Maybe it's a good idea to stop playing when the app is in background.

But your app looks great and promising¡¡
Good job¡¡
 

kimstudio

Active Member
Licensed User
Longtime User
Thanks for trying and the suggestions. Quickly made a help using iPhotoDraw and may integrate them in following versions. For the design I tried to refer the material design guide and its color palette. 🤝


grh001.png
grh002.png


grh003.png
grh004.png
 

Marvel

Active Member
Licensed User
Nice and clean. I have to admit I don't understand it though 😂 It's probably time for me to learn how to play a guitar.

I noticed something with the circular knob, it spins very fast and it makes it hard to control. I think another thing you can add to the circular knob is the ability to manually input the value when it is clicked on
 

kimstudio

Active Member
Licensed User
Longtime User
Thanks @Marvel. You triggered me for one question that for custom views like this circular knob which need user interaction, the resolution/density of a phone may have impact? For example I check Y displacement of finger for value change, say 20dip mapping to value 1, then if the app runs on a 4K screen phone will it spin very fast due to same finger movement distance in physical world will map to different values on different resolution/density phones? I know that's why dip is used instead of pixels but still confused. I will check this from other open source custom views to see how they solve this and may just enlarge the mapping for slow spin. Thanks for having a try. 🤝
 

Shelby

Well-Known Member
Licensed User
I'm a lifelong guitar player (56 yrs.) and would like to try your app, Ta. I used my Qr reader. I've been able to download and display the app on my Samsung S9. Maybe I have it almost working. Somehow my display doesn't look at all like the images above. Lucas above said something about taping the phone onto the guitar. Do you think I'm ready for that? Since the text is in a foreign language to me I'm not sure how to use it. I'll try later with putting the phone onto my acoustic guitar.
 
Last edited:

kimstudio

Active Member
Licensed User
Longtime User
@Shelby, very glad to know an experienced guitar player! I am not sure whether you have managed to download/install the apk successfully as the share drive is in Chinese. After click the download link/input the password and go to the download page, please click the blue button to directly download the apk and install it on your phone, see attached picture.

This is actually a guitar sequencer by configuring chords and strumming/arpeggios patterns for each bar and playing the bar sequence. It has nothing to do with a real guitar like pitch recognition or chord detection. The app is all in English. Thank you for having a try.

d_New.png
 

kimstudio

Active Member
Licensed User
Longtime User
Updated the GutiarRhythm app using synthesized guitar sound. Definitely the sound is not as good as sampled ones, but fun to try all these audio processing methods and mixing engine as an experiment. As a result the apk size is shrinked to less than 300K.

Still have not found a way to sync audio and UI accurately, may have to try the NDK based oboe library instead of AudioTrack.
 

Attachments

  • GR.apk
    278.3 KB · Views: 187

Shelby

Well-Known Member
Licensed User
Hi Ta,
I just got the audio to work. I'm very intrigued by it as I see that the chord configuration shows while the chord progression is playing. Thanks for your creation; I'll try to use it in some way. I just sent an email to you.


Shelb
 
Last edited:

kimstudio

Active Member
Licensed User
Longtime User
Hi Shelby, thanks for trying, but please never spend time to make a fine loop, since currently there is no way to save or export wav out for real usage. I will look at export wav or mp3 function after the audio core is done.
 

bjfhs

Active Member
Licensed User
Updated the GutiarRhythm app using synthesized guitar sound. Definitely the sound is not as good as sampled ones, but fun to try all these audio processing methods and mixing engine as an experiment. As a result the apk size is shrinked to less than 300K.

Still have not found a way to sync audio and UI accurately, may have to try the NDK based oboe library instead of AudioTrack.
Do you know oboe library? I want to record by an andriod pad ,but have a long delay,Do you have some advise for me?Thank you.
 

kimstudio

Active Member
Licensed User
Longtime User
Hi bjfhs, I have not used it yet but I had a look and found the whole audio related stuff will be made by NDK then maybe it is hard to debug in B4X way, and also the low latency will NOT be guaranteed for all phones/android version. I plan to make a groovepad like app with simple synth in my leisure time and will check it again.

May I ask what kind of app you want to make that needs low latency of recording? There are some examples in oboe but it needs Android Studio to make the apks.
 
Last edited:

bjfhs

Active Member
Licensed User
@kimstudio ,Thank you for your reply.perhaps I need android studio.
I want to make a meeting app, the man talk to a android device,and play with a PC in the same room.
 
Top