Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audio support #94

Closed
ku1ik opened this issue Apr 4, 2012 · 27 comments
Closed

Audio support #94

ku1ik opened this issue Apr 4, 2012 · 27 comments

Comments

@ku1ik
Copy link
Contributor

ku1ik commented Apr 4, 2012

Possibly uploaded by user and played through html5 audio tag.

@icholy
Copy link

icholy commented Jun 7, 2012

I don't think this is a good idea. asciiio should do one thing, do it simply, and do it well. If people want audio then asciiio is beyond the scope of what they need. Imo audio is just adding adding unnecessary complication.

@ku1ik
Copy link
Contributor Author

ku1ik commented Aug 15, 2012

Thank you for stating your opinion. In my opinion it will complicate code, I agree with you. How much code it will require depends on the way it would be implemented. There are several ways this can be achieved, I'm not convinced by any of them yet.

I'm leaving this issue open to have a place for discussion about this feature.

@tjeden
Copy link

tjeden commented Oct 22, 2012

+1 for audio support. I would use ascii.io to create screencasts, but without audio it's useless for me.

@ku1ik
Copy link
Contributor Author

ku1ik commented Nov 18, 2012

There are 2 options for this:

  1. allow user to upload any mp3/ogg with voiceover to his already recorded asciicast
  2. record microphone during recording of asciicasts, encode to mp3/ogg, send mp3 together with text data

Both have upsides and downsides.

Option 1: Upside: user can record voiceover any number of times, remove noise etc. Downside: it's too much hassle for someone who just wants to do some quick recording, who doesn't want to deal with this additional "audio work".

Option 2: Upside: recording simplicity stays the same for the user. Downsides: it limits options of editing/preparing audio. Also it adds dependencies on cross-platform audio recording lib (for example pyaudio) and on mp3/ogg encoding tool.

@losingkeys
Copy link

This may warren its own issue/discussion, but what about integrating with popcorn.js? Also, the fact that long pauses are zipped to 5 seconds may become an issue if we want people talking over their presentation. Using popcorn.js we might allow the to record the audio after... and could even provide an option for if they wanted the time zipped up or not.

@wxianfeng
Copy link

i want it support audio

@asmcos
Copy link

asmcos commented Mar 26, 2013

I had add mp3 support.
And I will support picture next time.

@mattboehm
Copy link

I would love audio support so I could use it for screencasts as well. I think it should not be the responsibility of the client, as that sounds too complicated to add.

