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

All about language programs, courses, websites and other learning resources
User avatar
ryanheise
Green Belt
Posts: 459
Joined: Tue Jun 04, 2019 3:13 pm
Location: Australia
Languages: English (N), Japanese (beginner)
x 1681
Contact:

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

Postby ryanheise » Sat Aug 29, 2020 11:04 am

I've finally decided to build the app that I dreamed of a couple of months ago which splits up an audio file into sections and creates a listening/shadowing/memorisation routine by playing these sections individually and in combinations.

I thought it could be self-motivating to broadcast my hopes and goals publicly to make it more likely to get done, and I also thought it could be fun to do a release of the state of the app each day, so that people could try it out, and maybe give me feedback and influence the direction of the app during these 2 weeks. I think that Google will be fine with that, while Apple may not let me share anything until it's of a releasable quality.

The idea

So far, I have come up with this paper sketch of the concept:

Image

At this point in time, you are listening to clip "G", and when you're ready to move on, the next clip will be "H". After that, the next will actually be the combined "GH" because once you've mastered the parts, you should master the whole. Once you've coped with pairs, then those pairs get joined into quadruples. There are a lot of finer details to work out and tinker with, but it won't be clear what changes will be useful until I actually build it and we can get a sense of what ideas work. This is where I would really value some feedback and ideas.

It is also possible to program into the app several different kinds of automated training routines, so maybe I would like to experiment with some of these alternatives.

I would also like to create an auto-play mode where it is purely for listening practice or shadowing practice where you can plug in your headphones, press play, and go outside for a walk while you let the app go through it's listening/shadowing routine.

And one far off idea in the distant future is to record your voice and visually identify differences in the characteristics between your voice and the original recording, in terms of pitch (for languages where that's important), and the sound production, maybe providing some visualisation of where the sound you're making appears on the IPA chart.

The plan

This may turn out to be a completely unrealistic plan, but I have broken down what I hope to achieve day by day:

- Day 1:
- project structure
- Day 2:
- all screen skeletons
- Day 3:
- design and implement the data model
- Day 4:
- Implement import and play/pause buttons
- Day 5-7:
- Implement audio analyser
- Day 8:
- Implement audio segmenter and next/previous buttons
- Day 9
- Implement waveform display and the section display above the waveform
- Day 10:
- Implement clip editing functionality to adjust/fix the detected section boundaries

In my experience, things generally take twice as long as the optimistic plan, although it's still helpful to have goals.

What else

This will be a free app for both an Android and iOS.

After day 1, I'll be able to share something (not that it will be too impressive yet (if you look at the above plan)). I will look into sorting out some way to get access to this "daily" beta for anyone who wants to download it and help shape what direction I take it in.

Also note that I am not a graphic designer, so this app is not necessarily going to be visually amazing, although beyond Day 10, it will all be about polishing the app and making it easier to use.

I will provide an update below as soon as I create the base app and figure out how to share the link.

(P.S. Today is Day 0, so I get to have the day off and start the hard work tomorrow ;-) )
8 x

Cainntear
Black Belt - 3rd Dan
Posts: 3472
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 8671
Contact:

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

Postby Cainntear » Sat Aug 29, 2020 6:06 pm

Nice project.

I've been starting to look at something similar -- resurrecting some code I started a few years back to mark out audio files into sections and possibly picking up the FSI project I was intending to kick off earlier this year.

What are you developing it in? If you're thinking about Electron or similar, you should definitely look at wavesurfer.js if you haven't already. It's not particularly touch-input friendly as is, so you'd still have a bit of UI work to do to get it functioning acceptably on mobile.

ADMIN EDIT: Fixed the link.
1 x

p.freeman
Posts: 6
Joined: Thu Aug 27, 2020 8:10 pm
Languages: German (N), English (C1), French (maybe slightly better than my Spanish), Spanish (I can more or less communicate in everyday life in spanish), Bulgarian (beginner), Italian (beginner)
x 4

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

Postby p.freeman » Sat Aug 29, 2020 9:56 pm

