Differences between revisions 25 and 40 (spanning 15 versions)
Revision 25 as of 2009-10-07 11:53:24
Size: 8795
Editor: fruity
Comment:
Revision 40 as of 2023-11-19 10:52:25
Size: 14197
Editor: asbesto
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
Line 7: Line 8:
'''by Asbesto, CORONAVIRUS EDITION 11/3/2020 '''

== SINK HOLE NEL CULO ==

DA UTENTE:

{{{

pactl load-module module-null-sink sink_name=Radio sink_properties="device.description='Radio'"

}}}

dovrebbe creare un LAVANDINO Radio. NON SO A COSA SERVE: VEDI https://zackhobson.com/2020/05/26/internet-radio-pulseaudio-darkice-icecast/


non so come ma se setto device = pulse dentro darkice, strimma quel che esce dal mixer audio quindi anche il dsp out mp3 porcodio gqrx merda



== DARKICE setup on vtroglos etc ==

What device to use?

{{{
Use "aplay -l" to get a list of the devices on your system. The hw:X,Y comes from this mapping of your hardware -- in this case, X is the card number, while Y is the device number.

root@rover:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: H2n [H2n], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
root@rover:~#

card 1 is the ZOOM H2N.

}}}


{{{
# sample DarkIce configuration file, edit for your needs before using
# see the darkice.cfg man page for details

# this section describes general aspects of the live streaming session
[general]
duration = 0 # duration of encoding, in seconds. 0 means forever
bufferSecs = 5 # size of internal slip buffer, in seconds
reconnect = yes # reconnect to the server(s) if disconnected

# this section describes the audio input that will be streamed
[input]
device = hw:1,0 # ZOOM H2N usb, vedi con aplay -l
sampleRate = 44100 # sample rate in Hz. try 11025, 22050 or 44100
bitsPerSample = 16 # bits per sample. try 16
channel = 2 # channels. 1 = mono, 2 = stereo

# this section describes a streaming connection to an IceCast2 server
# there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7]
# these can be mixed with [icecast-x] and [shoutcast-x] sections
[icecast2-0]
bitrateMode = cbr # avr=average bit rate
format = mp3 #vorbis # format of the stream: ogg vorbis
bitrate = 24 # bitrate of the stream sent to the server
server = radio.dyne.org # host name of the server
port = 8000 # port of the IceCast2 server, usually 8000
password = peturio # source password to the IceCast2 server
mountPoint = rcyblive.mp3 # mount point of this stream on the IceCast2 server
name = Radio Cybernet LIVE # name of the stream
description = Live NOW! Shortwave Radio Listening
                          # description of the stream
#url =
                          # URL related to the stream
genre = live # genre of the stream
public = yes # advertise this stream?
localDumpFile = rcyb-cv.mp3
fileAddDate = yes

}}}


== Liquidsoap streaming for radiocybernet on zaverio.com ==

We installed liquidsoap:

{{{
apt-get install liquidsoap
}}}

The program we use is "stream.liq" in ~/radiocybernet:

{{{
#!/usr/bin/liquidsoap
# Log dir
set("log.file.path","/home/asbesto/radiocybernet/streaming.log")

# local telnet server only, port 1234
set("server.telnet", true)

# Music
myplaylist = playlist("~/radiocybernet/playlist.m3u",reload_mode="watch")

# Some jingles
jingles = playlist("~/radiocybernet/jingles.m3u",reload_mode="watch")

# If something goes wrong, we'll play this
security = single("~/radiocybernet/alfacharlie.mp3")

# Start building the feed with music
radio = myplaylist
# Now add some jingles
radio = random(weights = [1, 4],[jingles, radio])
# And finally the security
radio = fallback(track_sensitive = false, [radio, security])

# Stream it out
output.icecast(%mp3,
  host = "radio.dyne.org", port = 8000,
  password = "bactrim", mount = "rcyb.mp3",
  icy_metadata="true",
  genre = "Live",
  description = "Historical Broadcast live 24/7 - Multilingual - WARNING, can contain STRONG ITALIAN LANGUAGE, MAYBE NSFW ",
  name = "Radio Cybernet - Online since 1997",
  url = "http://www.radiocybernet.org",
  audio_to_stereo(radio))
}}}