Uploading mp3/ogg (or even just providing a link to an audio file hosted elsewhere so you don't have to host it) would definitely work.

If you don't want to add all that to your codebase, at the very least it would be nice if the embedded player exposed hooks so I could sync it with an audio player myself.

@nathany
Copy link

nathany commented Mar 2, 2015

Audio support would be pretty cool. Most importantly, I think:

  • Hooks in the player to sync starting audio and the cast. This would make it possible the play audio on a blog even if not directly supported on asciinema.org.
  • A granular way to speed up portions of the cast to synchronize with audio, and reduce long pauses (or create pauses/stretch out the cast as needed).

My vote would be for option 1, upload audio later. This more closely matches how screencasts are made and doesn't make the recorder more complicated. Those that don't want to be bothered with audio could just add a textual transcript.

@ku1ik
Copy link
Contributor Author

ku1ik commented Apr 24, 2015

I like what @mattboehm and @nathany suggest. Let's go this way.

I have added "hooks" to the TODO list of the player (https://github.com/asciinema/asciinema-player) and will prioritize this work.

@kordless
Copy link

I just came here looking for some sort of sound syncing ability for the product (which I love BTW). Vimeo has JS hooks to enable actions to take place external to the player. I like the simplicity of the player, and it should stay true to that simplicity, but if the users want to do something fancy, the player should be able to output where it is at, what it is doing and whether it should be playing or not. These features enable far more functionality than sound alone!

@rharriso
Copy link

@sickill, after adding hooks to the player, would the next step be integrating with some audio hosting service, like soundcloud?

Or, do you think hosting the audio through asciinema.org would be best?

@ku1ik
Copy link
Contributor Author

ku1ik commented Aug 11, 2015

@rharriso so the first step is to add hooks to the player ("on-start", "on-pause" etc), so you can control the audio playback yourself. For example you'll be able to add html5 audio tag and play/pause the audio file in sync with terminal playback.

Once the player has this, I'll be able to use it on asciinema.org. As for hosting the files, I don't plan to host them. asciinema.org is a free service, and while hosting the recordings doesn't cost me much, audio files would make it more expensive. So my current idea for this is to just let people specify audio file URL which will be used directly by audio tag. If soundcloud provides direct audio file URLs then you'll be able to use them.

@rharriso
Copy link

@sickill, Is this being worked on already? Or is it an open item?

@ku1ik
Copy link
Contributor Author

ku1ik commented Aug 12, 2015

@rharriso atm I'm (slowly) working on the new version of the player here: https://github.com/asciinema/asciinema-player/tree/next I expect to finish this in the next couple of weeks, then I'll be working on the hooks.

@rharriso
Copy link

I'm in the process of moving, so I don't have any free time to contribute. But after I get where I'm going, I'll check in.

@rharriso
Copy link

rharriso commented Sep 1, 2015

@sickill, I'm settling in after my move, and have a little more time to work on side stuff. How are you doing on this? Do you want some help implementing it?

@ku1ik
Copy link
Contributor Author

ku1ik commented Sep 7, 2015

@rharriso let's move the discussion about hooks to asciinema/asciinema-player#12, as it needs to be done before we can add audio support to the site.

@weitzman
Copy link

weitzman commented May 5, 2017

As an update, asciinema/asciinema-player#12 added the js events needed for for synching audio. So, we're not there yet but its getting close.

@anarcat
Copy link

anarcat commented Oct 31, 2017

@weitzman awesome! (and hi - fancy seeing you here :)) - does that mean there is a way to setup an audio feed next to asciinema now?

i mean i'm fine with recording audio using a separate tool and slapping it in there somehow, i just don't feel it's even possible with the current implementation...

@weitzman
Copy link

Hi. @anarcat. Fancy indeed.

It looks possible, but there isn't an example anywhere that I've found. The starting point would be the JS docs at https://github.com/asciinema/asciinema-player#controlling-the-player-programmatically

@anarcat
Copy link

anarcat commented Oct 31, 2017

riiight... so i guess it would probably be simpler to just code a audio player straight into the normal asciinema right here... otherwise you end up replicating the whole thing.

in other words, it's probably easier to pass in asciinema an audio file than try to extract the asciinema player out of asciinema and implement a separate audio player, considering the latter is basically standard HTML5...

@pfalcon
Copy link

pfalcon commented Jan 16, 2018

https://github.com/dhobsd/castty is an asciinema-compatible recorder and player with audio support. Demo: https://9vx.org/%7Edho/term/index.html

@F1LT3R
Copy link

F1LT3R commented Oct 26, 2018

@weitzman can you manually set the position/time of the player with javascript'?

@Bikraji
Copy link

Bikraji commented Jun 24, 2019

Guys, what is the status of this issue?
Are you going to support this feature, any road map?

@data-harmonization
Copy link

https://github.com/dhobsd/castty is an asciinema-compatible recorder and player with audio support. Demo: https://9vx.org/%7Edho/term/index.html

For people looking into this alternative, my own findings are that Casttly is less advanced than asciinema with respect to the recording options. Also, I was not able to play a Casttly-cast with the Asciinema player (while the webpage says it is valid v1-format, so probably, I did something wrong). Last but not least, my audio recording on MacOS BigSur is unfortunately not playing at all.

Bottom line, Casttly doesn't seem an alternative for folks like me who like to annotate their recordings with audio.

If I'm not mistaken, this is the only asciinema-issue related to audio/voice-support that is still open. I would love to hear if there are any updates or users that managed to add audio to their recordings

@cipy
Copy link

cipy commented Jan 28, 2022

while indeed is best to keep asciinema simple and fast,

how about providing some placeholder code so that when we play the recording on a webpage, we'd get an audio track started at the same time. recording audio should be outside the scope of asciinema, as semi-pro's would like to edit, cut, refine, adjust the sound levels before going live with the track.

thanks 💯

@bkil bkil mentioned this issue Jul 9, 2022
@ku1ik ku1ik transferred this issue from asciinema/asciinema-server Apr 25, 2023
@ku1ik ku1ik changed the title Audio support discussion Audio support Apr 25, 2023
@asciinema asciinema locked and limited conversation to collaborators Apr 25, 2023
@ku1ik ku1ik converted this issue into discussion #96 Apr 25, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests