Skip to Content

Skype call recording with bookmarked, mind-mapped notes

I've been perfecting a very specific efficiency aspect of my workflow: taking notes during Skype calls. I use a Skype-in number as my primary phone number, and -- with permission -- record client calls for future reference. I can't tell you how many times this has come in handy. On long calls, though, going back and finding a specific point where something was mentioned can be a time-consuming hassle. What I wanted was the ability to record a Skype call while taking notes, and to then be able to reference my (abbreviated) notes back to the exact point where they were taken in the conversation.

I've played around extensively with doing this in Pear Note and Transcriva, and both work very well once you get the audio routing right (Soundflower is gold). However, I love taking my notes in a mind map format, and usually create a MindManager map before I start a call. This is especially valuable with long, long calls where keeping things organized and grouped on the fly as the conversation meanders and backtracks can be vital. So I donned my AppleScript hat and started seeing what I could do.

I'm using Audio Hijack Pro and Mindjet MindManager 7 Mac in these scripts. I had these readily available and they both have excellent AppleScript dictionaries, thus were conducive to satisfying my requirements. A little hacking could make these work with a variety of other applications. To set this up in Audio Hijack, I used the default Skype session and had my scripts check to see if we were recording, starting it up if we weren't. From that point, I could add quick bookmarks to my MindManager topics during the conversation. When I read back through my notes, I can instantly play back the associated part of the conversation. Read on to find out how I did it!

Record a bookmark

The following code will add a callout to the current topic in Mindjet MindManager. Assigned to a hotkey in something like FastScripts or Spark, it allows rapid bookmarking of the audio while taking notes. The basic elements are just a check to see if we're hijacking and recording Skype in Audio Hijack Pro, start doing so if we're not, and then grabbing the current recording time. The rest of the script is MindManager-specific, but could be altered to work with most note-taking applications which allow scripting. You just need to add the marker in a way that will be readable when you want to play the bookmark back. Inline notes in TextMate or VoodooPad could be accomplished as long as you can read the current line and extract the marker format. Here's the script for Audio Hijack and MindManager:

tell application "System Events" to set _frontapp to item 1 of ¬
((name of processes where frontmost is true) as list)
if _frontapp is not equal to "Mindjet MindManager" then
    tell application "Audio Hijack Pro" to activate
    tell application "Mindjet MindManager" to activate
end if
tell application "Audio Hijack Pro"
    set _ses to session "Skype"
    if hijacked of _ses is false then start hijacking _ses
    if recording of _ses is false then start recording _ses
    set _time to get current recording time of _ses
    if _time > 0 then
        tell application "Mindjet MindManager"
            tell document 1
                set _topic to item 1 of (get selection)
                if _topic is central topic then
                    set _newTopic to make new subtopic for _topic
                    make new callout for _newTopic with properties {name:_time}
                    select {_newTopic}
                else
                    make new callout for _topic with properties {name:_time}
                end if
            end tell
        end tell
    end if
end tell

Read a bookmark

Now we've got a map full of little "timecode" bookmarks, shown as callout topics (which you can hide from the View->Show & Hide menu, if you want). What we want to do is press a hotkey while a certain topic is selected and play back the appropriate portion of the audio file. I should mention that the last thing I do after I stop recording is to take the final audio file and drag it from Audio Hijack Pro to the central topic of the notes map, allowing it to create a new node with a hyperlink to the file. Right now, I'm doing this manually, but thanks to Audio Hijack's post processing script capabilities, you could easily automate this last step. When I open the notes back up, I just click the hyperlink to load the audio into Quicktime Player, which I then control with my bookmark-reading hotkey, as well as some basic controls mapped to function keys.

Here's the script, which I'm triggering with control-n (^N) from a selected topic in MindManager.

property preroll : 5
property postroll : 5

tell application "Mindjet MindManager"
    tell document 1
        set _topic to item 1 of (get selection)
        set _colist to callouts of _topic
        if (count of _colist) > 1 then
            set _floor to 9999999
            set _ceiling to 0
            repeat with _co in _colist
                set _int to (name of _co as integer)
                if _int < _floor then set _floor to _int
                if _int > _ceiling then set _ceiling to _int
            end repeat
            tell application "QuickTime Player"
                tell document 1
                    set selection start to ((_floor - preroll) * (time scale))
                    set selection end to ((_ceiling + postroll) * (time scale))
                    set play selection only to true
                    set current time to selection start
                    play
                end tell
            end tell
        else
            set _co to name of item 1 of _colist as integer
            tell application "QuickTime Player"
                tell document 1
                    set play selection only to false
                    clear
                    set current time to ((_co - preroll) * (time scale))
                    play
                end tell
            end tell
        end if
    end tell