Main playlist is there, you also have jingles and the security mp3 if something fail. random weights control jingles.

audio_to_stereo reencode weird mp3 formats on the fly so everything work smooth!

Just add a list of MP3 somewhere, create a playlist, and that's all!

TELNET server (local only) is useful but kinda tricky.

== TODO ==

 * add automatic live insertion to the playlist above
 * ... check random playing (now is random) or sequential playing...

== Tricks ==

Liquidsoap use MP3 id tag as titles etc. - If mp3 doesn't have tags, nothing will be display. So you MUST describe any mp3 in id tags. We used eye3D tool for that - very useful: eye3D -t title mp3.

REALAUDIO FILES to mp3 - must be converted. ffmpeg does this. GOOGLE THAT

TO BE EXPANDED


= OLD CONFIGS HERE - Software used =

Line 11: Line 174:
== Software used ==
Line 28: Line 190:
This is only the mountpoint configuration.
{{{
<!-- asbesto, radiocybernet -->

<mount>
        <mount-name>/rcyb.mp3</mount-name>

# NOTE: the INTRO path is relative to the icecast2 web interface!!!
            <intro>radiocybernet/intro.mp3</intro>

            <max-listeners>1000</max-listeners>
            <fallback-mount>/radiocybernet-oldies.mp3</fallback-mount>
            <fallback-override>1</fallback-override>
            <fallback-when-full>1</fallback-when-full>
</mount>
                                
# FALLBACK STREAM: old recordings or ambient sounds: sea, trees, forests...
<mount>
        <mount-name>/radiocybernet-oldies.mp3</mount-name>
        <max-listeners>1000</max-listeners>
        <hidden>0</hidden>
</mount>
}}}
Please check IcecastServer ;)
Line 67: Line 207:
        -s radio.dyne.org:8000 -m rcyb.mp3 -U source -p revolution \         -s radio.dyne.org:8000 -m rcyb.mp3 -U source -p peturio \
Line 114: Line 254:
password = revolution # source password to the IceCast2 server password = peturio # source password to the IceCast2 server
Line 148: Line 288:
device = hw:0,0      # ALSA soundcard device
     #(hw:1,0 in case of the cadaver of pulseaudio in the way)
device = default # hw:0,0 # ALSA soundcard device
                          #(hw:1,0 in case of the cadaver of pulseaudio in the way)
                          # DEFAULT works!
Line 162: Line 304:
password = revolution # source password to the IceCast2 server password = peturio # source password to the IceCast2 server
Line 177: Line 319:
[icecast2-1] # Note is icecast2 sezione di configurazione numero 1 [icecast2-1]
# Note is icecast2 sezione di configurazione numero 1
Line 184: Line 327:
password = revolution # source password to the IceCast2 server password = petacci # source password to the IceCast2 server
Line 189: Line 332:
Line 220: Line 362:
==== ID3 tag, titles etc ====

to do

{{{
  501 apt-cache search id3
  502 apt-get install id3
  503 id3
  504 id3 radiocybernet.mp3
  505 id3 -v radiocybernet.mp3
  506 id3 -l radiocybernet.mp3
  507 eyeD3 radiocybernet.mp3
  508 id3 -l radiocybernet.mp3
  509 id3 radiocybernet.mp3
  510 id3 radiocybernet.mp3
  511 man id3
  512 id3 -l title radiocybernet.mp3
  513 id3 -l radiocybernet.mp3
  514 eyeD3 radio
  515 eyeD3 radiocybernet.mp3
  516 apt-get install soxi
  517 apt-get install sox
  518 soxi
  519 soxi radiocybernet.mp3
  520 apt-get install libsox-fmt-mp3
  521 soxi radiocybernet.mp3
  522 history
}}}

Line 221: Line 393:


-----
CategoryMuseo

(!) {OK} {OK} (!)

Streaming Radio Howto

by Asbesto, CORONAVIRUS EDITION 11/3/2020

