2 weeks to build a language app (a music-style language trainer)

All about language programs, courses, websites and other learning resources
Cainntear
Black Belt - 1st Dan
Posts: 1742
Joined: Thu Jul 30, 2015 11:04 am
Location: Scotland
Languages: English(N)
Advanced: French,Spanish, Scottish Gaelic
Intermediate: Italian, Catalan, Corsican
Basic: Welsh
Dabbling: Polish, Russian etc
x 4248
Contact:

Re: 2 weeks to build a language app (a music-style language trainer)

Postby Cainntear » Sun Aug 30, 2020 11:39 pm

ryanheise wrote:Yes I'd like to basically represent a whole audio file as a tree that is recursively subdivided down to the atoms. It is an important consideration to have divisions occur along natural fault lines in the story. At the same time, another consideration is to design an algorithm that can do a best effort at intelligently creating a tree for you, which you can then adjust. If the user wants to join or split clips, or change where the chunk/unit boundaries are, the algorithm should be able to re-balance the tree around your choice so that it recalculates its best effort at the remainder of the audio that you haven't touched yet.

Oooh... cool clever stuff with trees.... proper programming!!
If you want a hand at all, let me know. I've never used either C++ or Dart, but I've used a fair few C-derivatives and C-likes, so I should be able to find my way around quite quickly, and can certainly help with logical debugging if the trees start to misbehave!
0 x

User avatar
ryanheise
Green Belt
Posts: 287
Joined: Tue Jun 04, 2019 3:13 pm
Location: Australia
Languages: English (N), Japanese (beginner)
x 879
Contact:

Re: 2 weeks to build a language app (a music-style language trainer)

Postby ryanheise » Mon Aug 31, 2020 4:13 am

OK, a question. What import options would people find most useful?

- Open file on device
- Open file from phone's media library
- Transfer file from computer
- Download file from webpage

If I were to implement ONE of these, which one would be the most useful?

@Cainntear , if anything, I could use help with the DSP algorithms since they are the hardest part, but then again, these are also an area of expertise and it might be a difficult area to help with. This is also the part that could end up blowing out my schedule.

Today's goal: build out all the screens. If you have access to the alpha, you should hopefully see a new release in about 14 hours.
0 x

Cainntear
Black Belt - 1st Dan
Posts: 1742
Joined: Thu Jul 30, 2015 11:04 am
Location: Scotland
Languages: English(N)
Advanced: French,Spanish, Scottish Gaelic
Intermediate: Italian, Catalan, Corsican
Basic: Welsh
Dabbling: Polish, Russian etc
x 4248
Contact:

Re: 2 weeks to build a language app (a music-style language trainer)

Postby Cainntear » Mon Aug 31, 2020 10:49 am

ryanheise wrote:OK, a question. What import options would people find most useful?

- Open file on device
- Open file from phone's media library
- Transfer file from computer
- Download file from webpage

If I were to implement ONE of these, which one would be the most useful?

One? I'm struggling to pick between media library and webpage. When I talk about being able to share the files, that strongly benefits from having a link to a download source.
If my head, the top level of the file format would have both a "src" field and "local-file" field, so that you can cache files locally without forgetting the source so that data can be shared later without the downloaded file.

@Cainntear , if anything, I could use help with the DSP algorithms since they are the hardest part, but then again, these are also an area of expertise and it might be a difficult area to help with. This is also the part that could end up blowing out my schedule.

Programming the phone's DSP, or software DSP on the CPU?
Does Flutter give you access to decompressed wave data?