end tell

We set up some properties (preroll and postroll) which determine how much padding we'll play when jumping to a selection. This is handy for me since I rarely start a note and bookmark it at the exact moment someone begins saying something; I'm not sure that's within the realm of human possibility, barring prescient abilities. The bulkiest part of the script is actually a handler if more than one bookmark is found on a single note, in which case it finds the earliest and latest timestamps and creates a selection in the audio file (with the padding) and plays back the full range. Otherwise, it just finds the timestamp, locates that spot in the audio file and starts playing.

This is working well for now, but will probably see some refinement over time. If you take the script and improve it, or modify it to work with other applications, I'd love to hear back from you!



I've been perfecting a very specific efficiency aspect of my workflow: taking notes during Skype calls. I use a Skype-in number as my...
 

Add a Comment

*0 / 3000 Character Maximum

8 Comments

Filter by:
Ben

Hi again,

I am wondering; is it possible to enter nodes in Mindmanager while listening to a prerecorded interview? Now, I record interviews using the internal mic with Amadeus Pro, and enter tags on the timeline afterwards. I try to enter quick sentences into Pages in the meanwhile. After tagging, I finish the Pages summary of the interview. But immediately clustering tags including time referrals with Mindmanager would be much better.

I searched for Amadeus' applescript dictionary, but it doesn't seem to have one. In Quicktime / VLC I couldn't find a similar command to 'current recording time' that Audio Hijack has.

Any thoughts anyone?

September 22 2009 at 10:46 AM Report abuse rate up rate down Reply
1 reply to Ben's comment
Brett Terpstra

If you're not completely sold on mind mapping your notes, I highly recommend Transcriva for this. Transcriva works quite well for taking notes during interviews as well.

http://www.bartastechnologies.com/products/transcriva/

September 22 2009 at 11:53 AM Report abuse rate up rate down Reply
Hendricus

interesting

August 19 2009 at 3:32 PM Report abuse rate up rate down Reply
Ben

Sounds great! I work as a researcher and recently started conducting telephone interviews with skype & audiohijack. Now I use Amadeus to tag afterwards, but I'm definitely trying this out.

2 questions:
- Can I change the decimals in timestamp? Now it's 24.38095238095238 :).
- When I try to listen to a bookmark, I get an error message: "Error number: -1700. Message: Can’t make name of item 1 of {} into type integer." Do you know why?

August 16 2009 at 10:26 AM Report abuse rate up rate down Reply
1 reply to Ben's comment
Brett Terpstra

In the line:
set _time to get current recording time of _ses

just add "as integer" to the end to remove the decimals entirely and round to the nearest second, which should be more than accurate enough for these purposes. The line would then read:

set _time to get current recording time of _ses as integer

The error you're getting on playback sounds like you're triggering the script from a callout rather than from the node itself, which is how it was designed. You could fairly easily add a check for the current node type, and if it were a callout, run the script on the parent instead. The scripts aren't terribly "smart" right now, just functional, and there's plenty of room for error catching and overall improvement.

August 16 2009 at 10:24 PM Report abuse rate up rate down Reply
aj_robins

Google Voice users can also record incoming calls, and GV will automatically transcribe the conversation. The transcription isn't 100% accurate, but it's a good start, and you always have the recording.

August 15 2009 at 3:26 PM Report abuse rate up rate down Reply
nickux

I use Audio Hijack Pro too- it's excellent. Only I'm using it to record interviews for a podcast series so they are always aware it's being recorded.

August 15 2009 at 1:02 PM Report abuse rate up rate down Reply
dmonceaux

Why don't you just purchase a Lifescribe pen.

August 15 2009 at 10:27 AM Report abuse rate up rate down Reply
Buy an ad here

Hot Apps on TUAW

Tweets

© 2012 AOL Inc. All Rights Reserved.