百科问答小站 logo
百科问答小站 font logo



录制有声书,用什么麦克风好? 第1页

  

user avatar   mai-wen-xue-67 网友的相关建议: 
      

关键是要有物理隔音的手段,例如遮音板。或者一个吸音的小房间, 例如衣柜, 四周挂上棉被来吸音。

如果没有这些条件, 不妨用灵敏度低的心型指向的动圈话筒, 例如 SHURE SM58.

如果确实经济条件受限制, 用手机的耳机麦也是可以的。俺测试过一元店的耳机,录制语音的效果也是可以接受的。




如果手头比较宽裕, ZOOM H6N PRO 这样的场地录音机有麦克风赠送, 1000~2000 人民币就搞掂了。 同时这个 ZOOM H6N PRO 场地录音机本身也是个 USB 声卡, 可以直接接上电脑当音频界面。

俺买了这样的一个 ZOOM H6N PRO 场地录音机录制上课的音频。




************************* 如果要求十分高, 那就买这个样子的。可以搭配场地录音机使用, 或者 USB 音频接口(需要+48伏幻象供电)使用


*** 如果这个价钱太贵, 不妨上咸鱼或者 1688 刷一些便宜的

***** 如果成品太贵, 可以自己搭木头架子, 钉上吸音棉

***** 如果成品太贵, 可以自己搭木头架子, 钉上吸音棉








电脑软件有免费的 AUDACITY。





俺自己也写了一个免费的录音软件。

连源代码一起送给您。



C# 怎么用几行代码录制CD音质的声音 record CD quality audio in C#


代码亲测可用, 放心复制粘贴。

做好的软件, 可以在这里下载:

wenxue.ca/wp-content/up



       https://wenxue.ca/wp-content/uploads/2020/08/laomaiREC_Portable.zip     

Windows XP x86 版本

wenxue.ca/wp-content/up

       https://wenxue.ca/wp-content/uploads/2020/08/VoiceREC01__portable_x86.zip     



如果您很不喜欢学编程,那就直接拿去用就是了。

俺把它当留言钟, 或者教孩子学中文学英语的工具。俺不喜欢系统自带的录音机,既臃肿, 音质又差。

**备注: 在 FEDORA 32 + WINE 的环境下也能使用, 尽管会有出错提示, 仍然可以录制到不错的声音。






       using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.IO; using System.Media; //using System.Windows.Media;   namespace easyREC  {      public partial class Form1 : Form     {         private System.Media.SoundPlayer myPlayer = new SoundPlayer();         [DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = CharSet.Auto)]         public static extern int mciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, IntPtr HwndCallback);         string ps_SoundLocation = Directory.GetCurrentDirectory();        [DllImport("winmm.dll", EntryPoint = "PlaySound")]        public static extern int PlaySound(string lpxzName, int hModul, int dwFlags);           public Form1()         {             InitializeComponent();         }          private void buttonREC_Click(object sender, EventArgs e)         {             int lu_errcode;             int lu_cch = 0;             richTextBox1.Text = "";              mciSendString("stop WaveDump" + "", "", 0, IntPtr.Zero);             string lsb_ret = "";                          richTextBox1.Text += "