SINK HOLE NEL CULO

DA UTENTE:

pactl load-module module-null-sink sink_name=Radio sink_properties="device.description='Radio'"

dovrebbe creare un LAVANDINO Radio. NON SO A COSA SERVE: VEDI https://zackhobson.com/2020/05/26/internet-radio-pulseaudio-darkice-icecast/

non so come ma se setto device = pulse dentro darkice, strimma quel che esce dal mixer audio quindi anche il dsp out mp3 porcodio gqrx merda

DARKICE setup on vtroglos etc

What device to use?

Use "aplay -l" to get a list of the devices on your system. The hw:X,Y comes from this mapping of your hardware -- in this case, X is the card number, while Y is the device number.

root@rover:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: H2n [H2n], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
root@rover:~#

card 1 is the ZOOM H2N.

# sample DarkIce configuration file, edit for your needs before using
# see the darkice.cfg man page for details

# this section describes general aspects of the live streaming session
[general]
duration        = 0        # duration of encoding, in seconds. 0 means forever
bufferSecs      = 5         # size of internal slip buffer, in seconds
reconnect       = yes       # reconnect to the server(s) if disconnected

# this section describes the audio input that will be streamed
[input]
device          = hw:1,0    # ZOOM H2N usb, vedi con aplay -l
sampleRate      = 44100     # sample rate in Hz. try 11025, 22050 or 44100
bitsPerSample   = 16        # bits per sample. try 16
channel         = 2         # channels. 1 = mono, 2 = stereo

# this section describes a streaming connection to an IceCast2 server
# there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7]
# these can be mixed with [icecast-x] and [shoutcast-x] sections
[icecast2-0]
bitrateMode     = cbr       # avr=average bit rate
format          = mp3 #vorbis    # format of the stream: ogg vorbis
bitrate         = 24        # bitrate of the stream sent to the server
server          = radio.dyne.org        # host name of the server
port            = 8000      # port of the IceCast2 server, usually 8000
password        = peturio    # source password to the IceCast2 server
mountPoint      = rcyblive.mp3  # mount point of this stream on the IceCast2 server
name            = Radio Cybernet LIVE # name of the stream
description     = Live NOW! Shortwave Radio Listening
                          # description of the stream
#url             =
                          # URL related to the stream
genre           = live    # genre of the stream
public          = yes     # advertise this stream?
localDumpFile   = rcyb-cv.mp3
fileAddDate     = yes

Liquidsoap streaming for radiocybernet on zaverio.com

We installed liquidsoap:

apt-get install liquidsoap

The program we use is "stream.liq" in ~/radiocybernet:

# Log dir
set("log.file.path","/home/asbesto/radiocybernet/streaming.log")

# local telnet server only, port 1234
set("server.telnet", true)

# Music
myplaylist = playlist("~/radiocybernet/playlist.m3u",reload_mode="watch")

# Some jingles
jingles = playlist("~/radiocybernet/jingles.m3u",reload_mode="watch")

# If something goes wrong, we'll play this
security = single("~/radiocybernet/alfacharlie.mp3")

# Start building the feed with music
radio = myplaylist
# Now add some jingles
radio = random(weights = [1, 4],[jingles, radio])
# And finally the security
radio = fallback(track_sensitive = false, [radio, security])

# Stream it out
output.icecast(%mp3,
  host = "radio.dyne.org", port = 8000,
  password = "bactrim", mount = "rcyb.mp3",
  icy_metadata="true",
  genre = "Live",
  description = "Historical Broadcast live 24/7 - Multilingual - WARNING, can contain STRONG ITALIAN LANGUAGE, MAYBE NSFW ",
  name = "Radio Cybernet - Online since 1997",
  url = "http://www.radiocybernet.org",
  audio_to_stereo(radio))

Main playlist is there, you also have jingles and the security mp3 if something fail. random weights control jingles.

audio_to_stereo reencode weird mp3 formats on the fly so everything work smooth!

Just add a list of MP3 somewhere, create a playlist, and that's all!

TELNET server (local only) is useful but kinda tricky.