Dear ryanheise,

what you try to do sounds awesome and is actually something similar to what I could actually use in combination with what I am currently trying to do.

Would it be possible for you to incorporate interlinear texts into the application, so that people could use the App to learn languages with the Birkenbihl-Method with the help of songs and interlinear translations of the song-lyrics (and maybe also other audio-files and transcriptions of them or simple texts and audio-recordings of these texts)?

Active Listening according to the Birkenbihl-method of language-learning:

Image

Here you can find two short explanations of the Birkenbihl-Method for language-learning:
- http://www.vidactic.com/?page_id=868
- https://www.vilango.at/portfolio/birkenbihl-sprachen/

The rewind-function to a particular location in the text (or in the case of a song, to a particular location in the song) could work similarly to how the software from linguajet worked, that I tried some time ago. In that software, you could double-click (or just click once - I don't quite remember anymore, as it has been quite some time, since I last used that software from Linguajet) on a specific word-segment and then the audio would rewind (or probably also jump ahead) to that specific word-segment and also the highlighting of the text would move to that location as well (so that the reader would know exactly, where the audio was and where he would have to focus his eyes to read along the correct parts of the text, while the audio was playing)

Here you can find two videos showing how the Linguajet-App works respectively how to use the App for language-learning:
- Linguajet Instructions: https://youtu.be/CuGnxhn4-H0
- Linguajet Methodology: https://youtu.be/XNmOejR-X8k

Look of the Linguajet-App:
Image

Here you can get a look of how the Linguajet Software worked: https://vimeo.com/202706653

And here a screenshot from the above video:
Image

Here you can find a video of what seems to be an older version of the Linguajet Software: https://vimeo.com/82277044

A two screenshot from the above video:
Image
Image

Concerning Interlinear Texts, I recently created a basic application (in php) to create interlinear texts. (See the github-repository here: https://github.com/p-freeman/Interlinear-Text-Creator). This application could be used to create interlinear texts, which could then be imported into and used in a Language-Leaening App. (The Interlinear-Text-Creation Software would yet need to be adapted though to that specific purpose)

Concerning the making of the App that you are trying to make, how do you intend to program it? Have you heard of Flutter before? With Flutter you can with one single codebase create an App for Android and iOS, but at the same time also for Web and Desktop.

From the official website of Flutter (https://flutter.dev/):

> Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.

For a short video-explanation of what Flutter is, you can watch the video "What is Flutter?": https://youtu.be/I9ceqw5Ny-4

By the way, I just learned from the thread "Is there an iOS alternative to Ear2memory?" (https://forum.language-learners.org/vie ... 19&t=15853) about the Ear2Memory App (see its website here "http://ear2memory.com/" and also the accompanying PDF: "http://bsk1.com/Ear2Memory.pdf"). The App is available in the GooglePlay Store along with the GigaSardinian App.

Look of the Ear2Memory App:
Image

Excerpt from ear2memory.com:

> Ear2Memory (E2M; install here) is a free Power Repeat app by Bernd Sebastian Kamps that will help you learn any language in the world. By efficiently managing your language audio files, E2M will enable you, within less than four months, to clearly distinguish and understand, word for word, one hour of foreign speech (you’ll ‘conquer an island of total understanding’).

Look of the GigaSardinian App:
Image

Concerning the GigaSardinian App, in the aforementioned PDF it says:

> To demonstrate how Ear2Memory works, we have developed a demo app called GigaSardinian.

It also says in the aforementioned PDF (referring to so-called snippet-files):

> snippets tell Ear2Memory how to divide the GigaSardinian audios into short segments

Basically, if I understand the GigaSardinian App and the Ear2Memory App correctly, these two apps are used to help learn a language with the help of parallel texts with the help of:
- an audio file
- a transcription of the audio-file
- a translation of the transcription (into a language which the language-learner already knows)
- a word list
- a snippet file or multiple snippet-files

The App (the one I hope you could create), I imagine would work similar to the App from Linguajet. It would also work similar to the App Ear2Memory and the App GigaSardinian, however, instead of a parallel that the GigaSardinian App uses, the app would use interlinear texts. By using interlinear texts, there would be no need for word-lists anymore, because the interlinear text along with the audio would be enough for the language-learner to learn the language.

The App could work in a modular fashion in that it could provide a basic framework and the users could then download text-audio-bundles which would contain everything the app would need in order for the user to learn the desired language with the help of the chosen text (offline).

These bundles could contain the following files:
- the audio-file or audio-recording [.mp3 or .wav-file]
- the lyrics of the audio-file or the transcription of the audio-recording (this would be the text-information in the source-language, the language in which the audio-recording is in) [.source-file]
- the (word-by-word and not sentence-by-sentence) translation of the source-text into the target-language [.target-file]
- a database-file containing the interlinear text [.int-file]
- a snippet-file denoting the start and end of sentences in the audio-file [.snippet-file]
- a html-file of the interlinear text [.int.html-file]
- a config-file containing e.g. the name of the bundle and additional meta-information of the bundle [possibly as a .yaml-file]

.int.html-files can I already produce with my Interlinear-Text-Creation Software mentioned above (although [maybe just for now?] they are just called .html-files) and .int-files are also created by the mu software as a byproduct.

I haven't yet fully grasped the Ear2Memory App, yet it may be possible to create snippet-files with this App to denote the end or start of sentences in audio-files. If someone could figure out a way to create such snippet-files and could also figure out a way of how to use them in a way so that a user-experience similar to the one I had with the Linguajet-Software could be created, that would be great.

A bundle for a certain text or transcription/lyrics-text could also contain multiple ".int.html", ".int" and ".target" files, specifically one of each of these three filetypes for each language. This would mean that if the source-text would be in English, then these three files (a ".int.html"-file, a ".int"-file and a ".target"-file) could be added to the bundle for Spanish, French, German and Italian. By doing so, speakers of Spanish, French, German and Italian can download the same bundle and with the help of the information contained in this bundle learn English with the source-text, an accompanying audio-file in English and an interlinear translation into their language.

Let me know your thoughts on my ideas and if you would be willing to and could (help to) create such an App.

Looking forward to your reply and God bless you,
Peter
2 x

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

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

Postby Adrianslont » Sat Aug 29, 2020 11:58 pm

Hi Ryan. Exciting project.

I have some thoughts and questions

Do you have terminology for the sum of the clips A to G? Do you call that the “recording”? I ask because I just want to make sure everyone is on the same page!

Is my recording split into clips automatically or can the user define the clips?

Do you know about the back chaining technique for practising pronunciation? I really like it and find it powerful - i should use it more. Your software could potentially be really useful for facilitating the technique. I include a link and a quote to a succinct explanation below. The example they give only has five words but it could be much longer. Your software would of course replace the teacher’s role.

Backchaining is a drilling technique intended to help learners pronounce difficult sound groups, words or phrases. The teacher begins with the last sound, which the learners repeat, and then gradually builds up the word or phrase by going 'back' to the beginning.

Example
The following sequence is an example of a backchaining drill:
Teacher: Known
Learners: Known
Teacher: I'd known
Learners: I'd known
Teacher: If only I'd known
Learners: If only I'd known etc
In the classroom
Backchaining is one of many drilling techniques which can be used to focus on pronunciation problems. It is particularly useful to help learners pronounce weak, elided or intrusive sounds. In addition to helping learners say difficult phrases, it is also fun


https://www.teachingenglish.org.uk/article/backchaining

In short it would be great if your software could facilitate backchaining practice.

Related to that I wonder about your idea of building pairs to quadruples - I wonder if you might end up with doubles and quadruples that aren’t so logical - sometimes a triple might be needed for the utterance to make sense? I don’t really know - just raising that as a potential issue I can see. Note that in the example in the backchaining link it is easy to maintain logic / meaning - and you end up with a triple. See below:

If only | I’d | known.

All the best with the project.
2 x

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

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

Postby ryanheise » Sun Aug 30, 2020 3:15 am

Cainntear wrote:If you're thinking about Electron or similar, you should definitely look at wavesurfer.js if you haven't already.


Interesting! I'll look into it, since it might give me some ideas on how to technically solve problems, although I will actually be developing a native iOS/Android app.

p.freeman wrote:Would it be possible for you to incorporate interlinear texts into the application, so that people could use the App to learn languages with the Birkenbihl-Method with the help of songs and interlinear translations of the song-lyrics (and maybe also other audio-files and transcriptions of them or simple texts and audio-recordings of these texts)?


I definitely want to eventually have interlinear texts, and could easily add an option to import SRT files. Then you could import an SRT for each language and have the app automatically do the matching based on the overlapping timestamps. For the Birkenbihi-Method, a potential problem is that it looks like it's mapping each individual word between languages as opposed to the whole sentence, and 1) there's no standard file format for this so we'd need to invent a new one, and 2) it could be problematic with distant languages that have different word orders (e.g. I'm currently going from English to Japanese). But it looks like it is a really powerful idea, for sure, and with word order, it could be cool to have connecting lines between word pairs which may even cross over if the word order is reversed.

Concerning the making of the App that you are trying to make, how do you intend to program it? Have you heard of Fl...


You read my mind, and that is what I'll be using 8-)

Adrianslont wrote:Do you have terminology for the sum of the clips A to G? Do you call that the “recording”? I ask because I just want to make sure everyone is on the same page!

Is my recording split into clips automatically or can the user define the clips?


I haven't settled on terminology yet, but I think "clip" could be OK, or "segment" could be OK, but I'm leaning towards clip. In music, I used the word "section", but this word feels like it only refers to a larger entity. Also, I think I would run out of alphabet if I actually used letters to label the clips. I could use numbers or no labels at all. Or I could use a base-26 numeral system where after Z we loop to AA, AB, AC, ...

To answer your second question, the audio will be automatically split into clips, and then the user will be able to split or join the clips further if they choose.

Do you know about the back chaining technique for practising pronunciation? I really like it and find it powerful - i should use it more. Your software could potentially be really useful for facilitating the technique. I include a link and a quote to a succinct explanation below. The example they give only has five words but it could be much longer. Your software would of course replace the teacher’s role.


Yes, in the thread linked in the top post Kamlari mentioned a similar idea, not for chaining individual words in the sentence, but for chaining sections of text. I like this idea, and so I'd like to include it in the app.

Related to that I wonder about your idea of building pairs to quadruples - I wonder if you might end up with doubles and quadruples that aren’t so logical - sometimes a triple might be needed for the utterance to make sense? I don’t really know - just raising that as a potential issue I can see. Note that in the example in the backchaining link it is easy to maintain logic / meaning - and you end up with a triple. See below:

If only | I’d | known.

All the best with the project.


I have thought about this, and here's what I've come up with. I'll introduce some terminology:

* A clip is a short, atomic segment of audio that is difficult to split.
* A chunk is a sequence of 1 to 3 clips that are close together (average length 2).
* A unit is a sequence of 4 chunks.

The algorithm will identify units by looking for "large" gaps in the audio, balancing that with the requirement that you need enough material to put into a unit.

The algorithm will identify chunks by looking for "medium" gaps in the audio, balancing that with the requirement that you need between 1 to 3 clips in each chunk. The user obviously needs to be able to adjust the chunking to their liking if the algorithm got it wrong.

If each chunk has EXACTLY 2 clips, then a unit would have eight clips. They would be merged like this:

1. A B C D E F G H.
2. AB CD EF GH
3. ABCD EFGH
4. ABCDEFGH

This approach allows for some imperfections in how units are subdivided, so if a chunk 1 or 3 clips instead of 2, this will only affect the first stage, and the algorithm would proceed as normal from stage 2 onwards. E.g. eventually, with mixed clump sizes, we would get to stage 2 and it would look something like this:

2. ABC DE F GH
3. ABCDE FGH
4. ABCDEFGH

Or this:

2. AB CDE FGH IJ
3. ABCDE FGHIJ
4. ABCDEFGHIJ

As for how to get from stage 1 to stage 2 in the presence of 3-chunks like "ABC", I think this is where we can blend the approach with the back-chaining approach.

Note that I am thinking of all of this in terms of clips being phrases, but you could manually subdivide the detected clips further to break it down into individual words and the same algorithm should work just fine.

I am not sure on the best user interface to choose between my music-style subdivision approach and the back-chaining approach, so I'm sure this will be one of the UI challenges I run into later.

Part of me wants to have it so that there's simply a next button, and you can decide as you get up to the next clip how you want to deal with it. But another part of me thinks it would be useful to have a birdseye view of how the audio is broken down into units, and further subdivided, because you won't necessarily know whether you want to extend the current chunk until you hear the next clip.

Anyway, It's now Day 1, so I have some work to do :-)

I know I wasn't planning to do anything yesterday, but I started looking into the Google Play Store and realised that there's actually a lot I have to do before I am allowed to even release a BETA, including creating an icon. So I spent yesterday coming up with this:

Image

Those little talons on the L and T kind of give it an Arabic feel to me. That was purely by chance, and I might come up with some completely different idea later, but this is the idea that jumped out at me as soon as I typed the initials "LT" into Inkscape, and I could see the L and T were almost perfectly symmetrical so I added the little talon-shaped things to make it sort of work.
3 x

Cainntear
Black Belt - 3rd Dan
Posts: 3472
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 8671
Contact:

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

Postby Cainntear » Sun Aug 30, 2020 3:27 pm

ryanheise wrote:
Cainntear wrote:If you're thinking about Electron or similar, you should definitely look at wavesurfer.js if you haven't already.


Interesting! I'll look into it, since it might give me some ideas on how to technically solve problems, although I will actually be developing a native iOS/Android app.

I thought you probably would be. I'm only looking at this because I'm designing from a web-first approach, so I've never looked at mobile frameworks. I doubt there'll be anything Wavesurfer does that Flutter doesn't do automatically.
I definitely want to eventually have interlinear texts, and could easily add an option to import SRT files. Then you could import an SRT for each language and have the app automatically do the matching based on the overlapping timestamps. For the Birkenbihi-Method, a potential problem is that it looks like it's mapping each individual word between languages as opposed to the whole sentence, and 1) there's no standard file format for this so we'd need to invent a new one,

At this stage I'd personally probably go for a pretty straightforward JSON format that can be changed later:

Code: Select all

{ version:0.1,
  file:"..."
  segments : [ { start: 001,
                 end: 100},
                { start: 102,
                  end: 200,
                  segments: [ ...
                                   ] }
                 ...
             ]
}

Then you'd be open to adding properties like transcript or translation at any level you see fit. I know that won't deal with the more complicated situations, but you could tie yourself in knots trying to think about every possible means of future-proofing.

I haven't settled on terminology yet, but I think "clip" could be OK, or "segment" could be OK, but I'm leaning towards clip.

I'd personally go for "segment". Small sound or video files are referred to as "clips" at times, so there's a potential for slight confusion. Your users might be discouraged from making too many clips if they think that they're going to be creating additional files.
In music, I used the word "section", but this word feels like it only refers to a larger entity. Also, I think I would run out of alphabet if I actually used letters to label the clips. I could use numbers or no labels at all. Or I could use a base-26 numeral system where after Z we loop to AA, AB, AC, ...

Label by subdivision? Sentence A, clause 2, phrase 1, word 3: a.2.1.3 ...?

Do you know about the back chaining technique for practising pronunciation? I really like it and find it powerful - i should use it more. Your software could potentially be really useful for facilitating the technique. I include a link and a quote to a succinct explanation below. The example they give only has five words but it could be much longer. Your software would of course replace the teacher’s role.


Yes, in the thread linked in the top post Kamlari mentioned a similar idea, not for chaining individual words in the sentence, but for chaining sections of text. I like this idea, and so I'd like to include it in the app.

I'm not sure how well back-chaining would work. Back-chaining tends to work with short segments -- for an extreme example, look at Pimsleur, where it's built up a syllable at a time, or possibly even just a phoneme at a time in some instances. But you'll never get that from cutting up recordings, because there aren't clear boundaries between syllables or even words in most speech -- back-chaining needs to be deliberately pronounced. The likely chunks/segments/clips you get in this software are going to be too long for effective back-chaining.

(However, it's a fairly trivial feature to implement, so not much of a time sink.)

Note that I am thinking of all of this in terms of clips being phrases, but you could manually subdivide the detected clips further to break it down into individual words and the same algorithm should work just fine.

Is that subdivision going to introduce arbitrary levels of nesting? I would personally find that more useful. For example, if you look at some of the FSI dialogues tape scripts, you've got multiple activities in a single MP3 file. A dialogue may be split into multiple scenes. Each scene consists of multiple lines, but as several consecutive lines may be spoken by the same speaker, that means a scene is built of turns that are built of one or more lines. Lines consist of sentences which may consist of multiple clauses, the clause contain phrases which contain words. If I was to prep a file for a student's use, I'd want to take a slight bit of extra time to make sure every stage of reassembling the full dialogue created a single unit at each level.

Of course, that's maybe not the typical use case. However, sharing the file data (with only a link to the audio) would mean that this could lead to a useful crowdsourced library, where people take the time to do one or two each properly and then share the data with each other.
0 x

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

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

Postby ryanheise » Sun Aug 30, 2020 5:10 pm

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.

In other news, it looks like the quickest way to share the app during development will be through what Google calls an "Internal release". if anyone wants to receive access to the app during this 2 week development period, just send me a PM with your email address and I'll add you to the access list.
0 x

p.freeman
Posts: 6
Joined: Thu Aug 27, 2020 8:10 pm
Languages: German (N), English (C1), French (maybe slightly better than my Spanish), Spanish (I can more or less communicate in everyday life in spanish), Bulgarian (beginner), Italian (beginner)
x 4

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

Postby p.freeman » Sun Aug 30, 2020 5:28 pm

Dear ryanheise,

why don't you just segment each word separately and additionally add another layer for each sentence?

Then, if someone didn't quite yet grasp the meaning (and/or pronounciation) of a particular sentence, he could just loop the whole sentence (with the touch of a "loop sentence" button) until he grasps the meaning (and/or pronounciation) of the part he didn't grasp before.

Additionally, it would be a good idea to add an option (maybe similar to how the problem was solved in the newer Linguajet Software) wherewith you can choose the playback speed of the audio.

Thus, if you didn't yet fully grasp a part, you could not only loop the whole sentence until you get it, but you could do so also at a lower playback speed.

Greetings,
Peter
0 x

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

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

Postby ryanheise » Sun Aug 30, 2020 5:32 pm

Since I'm going to bed now, that marks the end of Day 1 :-)

I more or less achieved the modest goals I set for today. I tried to set up an alpha test through Google Play but it said that app reviews are taking longer than usual at this time, so we'll go with the Internal test approach instead (as mentioned in my previous comment, just PM me if you want me to add you to the test.)

Tomorrow I start building out the wire-framey screens and figure out what should go where.
2 x

Cainntear
Black Belt - 3rd Dan
Posts: 3472
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 8671
Contact:

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

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

p.freeman wrote:why don't you just segment each word separately and additionally add another layer for each sentence?

He's building multiple layers -- sounds like you'll be able to use however many you think are necessary to respect the structure of the content you're using.

Words wouldn't be a particular useful way to split up an audio file -- as people run their words together in speech, it's often impossible to break an audio file along word boundaries without creating awkward, unnatural, unpleasant sounding snippets.
1 x


Return to “Language Programs and Resources”

Who is online

Users browsing this forum: No registered users and 2 guests