关键是要有物理隔音的手段,例如遮音板。或者一个吸音的小房间, 例如衣柜, 四周挂上棉被来吸音。
如果没有这些条件, 不妨用灵敏度低的心型指向的动圈话筒, 例如 SHURE SM58.
如果确实经济条件受限制, 用手机的耳机麦也是可以的。俺测试过一元店的耳机,录制语音的效果也是可以接受的。
如果手头比较宽裕, ZOOM H6N PRO 这样的场地录音机有麦克风赠送, 1000~2000 人民币就搞掂了。 同时这个 ZOOM H6N PRO 场地录音机本身也是个 USB 声卡, 可以直接接上电脑当音频界面。
俺买了这样的一个 ZOOM H6N PRO 场地录音机录制上课的音频。
************************* 如果要求十分高, 那就买这个样子的。可以搭配场地录音机使用, 或者 USB 音频接口(需要+48伏幻象供电)使用
*** 如果这个价钱太贵, 不妨上咸鱼或者 1688 刷一些便宜的
***** 如果成品太贵, 可以自己搭木头架子, 钉上吸音棉
***** 如果成品太贵, 可以自己搭木头架子, 钉上吸音棉
电脑软件有免费的 AUDACITY。
俺自己也写了一个免费的录音软件。
连源代码一起送给您。
代码亲测可用, 放心复制粘贴。
做好的软件, 可以在这里下载:
https:// wenxue.ca/wp-content/up loads/2020/08/laomaiREC_Portable.zip
https://wenxue.ca/wp-content/uploads/2020/08/laomaiREC_Portable.zip
Windows XP x86 版本
https:// wenxue.ca/wp-content/up loads/2020/08/VoiceREC01__portable_x86.zip
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的读者赞同俺的观点。”