TODO

  • add automatic live insertion to the playlist above
  • ... check random playing (now is random) or sequential playing...

Tricks

Liquidsoap use MP3 id tag as titles etc. - If mp3 doesn't have tags, nothing will be display. So you MUST describe any mp3 in id tags. We used eye3D tool for that - very useful: eye3D -t title mp3.

REALAUDIO FILES to mp3 - must be converted. ffmpeg does this. GOOGLE THAT

TO BE EXPANDED

OLD CONFIGS HERE - Software used

by Asbesto & Fruity - Dyne.org, Freaknet.org, Radiocybernet.org, Poetry Hacklab

TCPC9, Palazzolo Acreide, Oct 4, 2009

Server side:

Client side:

Configurations

Server side

Icecast 2

Please check IcecastServer ;)

Client side

VLC

(to be added)

MuSE

Command line streaming tool "Strimma" by Asbesto

echo "strimma v0.1 (c) 2002 Gabriele Zaverio (asbesto@freaknet.org)"
muse -e mp3 -o -C -b 16 -q 4 -i \
     -f rcyb-`date +%d%b%Y-%H%M%S`.mp3 \
        -s radio.dyne.org:8000 -m rcyb.mp3 -U source -p peturio \
        -n radiocybernet_LIVE_NOW

#        -s indivia.net:8000 -m rcyb -p xxxxxx \
#        -n radiocybernet_HACKIT2005_NAPOLI \
# questo per strimmare su 2 server contemporaneamente analmente hackit03

(work in progress)

Darkice config file

This is the config file for darkice under Linux, to stream on radio.dyne.org, use darkice as darkice -c darkice.cfg where darkice.cfg is the configuration file:

With OSS (OLD :-? Open Sound System)

Control permissions and existance of /dev/dsp dsp1 dsp2, dependently from how many audio cards you have. Tri gom or aumix to control the mixer settings.

# sample DarkIce configuration file, edit for your needs before using
# see the darkice.cfg man page for details

# this section describes general aspects of the live streaming session
[general]
duration        = 0        # duration of encoding, in seconds. 0 means forever
bufferSecs      = 5         # size of internal slip buffer, in seconds
reconnect       = yes       # reconnect to the server(s) if disconnected

# this section describes the audio input that will be streamed
[input]
device          = /dev/dsp  # OSS DSP soundcard device for the audio input
sampleRate      = 22050     # sample rate in Hz. try 11025, 22050 or 44100
bitsPerSample   = 16        # bits per sample. try 16
channel         = 1         # channels. 1 = mono, 2 = stereo

# this section describes a streaming connection to an IceCast2 server
# there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7]
# these can be mixed with [icecast-x] and [shoutcast-x] sections
[icecast2-0]
bitrateMode     = cbr       # avr=average bit rate
format          = mp3 #vorbis    # format of the stream: ogg vorbis
bitrate         = 32        # bitrate of the stream sent to the server
server          = radio.dyne.org
                            # host name of the server
port            = 8000      # port of the IceCast2 server, usually 8000
password        = peturio    # source password to the IceCast2 server
mountPoint      = rcyb.mp3  # mount point of this stream on the IceCast2 server
name            = Radio Cybernet
                            # name of the stream
description     = Test from tcpc9
                            # description of the stream
url             = http://www.radiocybernet.org
                            # URL related to the stream
genre           = live    # genre of the stream
public          = yes       # advertise this stream?
localDumpFile   = rcyb.mp3
fileAddDate     = yes

With ALSA

Control that there is an audio card with aplay -l and always control that you are part of group audio ( or be root )

NOTE

{i}{X}X-({X}{i}

On ubuntu ( and on debian to be tried ) pulseaudio take over hw:0,0 so your audiocard will be hw:1,0 (blarg...). There must be a more gently way of killing pulseaudio and clearing this naming issue... to be investigated :)

# sample DarkIce configuration file, edit for your needs before using
# see the darkice.cfg man page for details

# this section describes general aspects of the live streaming session
[general]
duration        = 0        # duration of encoding, in seconds. 0 means forever
bufferSecs      = 5         # size of internal slip buffer, in seconds
reconnect       = yes       # reconnect to the server(s) if disconnected

