TAPIR Player, an Audio Player for Studying Languages

General discussion about learning languages
davidzweig
White Belt
Posts: 30
Joined: Sun Apr 23, 2017 4:58 pm
Languages: Spanish, Farsi, Russian, and a few more.
x 75

Re: TAPIR Player, an Audio Player for Studying Languages

Postby davidzweig » Fri Jul 20, 2018 3:14 pm

>> The image above says "star current card". Does it mean that it works together with Anki and would be able to rate cards as well?

Actually, I've never really used Anki. I can check it out, and let you know.

>> Í thin this is really interesting. I think if it were a fairly low price of be very interested. The only thing that makes me nervous is how difficult it would be to format materials. "100 lines of python code" is not reassuring :)

Yes, I realise that 95-99% of users just want to download ready-made materials and start studying. I am planning to set up a page for this, and also allow users to upload their own materials, if copyright isn't an issue.

>> OP, would you consider making this open source? Can I assume you will be providing a documented API?

The 'API' for the player is extremely simple, in fact it's probably better to call it a convention for naming files.
At it simplest, it's just a folder of audio files, with incrementing file names. Like this:

0001FR_A.mp3
0002FR_A.mp3
0003FR_A.mp3

The translation files, if provided, would look like this:

0001EN_A.mp3
0002EN_A.mp3
0003EN_A.mp3

'EN_' is the name of the 'track'. You could also include an alternative audio versions of the French, perhaps read slower, or with explanations:

0001FR_B.mp3
0002FR_B.mp3
0003FR_B.mp3

You can add a sub-folder under the second item (ie, it's a heading) by making the folder 0002KIDS, and there you can store more items. I wanted to make it as easy as possible to create your own materials. The list of stared cards can just be a textfile, with an index number of a stared card on each line. I can upload some sample materials, probably it would make more sense that way.

The scripts and tools for creating materials will absolutely be open source. The player uses about 10k lines of code that I got under an NDA from the chip manufacturer. Quite a bit more is provided as compiled libraries that I don't have the source for. I don't think it really makes sense to make the firmware open source. The smartphone app can be.

>> I think a lot of people will be challenged by the many button design.

Perhaps. Not everything is obvious when you first pick it up, but it's fairly logical when you play with it for a while. Having more buttons means each button has more-or-less a single function/meaning, you don't need menus (a plane's cockpit has lots of dedicated buttons, and I guess it makes it faster to operate).

>> Can you disable the lights of the buttons ? (not very useful to me except to see if the device is off or on).

Yes, I didn't program that yet, but no problem.

>> Does it have auto-power off after x minutes of pause/no use ?

Yes, I didn't program that yet, but no problem.

>> What is the power of the battery and how many hours do you think you can use the device before recharging ?

Currently about 10 hours playback. Later I program it to reduce the speed of the CPU from 96 MHz to 48 MHz most of the time, that should take the battery out to about 15 hours. This chip turned out to be a bit heavier on battery than I hoped, but it's not too bad.

>> What audio formats does it accept ? MP3 only or something else like .ogg is possible ?

MP3, WMA, FLAC, WAV I think OGG too. Personally I am interested to add OPUS support, it has good quality at extremely low bitrates. But, this isn't the priority just now.

I hope I answered most of your questions. I'll be online a few once-a-day for the next few days, I'm taking a little holiday. Thanks for the support.
5 x

davidzweig
White Belt
Posts: 30
Joined: Sun Apr 23, 2017 4:58 pm
Languages: Spanish, Farsi, Russian, and a few more.
x 75

Re: TAPIR Player, an Audio Player for Studying Languages

Postby davidzweig » Mon Jul 30, 2018 7:01 pm

Hello. That last message was meant to mean 'please don't get upset if i don't reply quickly,' not 'don't bother me, I'm on holiday.' :-)

I have been thinking about how to move forward from here. I think the next steps should be the following:

1. Get a desktop/smartphone player app working. Today I started making the UI and implementing the logic. Actually, touch wood, it's not too much work, I take the C code from the player and adapt it. I don't want to give an ETA, but progress is fast. I will bring the UI across 'as-is' for now. Here's a screenshot:

Image

Update: here's a video of some basic functions working. Works on Windows and Android.
There's not really any noticeable delay between button presses and the audio playing, it seems that way in the video because of the recording app, I think.



It's an.. unusual UI for a smartphone app. I didn't consider how to make a new UI for a smartphone. Most of the work was getting the basic components working (file access, audio playback, registering touch events etc.). I'll carry on working on it and put it online soon, when there are some more features and the code is a bit more robust.

Aside:
Running on a device with internet means that the program can access resources over a network. It should be possible to host some 'tapir' media files on a standard web server, and have the program access the files remotely. If you introduce the concept of links, you have an 'audio internet'.. perhaps useful for the blind.

2. Set up a website for sharing materials formatted in this way. It will be a bit like a youtube, anyone can upload and share materials with others. It will be basic at first, with more features later. An obvious feature would be to have a 'virtual' player that lets you use the different materials right on the site.. it shouldn't be too hard to implement, as described above.

3. Set up a space(s) for discussion. People making scripts would need a place where they can share ideas and approaches. And also a place for users to ask questions/make suggestions. A mailing list, Slack, ICQ etc. also possible. I'm not sure what is best here.

EDIT: I did an initial dump of some scripts online, they need further work and documentation: https://github.com/hobodrifterdavid/lan ... s-tool-kit

4. I am considering doing a short run of players (20-50) for those interested. It would be based on an alternative design I have with a simpler button mechanism. (The current buttons look really nice, but they need an expensive 3d prototyping machine to get the required mechanical tolerances, with expensive 'goop', and even then there are potential difficulties. In production, the parts would be made with injection molding, which can handle tight tolerances.)

Stefan, sorry, I didn't manage to take a look into Anki yet.

I am around Budapest, Ukraine, or Belgrade for the time being, if you like, email me if you like on hobodrifterdavid [at] bigG dot com.
0 x


Return to “General Language Discussion”

Who is online

Users browsing this forum: No registered users and 2 guests