Line breaks inside shortcode variable

You could try using the enclosing form to write the shortcode and make use of the $content returned variable.

You need to declare you short code function with the extra parameter:

function transciptor( $atts="", $content ) {

and then write your shortcode as:

[transcript]
place the value that
will be passed to
$content here
[/transcript]

Note the alternative syntax for the shortcode. There is information about it in the codex here.

If the p tags are still there I see two other options. Don’t enclose your shortcode parameter in paragraph tags, i.e.

'.$value['text'].'

instead of

<p>'.$value['text'].'</p>

or you could parse the p tags from the variable with something like:

$value['text'] = str_replace("<p>", "", $value['text']);
$value['text'] = str_replace("</p>", "<br>", $value['text']);