Pace Detection:
-
- Challenges with step count detection: Therefore, various walking detection and step counting methods have been developed based on one or both of the following two physical phenomena: the moment when the same heel of a pedestrian strikes the ground once during each gait cycle results in a sudden rise in accelerations [17,18,19,20,21,22]; the cyclic nature of human walking results in cyclic signals measured by motion sensors [13,23,24,25,26]. However, existing methods rely on the usage of dedicated foot-mounted sensors [27] or constrained smartphones [28], which essentially imposes severe limitations on applying these methods in practice. In addition, the methods based on smartphones suffer from limited accuracy, especially when smartphone is held in an unconstrained manner [29], namely that the smartphone placement is not only arbitrary but also alterable. Therefore, precisely identifying walking motion and counting the resultant steps are still challenging.
- However, we don’t care about accurate step count. We just need time distance between step counts
- How to convert steps/second to beats/measure?
- Possibilities:
-
-
- https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5796454/ (has formulas we could adopt)
-
- The frequency domain approaches focus on the frequency content of successive windows of measurements based on short-term Fourier transform (STFT) [30], FFT [31], and continuous/discrete wavelet transforms (CWT/DWT) [30,32,33,34], and can generally achieve high accuracy, but suffer from either resolution issues [34] or computational overheads [35]. In [31], steps are identified by extracting frequency domain features in acceleration data through FFT, and the accuracy of 87.52% was achieved. Additionally, FFT was employed in [36] too smooth acceleration data and then peak detection was used to count steps.
-
-
-
- The feature clustering approaches employ machine learning algorithms, e.g., Hidden Markov models (HMMs) [37,38,39], KMeans clustering [40,41], etc., in order to classify activities based on both time domain and frequency domain features extracted from sensory data [14,42], but neither a single feature nor a single learning technique has yet been shown to perform the best [42].
- A fair and extensive comparison has been made among various techniques in a practical environment in [29], and shows that the best performing algorithms for walking detection are thresholding based on the standard deviation and signal energy, STFT and autocorrelation, while the overall best step counting algorithms are windowed peak detection, HMM and CWT.
- In this paper, we adopt the gyroscope that is becoming more and more popular in COTS smartphones and the efficient FFT method to implement a novel and practical method for simultaneous walking detection and step counting. Due to the advantages of the gyroscope and frequency domain approach, the proposed method relieves the restriction of most existing studies that assume the usage of smartphones in a constrained manner.
-
-
- Android has ‘motion sensors’ documentation for accelerometer info
-
- Example of accelerometer graph (peak to peak =? pace): https://www.analog.com/media/en/analog-dialogue/volume-44/number-2/articles/pedometer-design-3-axis-digital-acceler.pdf
- Android has a built in step counter & step detector!!! Use this LOL
-
- Type_step_counter from sensor class
- Type_step_detector from sensor class
- How to use: https://hub.packtpub.com/step-detector-and-step-counters-sensors/
- Must generate our own graph
- Do analysis (as seen in research papers) from there
Nontechnical Goals:
- Real-time !!??!!
- Play songs of current running pace
- Play song timewarped at current running pace
- Play song with added beats at current running pace
- *** if running pace changes during song, real-time changes to music playing?
- *** how else can we play with music with ML?
———————————————————————————————–
Technical Goals:
——————————————————————
- Interface
- Smartwatch app & mobile app
- If this requires two sets of source code, ONLY smartwatch app
- If this isn’t possible, ONLY mobile app
- *** to what EXTENT should we develop UI / user board / various screens? We could just have a button that starts the process. OR we could develop an app that looks like a real product that may exist in app store V1.0
- *** smartwatch hardware may not match mobile hardware for computational abilities
- Pace Detection ???
——————————————————————
- Song choice
- Playlist exists, software chooses song of correct/nearest tempo for natural music
- ML algo to determine a song’s tempo
- Database that holds pairs of song & its tempo
- Playlist exists, software plays songs in order with warping
- Suggested songs play based on pace & profile music data – ML
——————————————————————
- Time-warp songs
- Wavelet Transform – previous groups mentioned this was more ‘accurate’ / ‘advanced’ & better logarithmic runtime
- Phase Vocoder – 2 previous groups actually used this method. changes speed without changing pitch. Uses STFT, modulation in frequency domain, then inv. STFT
- TDHS is also an option. Song hunter decided not to use this bc its not suited for polyphonic material (what does that mean?) – research this further and reprioritize methods to timewarp.
——————————————————————
- Add beats at running pace
- Heart beat / some other rhythm
- Just tempo beats
——————————————————————
- Simple impulses at pitch within a chord progression? At first glance, is this a complete mystery, or do we have an idea of how to begin
- If not of a certain pitch, insert impulses at running pace
- Integration
- Interface
- Retrieve pace from phone
- Send pace from phone data to app
- App performs its job – find music & play it
——————————————————————
- MVP
- Mobile app with basic “Start” and options buttons
- Default list of music
- Pace detection
- Time-warping
- Song changes based on pace
- 2nd
- smartwatch
- Interface with profile / User authentication
- ML of song choice – specifically, tempo detection
- 3rd
- ML of song choice – song suggestions
Apps like this exist: https://www.iphoneness.com/iphone-apps/music-pace-running-app/
- These apps match your choose from their own library or from your existing playlist to your pace automatically or manually
None of these apps alter songs themselves to match pace