" + lsb_ret + "
";             timer1.Enabled = true;             buttonPLAY.Visible = false;             buttonSTOP.Visible = true;             buttonSTOP.Enabled = true;             string ls_mciRetV = "";              Global.gdt_begin = DateTime.Now;              try             {                   mciSendString("open new type waveaudio alias WaveDump", ls_mciRetV, 0, IntPtr.Zero);                 // 切换不同的采样参数                      mciSendString("set WaveDump time format ms bitspersample 16 channels 1 samplespersec 44100 bytespersec 88200 alignment 2", ls_mciRetV, 0, IntPtr.Zero); //Working Great                 lu_errcode = mciSendString("record WaveDump", ls_mciRetV, 0, IntPtr.Zero);                 this.Text = "Recording..." + ls_mciRetV;                  if (lu_errcode != 0)                 {                     richTextBox1.Text += "
" + lsb_ret + "
";                 }                 else                 {                     richTextBox1.Text += "
" + lu_errcode.ToString() + " error(s). 
";                 }              }             catch (Exception ex)             {                 MessageBox.Show(ex.Message, "WTF, not my fault, Man...");             }             buttonREC.BackColor = System.Drawing.Color.Pink; // "red";             buttonSTOP.BackColor = SystemColors.Control;          }          private void buttonSTOP_Click(object sender, EventArgs e)         {              buttonREC.BackColor = SystemColors.Control;             buttonREC.Enabled = false;             int lu_errcode;             int lu_cch = 0;             string lsb_ret = "";              try             {                 lu_errcode = mciSendString("pause WaveDump", "", 0, IntPtr.Zero);                 this.Text = "Stopped.";                 richTextBox1.Text += "
" + lsb_ret + "
";              }             catch (Exception ex)             {                 MessageBox.Show(ex.Message, "BLAHHH...");             }              Global.gdt_end = DateTime.Now;             buttonSTOP.BackColor = System.Drawing.Color.Gray; // "red";             string timestamp = "_" + Global.gdt_begin.ToString().Replace(" ", "_").Replace(":", "t").Replace("/", "-") + "_till_" + Global.gdt_end.ToString().Replace(":", "t").Replace("/", "-").Replace(" ", "_") + "_.wav";                 ps_SoundLocation = Directory.GetCurrentDirectory() + "\" + timestamp;                 mciSendString("save WaveDump " + ps_SoundLocation, "", 0, IntPtr.Zero);                 mciSendString("close WaveDump", "", 0, IntPtr.Zero);              richTextBox1.Text += "
"+ ps_SoundLocation + " <-- Paste the PATH by CTRL-V.";             this.Text = "Saved to " + ps_SoundLocation + " <-- The Path ";                          Global.gdt_begin = DateTime.Now;  // next episode              buttonREC.Enabled = true;             buttonSTOP.Enabled = false;             buttonPLAY.Visible = true;             buttonPLAY.Enabled = true;             Clipboard.SetText(ps_SoundLocation);         }          private void buttonPLAY_Click(object sender, EventArgs e)         {             int lu_errcode = 1;             string  lsb_ret = "";             int lu_cch = 0;             try             {                 mciSendString("stop" + "", "", 0, IntPtr.Zero);             }             catch (Exception ex)             {                 MessageBox.Show(ex.Message, "Trying to play, but ....");             }              if (ps_SoundLocation == Directory.GetCurrentDirectory() | ps_SoundLocation == "" | ps_SoundLocation.Length > 120)             {                 OpenFileDialog open = new OpenFileDialog();                 open.Filter = "Wave|*.wav";                 if (open.ShowDialog() == DialogResult.OK) { ps_SoundLocation = open.FileName; }                 PlaySound(ps_SoundLocation, 0, 0x1);             }             else             {                 try                 {                     buttonPLAY.BackColor = System.Drawing.Color.Green;                     lu_errcode = mciSendString("play " + ps_SoundLocation, "", 0, IntPtr.Zero);                     this.Text =  "Playing: " + ps_SoundLocation ;                     if (lu_errcode != 0)                     {                         richTextBox1.Text += "
" + lsb_ret + " " + lu_cch.ToString() + " char(s).  " + "
";                     }                     else                     {                         richTextBox1.Text += "
 
 " + lu_errcode.ToString() + " error(s)." + " " + lu_cch.ToString() + " char(s).  " + " 
";                         richTextBox1.Text += "
" + "Playing: " + ps_SoundLocation;                     }                  }                 catch (Exception ex)                 {                     MessageBox.Show(ex.Message, "Error !!! ....");                 }              }              buttonPLAY.BackColor = SystemColors.Control;             buttonREC.BackColor = SystemColors.Control;             buttonSTOP.BackColor = SystemColors.Control;         }          private void timer1_Tick(object sender, EventArgs e)         {             this.Text = "Message Left in the textbox! " + " Time is: " + DateTime.Now.ToString() + "." + DateTime.Now.Millisecond.ToString();         }          private void Form1_Load(object sender, EventArgs e)         {             buttonPLAY.Visible = false;             buttonSTOP.Visible = false;          }          private void Form1_FormClosed(object sender, FormClosedEventArgs e)         {             timer1.Enabled = false;         }          public static class Global     {          public static string gs_clipurl = null;         public static string gs_clippath = "c:\"; //  C:*******inDebug          ////DateTime.Now         public static DateTime gdt_begin = DateTime.Now;         public static DateTime gdt_end = DateTime.Now;     }              }     }  }     



////////////////////////////////////

俺知乎阅读总量只有 9000万,没跨出一小步 (n<1亿)。俺的回答您当笑话看看就算了, 别太当真, 不然会被贴吧网友耻笑。


“老麦, 大家都说你是笑话、论坛孤儿和神棍。”

“没错。 只有万分之0.5的读者赞同俺的观点。”




  

相关话题

  为什么在喜马拉雅听不到周建龙的盗墓笔记了?在哪儿还可以听到? 
  为什么在喜马拉雅听不到周建龙的盗墓笔记了?在哪儿还可以听到? 
  家庭房间录人声在500-800hz有闷罐声(类似纸杯电话)的原因是什么,要怎样解决? 
  业余录音如何选择合适的话筒? 
  在压力场中,自由场和压力场麦克风测出的声压有区别吗? 
  高质量的广播剧有哪些推荐? 
  如何从零基础开始学习录音? 
  认同麦文学理念的人可以玩器材吗。同理,器材党可以接受麦文学的理念吗? 
  在压力场中,自由场和压力场麦克风测出的声压有区别吗? 
  如何解决Ground Loop造成的噪声问题? 

前一个讨论
我的孩子一年级期中考试倒数,我要怎么正确看待?
下一个讨论
孩子算数必须要扳手指,不然不会算,有什么办法或者有哪些教育小孩计算的书推荐吗?





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利