# this section describes the audio input that will be streamed
[input]
device          = default # hw:0,0 # ALSA soundcard device 
                          #(hw:1,0 in case of the cadaver of pulseaudio in the way)
                          # DEFAULT works!

sampleRate      = 22050     # sample rate in Hz. try 11025, 22050 or 44100
bitsPerSample   = 16        # bits per sample. try 16
channel         = 1         # channels. 1 = mono, 2 = stereo

# mp3
[icecast2-0]
bitrateMode     = cbr       # avr=average bit rate
format          = mp3      # format of the stream: ogg vorbis
bitrate         = 32        # bitrate of the stream sent to the server
server          = radio.dyne.org
                            # host name of the server
port            = 8000      # port of the IceCast2 server, usually 8000
password        = peturio    # source password to the IceCast2 server
mountPoint      = rcyb.mp3  # mount point of this stream on the IceCast2 server
name            = Radio Cybernet
                            # name of the stream
description     = Test from tcpc9

                            # description of the stream
url             = http://www.radiocybernet.org
                            # URL related to the stream
genre           = live    # genre of the stream
public          = yes       # advertise this stream?
localDumpFile   = rcyb.mp3  # backup locally
fileAddDate     = yes       # add date to filename

# ogg
[icecast2-1] 
# Note is icecast2 sezione di configurazione numero 1
bitrateMode     = cbr       # avr=average bit rate
format          = vorbis    # format of the stream: ogg vorbis mp3
bitrate         = 32        # bitrate of the stream sent to the server
server          = radio.dyne.org
                            # host name of the server
port            = 8000      # port of the IceCast2 server, usually 8000
password        = petacci    # source password to the IceCast2 server
mountPoint      = rcyb.ogg  # mount point of this stream on the IceCast2 server
name            = Radio Cybernet
                            # name of the stream
description     = Test from tcpc9
                            # description of the stream
url             = http://www.radiocybernet.org
                            # URL related to the stream
genre           = live    # genre of the stream
public          = yes       # advertise this stream?
localDumpFile   = rcyb.ogg
fileAddDate     = yes

Control the mixer with alsamixer ( alsamixer -c1 in case of pulseaudio cadaver )

alsamixer-card-fullduplex.png

In alsamixer press the [tab] button on your keyboard to go to the input capture view:

alsamixer-capture-volumes-view-1.png

Don't put the capture volume at max or you will get poor quality audio, if your terminal supports colors keep it under the red bar :), in amixergui or thing like that keep the capture volume 2/3 of the max volume.

With the arrows you can cross the input channels, put the capture on the -mix- by pressing the space bar and then set the volumes of the outputs ( again [tab] to switch back to the outputs volumes views) as you wish.

If you plan to use a player like mplayer or audacious or xmms remember to set them to use Master as volume and not PCM otherwise with the music you will take down also mikes line-in cd and what-sallamadonna-not , best to set them on software volume control ( -softvol for mplayer )

Hardware

Microphones

Other stuff

ID3 tag, titles etc

to do

  501  apt-cache search id3
  502  apt-get install id3
  503  id3
  504  id3 radiocybernet.mp3
  505  id3 -v radiocybernet.mp3
  506  id3 -l radiocybernet.mp3
  507  eyeD3 radiocybernet.mp3
  508  id3 -l radiocybernet.mp3
  509  id3  radiocybernet.mp3
  510  id3  radiocybernet.mp3
  511  man id3
  512  id3 -l title radiocybernet.mp3
  513  id3 -l radiocybernet.mp3
  514  eyeD3  radio
  515  eyeD3  radiocybernet.mp3
  516  apt-get install soxi
  517  apt-get install sox
  518  soxi
  519  soxi radiocybernet.mp3
  520  apt-get install libsox-fmt-mp3
  521  soxi radiocybernet.mp3
  522  history

Tip'n tricks


CategoryMuseo

StreamingRadioHowto (last edited 2023-12-08 10:42:02 by asbesto)