Not exactly my area, but I've dabbled -- including a little bit of silence detection. ;-)
It was just a very basic hacky thing in Unity (C#) where I was detecting the end of a period of silence to trigger animation in time with prerecorded audio. Because I was only working with a predetermined set of sound files from a single source, I was able to set the threshold once rather than having to detect a noise floor, but that would've been relatively straightforward to do if I'd needed to.
0 x

User avatar
ryanheise
Green Belt
Posts: 287
Joined: Tue Jun 04, 2019 3:13 pm
Location: Australia
Languages: English (N), Japanese (beginner)
x 879
Contact:

Re: 2 weeks to build a language app (a music-style language trainer)

Postby ryanheise » Mon Aug 31, 2020 11:14 am

Cainntear wrote:
ryanheise wrote:OK, a question. What import options would people find most useful?

- Open file on device
- Open file from phone's media library
- Transfer file from computer
- Download file from webpage

If I were to implement ONE of these, which one would be the most useful?

One? I'm struggling to pick between media library and webpage. When I talk about being able to share the files, that strongly benefits from having a link to a download source.
If my head, the top level of the file format would have both a "src" field and "local-file" field, so that you can cache files locally without forgetting the source so that data can be shared later without the downloaded file.


To be sure, I will eventually implement multiple import options but my priority within these two weeks is to get something working, so I won't be spending extra time to support multiple of anything until after the app as a whole works.

I was just wondering if the audio files that people have, and that they want to train with, already exist primarily on people's computers, or whether they exist on the phone or whether they exist on the Internet. I'd like to provide an easy way to get audio files from where they are into the app, but if I had to choose one method to start with, which would be the most useful?
0 x

User avatar
rdearman
Site Admin
Posts: 5268
Joined: Thu May 14, 2015 4:18 pm
Location: United Kingdom
Languages: English (N)
Language Log: viewtopic.php?f=15&t=1836
x 13277
Contact:

Re: 2 weeks to build a language app (a music-style language trainer)

Postby rdearman » Mon Aug 31, 2020 2:32 pm

I think on the phone is most useful since there are many ways outside of your app to get data on the phone.
2 x

User avatar
ryanheise
Green Belt
Posts: 287
Joined: Tue Jun 04, 2019 3:13 pm
Location: Australia
Languages: English (N), Japanese (beginner)
x 879
Contact:

Re: 2 weeks to build a language app (a music-style language trainer)

Postby ryanheise » Mon Aug 31, 2020 2:46 pm

rdearman wrote:I think on the phone is most useful since there are many ways outside of your app to get data on the phone.


I wonder if the answer would be different for Android vs iOS users?

While Android has always had a shared filesystem that different apps can read and write files to that shared filesystem, and there are numerous apps that let you browse the filesystem, I get the sense that the filesystem is mostly hidden away on iOS and apps are usually written in a way that the user need not know about it's existence, for ease of use. There is also the fact that the filesystem on iOS is a bit more restrictive in terms of different apps sharing access to the same files.

I'm not an iPhone user myself so I could be wrong, although the above is what I've come to understand based on what some iPhone users have told me.
1 x

Cainntear
Black Belt - 1st Dan
Posts: 1742
Joined: Thu Jul 30, 2015 11:04 am
Location: Scotland
Languages: English(N)
Advanced: French,Spanish, Scottish Gaelic
Intermediate: Italian, Catalan, Corsican
Basic: Welsh
Dabbling: Polish, Russian etc
x 4248
Contact:

Re: 2 weeks to build a language app (a music-style language trainer)

Postby Cainntear » Mon Aug 31, 2020 5:28 pm

ryanheise wrote:
rdearman wrote:I think on the phone is most useful since there are many ways outside of your app to get data on the phone.


I wonder if the answer would be different for Android vs iOS users?

While Android has always had a shared filesystem that different apps can read and write files to that shared filesystem, and there are numerous apps that let you browse the filesystem, I get the sense that the filesystem is mostly hidden away on iOS and apps are usually written in a way that the user need not know about it's existence, for ease of use. There is also the fact that the filesystem on iOS is a bit more restrictive in terms of different apps sharing access to the same files.

I'm not an iPhone user myself so I could be wrong, although the above is what I've come to understand based on what some iPhone users have told me.

I'm an iPhone user.

I've just attempt to download a random MP3 file from the browser. There doesn't seem to be any option to save to the media library (presumably to encourage purchasing from the iTunes store!!) but it will let me save it into files. I don't know whether access to all folders is now generally enabled, but I can browse to them all from Pythonista (a Python app).

Files therefore seems potentially superior to media library.
0 x

User avatar
ryanheise
Green Belt
Posts: 287
Joined: Tue Jun 04, 2019 3:13 pm
Location: Australia
Languages: English (N), Japanese (beginner)
x 879
Contact:

Re: 2 weeks to build a language app (a music-style language trainer)

Postby ryanheise » Mon Aug 31, 2020 5:42 pm

Thanks for the import perspectives, I will go with a file import to start with.

And signing of from Day 2. I didn't get the screen skeletons fully the way I wanted, but I did start looking at the data structures ahead of schedule, so I feel like I'm overall on track.
1 x

User avatar
tangleweeds
Green Belt
Posts: 280
Joined: Sat Jul 18, 2015 7:09 pm
Location: Portland, Oregon, USA
Languages: English (N)
beginner: Irish, Norwegian
clearing cobwebs: Japanese
on the shelf: French, Latin
Language Log: viewtopic.php?t=705
x 580

Re: 2 weeks to build a language app (a music-style language trainer)

Postby tangleweeds » Mon Aug 31, 2020 7:05 pm

ryanheise wrote:OK, a question. What import options would people find most useful?

••• Open file on device •••
- Open file from phone's media library
- Transfer file from computer
- Download file from webpage

If I were to implement ONE of these, which one would be the most useful?

Open file on device.
Most of my apps open from the iTunes media library, but opening from iCloud files is nice too.

Excellent project, and I enjoy your language log experiments too!
1 x
Progressing from apps back back to books! (neurological injury healing!!!)
Concentrating on Irish (family heritage) & Japanese (my brother lives there)

User avatar
Adrianslont
Blue Belt
Posts: 760
Joined: Sun Aug 16, 2015 10:39 am
Location: Australia
Languages: English (N), Learning Indonesian and French
x 1588

Re: 2 weeks to build a language app (a music-style language trainer)

Postby Adrianslont » Mon Aug 31, 2020 10:45 pm

ryanheise wrote:
rdearman wrote:I think on the phone is most useful since there are many ways outside of your app to get data on the phone.


I wonder if the answer would be different for Android vs iOS users?

While Android has always had a shared filesystem that different apps can read and write files to that shared filesystem, and there are numerous apps that let you browse the filesystem, I get the sense that the filesystem is mostly hidden away on iOS and apps are usually written in a way that the user need not know about it's existence, for ease of use. There is also the fact that the filesystem on iOS is a bit more restrictive in terms of different apps sharing access to the same files.

I'm not an iPhone user myself so I could be wrong, although the above is what I've come to understand based on what some iPhone users have told me.

I’m an iPhone user and a Speater (similar to your project) user. Speater has access to any mp3 or video file I have transferred to my phone via iTunes. It’s very easy to open a file in Speater.

I will listen to file x normally using the iPhone music app and work with it intensively in Speater.

Importing a file via Dropbox or files seems to be duplicating processes? Wouldn’t that leave me with two copies of the same files in my phone?
1 x


Return to “Language Programs and Resources”

Who is online

Users browsing this forum: Google [Bot], guyome and 2 guests